2012-07-15 14 views
5

He instalado un PostgreSQL a través de Homebrew y después de un accidente que no puedo iniciar el servidor ya ..No se puede iniciar Homebrew PostgreSQL instalar en Mac OS X - "Permiso denegado"

si hago

$ pg_ctl start 

consigo

pg_ctl: no database directory specified and environment variable PGDATA unset 

Si hago

$ pg_ctl -D /Library/PostgreSQL/data start 

me sale

pg_ctl: could not open PID file "/Library/PostgreSQL/data/postmaster.pid": Permission denied 

Todo estaba funcionando muy bien y luego .. de la nada, esto.

La carpeta de datos anteriores indican permisos en "Todo" para el usuario postgres y "Ninguno" para todo el mundo ..

trayectoria se ve bien (en mi ~/.bash_profile)

export PATH=/usr/local/bin:$PATH 
+0

Sorprendido de que esto se cerró, en lugar de moverlo a apple.stackexchange.com o dba.stackexchange.com. –

Respuesta

6

Cuando primero comenzó Pg, ¿dejaste que homebrew lo iniciara por ti, o lo comenzaste manualmente con pg_ctl? Lo pregunto porque supongo que probablemente deba iniciar y detener Pg usando scripts caseros y/o usando launchd en lugar de hacerlo directamente a través del pg_ctl. No uso homebrew (o Mac OS X mucho) pero una búsqueda rápida sugiere que las instalaciones homebrew de Pg generalmente se inician y se detienen a través de launchd y ~/Library/LaunchAgents/org.postgresql.postgres.plist.

Si desea administrar de forma manual:

lo que el usuario no homebrew que generalmente se ejecuta como PostgreSQL? Si está iniciando Pg a través del pg_ctl, necesita ejecutarlo como el usuario correcto. De la memoria vaga de otra discusión que he visto sobre homebrew aquí, es probable que sea un usuario llamado postgres o postgres_. Vuelva a comprobar usando:

ls -ld /Library/PostgreSQL/data 

y ver lo que el usuario propietario es, a continuación, ejecute:

sudo -u postgres_ pg_ctl -D /Library/PostgreSQL/data start 

... reemplazando "postgres_" con el dueño de la datadir.

Sospecho que el motivo por el que recibe errores de permisos es que probablemente no aplicó los cambios de forma recursiva. Por favor no; ejecuta Pg como el usuario correcto en su lugar.

Cuestiones relacionadas