J'ai besoin d'exécuter ma deuxième instance postgresql lorsque linux démarre. J'ai ajouté cette commande (comme dans la documentation postgresql) dans rc.local:
/usr/lib/postgresql/9.1/bin/pg_ctl start -l logfile -D /var/lib/postgresql/9.1/main2
Mais si j'essaie d'exécuter pg_ctl:
cannot be run as root Please log in (using, eg, "su") as the (unprivileged) user that will own the server process. t, it gives me this error:
Comment puis-je spécifier pour exécuter cette commande en tant que postgres, mais l'exécuter en fait avec root (parce que root possède).
Ou est-ce qu'il y a un meilleur moyen de créer un deuxième script d'init pour postgresql?
PS (j'utilise Ubuntu)
Si vous êtes sur Ubuntu, ce que vous semblez être, vous n'avez pas à en rouler.
Lisez les documents pour pg_ctlcluster
, pg_createcluster
, pg_lsclusters
. Ceux-ci font partie du paquet pg_wrapper
pour Ubuntu, qui fournit la gestion de plusieurs instances et des versions intégrées.