diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-11-17 12:46:52 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-11-17 12:46:52 -0500 |
commit | ac3b9626812b1dd1482ec201711f26af733800f9 (patch) | |
tree | 72073a23800bb13c737493ec80a028bcc0ba58d5 /contrib/start-scripts/macos/postgres-wrapper.sh | |
parent | e87d4965bd39e4d0d56346c1bbe9361d3eb9ff0a (diff) | |
download | postgresql-ac3b9626812b1dd1482ec201711f26af733800f9.tar.gz postgresql-ac3b9626812b1dd1482ec201711f26af733800f9.zip |
Provide modern examples of how to auto-start Postgres on macOS.
The scripts in contrib/start-scripts/osx don't work at all on macOS
10.10 (Yosemite) or later, because they depend on SystemStarter which
Apple deprecated long ago and removed in 10.10. Add a new subdirectory
contrib/start-scripts/macos with scripts that use the newer launchd
infrastructure.
Since this problem is independent of which Postgres version you're using,
back-patch to all supported branches.
Discussion: https://postgr.es/m/31338.1510763554@sss.pgh.pa.us
Diffstat (limited to 'contrib/start-scripts/macos/postgres-wrapper.sh')
-rw-r--r-- | contrib/start-scripts/macos/postgres-wrapper.sh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/contrib/start-scripts/macos/postgres-wrapper.sh b/contrib/start-scripts/macos/postgres-wrapper.sh new file mode 100644 index 00000000000..3a4ebdaf0fb --- /dev/null +++ b/contrib/start-scripts/macos/postgres-wrapper.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# PostgreSQL server start script (launched by org.postgresql.postgres.plist) + +# edit these as needed: + +# directory containing postgres executable: +PGBINDIR="/usr/local/pgsql/bin" +# data directory: +PGDATA="/usr/local/pgsql/data" +# file to receive postmaster's initial log messages: +PGLOGFILE="${PGDATA}/pgstart.log" + +# (it's recommendable to enable the Postgres logging_collector feature +# so that PGLOGFILE doesn't grow without bound) + + +# set umask to ensure PGLOGFILE is not created world-readable +umask 077 + +# wait for networking to be up (else server may not bind to desired ports) +/usr/sbin/ipconfig waitall + +# and launch the server +exec "$PGBINDIR"/postgres -D "$PGDATA" >>"$PGLOGFILE" 2>&1 |