Bonjour,
Je souhaiterais que mon serveur postgres démarre en même temps que ma session et surtout qu'il s'arrête proprement quand l'ordinateur doit redémarrer.
J'ai trouvé des moyens de le faire qui recommandent l'emploi de launchd, mais voilà ça ne marche pas !
Mon serveur postgres est compilé par fink donc dans /sw, c'est la dernière version à ce jour 8.3.1
Je le démarre à la main de cette manière :
et j'ai crée dans le dossier /Library/LaunchDaemons/ le fichier .plist suivant en me basant sur divers info du net:
Quelqu'un voit-il ce qui cloche ?
Les droits du fichier .plist sont bons et quand je lance le service "à la main"
, je n'ai aucun message d'erreur, mais le serveur ne démarre pas.
Remarque, j'ai aussi essayé de lancer postmaster au lieu de pg_ctl car il paraît que launchd n'aime pas les process qui forkent et quittent, ce qui semble être le cas de pg_ctl, mais ça ne marche pas plus. Je peux aussi fournir le fichier .plist correspondant si besoin.
Quelqu'un a-t-il réussi à avoir un serveur postgres qui démarre et s'arrête en même temps que l'ordinateur ?
Je souhaiterais que mon serveur postgres démarre en même temps que ma session et surtout qu'il s'arrête proprement quand l'ordinateur doit redémarrer.
J'ai trouvé des moyens de le faire qui recommandent l'emploi de launchd, mais voilà ça ne marche pas !
Mon serveur postgres est compilé par fink donc dans /sw, c'est la dernière version à ce jour 8.3.1
Je le démarre à la main de cette manière :
Bloc de code:
sudo -u postgres /sw/bin/pg_ctl -D /sw/var/postgresql-8.3/data -l /sw/var/postgresql-8.3/logfile.log
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>GroupName</key>
<string>postgres</string>
<key>Label</key>
<string>org.postgresql.PostgreSQL</string>
<key>OnDemand</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>-u</string>
<string>postgres</string>
<string>/sw/bin/pg_ctl</string>
<string>-D</string>
<string>/sw/var/postgresql-8.3/data/</string>
<string>-l</string>
<string>/sw/var/postgresql-8.3/logfile.log</string>
<string>start</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>PostgreSQL Server</string>
<key>UserName</key>
<string>postgresql-8.3</string>
</dict>
</plist>
Les droits du fichier .plist sont bons et quand je lance le service "à la main"
Bloc de code:
sudo launchctl load /Library/LaunchDaemons/org.postgresql.PostgreSQL.plist
sudo launchctl start org.postgresql.PostgreSQL
Remarque, j'ai aussi essayé de lancer postmaster au lieu de pg_ctl car il paraît que launchd n'aime pas les process qui forkent et quittent, ce qui semble être le cas de pg_ctl, mais ça ne marche pas plus. Je peux aussi fournir le fichier .plist correspondant si besoin.
Quelqu'un a-t-il réussi à avoir un serveur postgres qui démarre et s'arrête en même temps que l'ordinateur ?