To start a new Postgres version as Daemon you need to follow these commands. For first, unload current version (if available):
sudo launchctl unload /Library/LaunchDaemons/org.postgresql.dbms.plist |
sudo launchctl unload /Library/LaunchDaemons/org.postgresql.dbms.plist
Edit theĀ org.postgresql.dbms.plist (if not available, create a new one):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.postgresql.postgres</string>
<key>ProgramArguments</key>
<array>
<string>/Library/PostgreSQL/9.1/bin/postmaster</string>
<string>-D</string>
<string>/Library/PostgreSQL/9.1/data</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>_postgres</string>
</dict>
</plist> |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.postgresql.postgres</string>
<key>ProgramArguments</key>
<array>
<string>/Library/PostgreSQL/9.1/bin/postmaster</string>
<string>-D</string>
<string>/Library/PostgreSQL/9.1/data</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>_postgres</string>
</dict>
</plist>
Load new configuration:
sudo launchctl load /Library/LaunchDaemons/org.postgresql.dbms.plist |
sudo launchctl load /Library/LaunchDaemons/org.postgresql.dbms.plist
Before reboot your Mac you need to check if the folder data has the right permission:
sudo su - postgres
chmod 700 /Library/PostgreSQL/9.1/data |
sudo su - postgres
chmod 700 /Library/PostgreSQL/9.1/data
Reboot your Mac.
To manually start (and stop Postgres on MacOS), login as postgres and:
pg_ctl -D /Library/PostgreSQL/9.1/data -l logfile start
pg_ctl -D /Library/PostgreSQL/9.1/data -l logfile stop |
pg_ctl -D /Library/PostgreSQL/9.1/data -l logfile start
pg_ctl -D /Library/PostgreSQL/9.1/data -l logfile stop