sql >> Base de Datos >  >> RDS >> PostgreSQL

Problema de socket PostgreSQL Mountain Lion

Según el mensaje de error, psql comando que aparece primero en el $PATH tiene /tmp como el directorio de socket de Unix predeterminado codificado de forma rígida.

Dado que el directorio real es, de hecho, /var/pgsql_socket , debe decirlo explícitamente en lugar de confiar en el valor predeterminado:

$ psql -h /var/pgsql_socket [other options]

Lo mismo se aplica a otros comandos del lado del cliente como createdb , dropdb , createuser ...

Si no desea especificar -h cada vez, se puede poner en el PGHOST variable de entorno.

Algunas personas también resuelven esto usando conexiones TCP a localhost en lugar de utilizar el directorio de sockets de Unix.

La causa raíz de este problema sería que después de instalar PostgreSQL en Mac OS X, el sistema termina teniendo dos instancias diferentes del conjunto de clientes de postgres (el libpq biblioteca, psql y otras utilidades asociadas), una que se incluye con MacOS y la otra que viene con el instalador de PostgreSQL.

Por lo tanto, otro método más es cambiar su $PATH para que el psql instalado con PostgreSQL se elige antes que el instalado con el sistema (presumiblemente /usr/bin/psql ).