He logrado descifrar mi entorno de desarrollo local.
Todas mis aplicaciones locales de Rails ahora están dando el error:
PGError
could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
No tengo idea de qué causó esto.
Mientras buscaba una solución, actualicé todas las gemas incluidas, las gemas del sistema actualizadas, los MacPorts actualizados. Sin alegría.
Otros han informado de este problema al actualizar OSX Leopard a Lion, debido a la confusión sobre qué versión de Postgres debe usarse (es decir, la versión OSX o la versión MacPorts). He estado ejecutando Lion durante varios meses, por lo que parece extraño que esto ocurra ahora.
Soy reacio a perder el tiempo sin entender primero cuál es el problema. ¿Cómo puedo depurar esto metódicamente?
¿Cómo puedo determinar cuántas versiones de PostgreSQL hay en mi sistema, a cuál se accede y dónde se encuentra? ¿Cómo soluciono esto si se usa el PostgreSQL incorrecto?
Perdón por las preguntas novatas. ¡Todavía estoy aprendiendo cómo funciona esto! Gracias por cualquier puntero.
EDITAR
Algunas actualizaciones basadas en sugerencias y comentarios a continuación.
Traté de ejecutar pg_lsclusters
que devolvió un command not found
error.
Luego intenté localizar mi archivo pg_hba.conf y encontré estos tres archivos de muestra:
/opt/local/share/postgresql84/pg_hba.conf.sample
/opt/local/var/macports/software/postgresql84/8.4.7_0/opt/local/share/postgresql84/pg_hba.conf.sample
/usr/share/postgresql/pg_hba.conf.sample
¿Entonces supongo que hay instaladas 3 versiones de PSQL? Macports, OSX predeterminado y ???.
Luego busqué el script de inicio de launchctl ps -ef | grep postgres
que me devolvió
0 56 1 0 11:41AM ?? 0:00.02 /opt/local/bin/daemondo --label=postgresql84-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=none
500 372 1 0 11:42AM ?? 0:00.17 /opt/local/lib/postgresql84/bin/postgres -D /opt/local/var/db/postgresql84/defaultdb
500 766 372 0 11:43AM ?? 0:00.37 postgres: writer process
500 767 372 0 11:43AM ?? 0:00.24 postgres: wal writer process
500 768 372 0 11:43AM ?? 0:00.16 postgres: autovacuum launcher process
500 769 372 0 11:43AM ?? 0:00.08 postgres: stats collector process
501 4497 1016 0 12:36PM ttys000 0:00.00 grep postgres
He publicado el contenido de postgresql84-server.wrapper en http://pastebin.com/Gj5TpP62 .
Traté de correr port load postgresql184-server
pero recibí un error Error: Port postgresql184-server not found
.
Todavía estoy muy confundido sobre cómo solucionar esto, y aprecio cualquier puntero "para tontos".
¡Gracias!
EDIT2
Este problema comenzó después de que tuve algunos problemas con Daemondo. Mis aplicaciones locales de Rails se estaban bloqueando con un error de aplicación en la línea de "no se puede encontrar la joya daemondo". Luego revisé una serie de actualizaciones de paquetes, actualizaciones de gemas, actualizaciones de puertos y actualizaciones de preparación para tratar de encontrar el problema.
¿Podría este error ser un problema con Daemondo?
pg_lsclusters
y su pg_hba.conf
archivo.