servidor refused rechazada puerto pudo postgres instalar habilitar fichero existe directorio configurar conexión conectar con abrir 0x0000274d postgresql osx-snow-leopard homebrew

postgresql - rechazada - psql: no se pudo conectar con el servidor: connection refused



Error de PostgreSQL ''No se pudo conectar al servidor: no existe tal archivo o directorio'' (18)

Compruebe que no haya postmaster.pid en su directorio de postgres, probablemente /usr/local/var/postgres/

eliminar esto e iniciar el servidor.

Comprobar - https://github.com/mperham/lunchy es una gran envoltura para launchctl.

Como algunos otros, recibo este error cuando ejecuto rake db: migro en mi proyecto o incluso intento la mayoría de las tareas de la base de datos para mis aplicaciones de Ruby on Rails 3.2.

PGError (no se pudo conectar al servidor: no existe dicho archivo o directorio. ¿El servidor se ejecuta localmente y acepta conexiones en el socket de dominio Unix "/tmp/.s.PGSQL.5432"?

Instalé PostgreSQL con Homebrew hace mucho tiempo y después de un intento de instalación de MongoDB recientemente mi instalación de PostgreSQL nunca ha sido la misma. Estoy ejecutando OS X v10.6 Snow Leopard.

¿Qué ocurre y cómo entiendo mejor cómo y cómo debería instalarse PostgreSQL en mi Mac?

Hasta ahora (creo) esto me dice que PostgreSQL no se está ejecutando (?).

ps -aef|grep postgres (ruby-1.9.2-p320@jct-ana) (develop) ✗ 501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres

¿Pero esto me dice que PostgreSQL se está ejecutando?

✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136) homebrew.mxcl.postgresql: Already loaded

¿Cómo puedo solucionar esto? ¿Qué es lo que no estoy viendo?

PD: ~/Library/LaunchAgents incluye dos archivos .plist de PostgreSQL. No estoy seguro de si eso es relevante.

org.postgresql.postgres.plist homebrew.mxcl.postgresql.plist

Intenté lo siguiente y obtuve un resultado como el siguiente.

$ psql -p 5432 -h localhost

psql: could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (fe80::1) and accepting TCP/IP connections on port 5432?

He leído desde que esto ocurre porque OS X instala su propia versión de PostgreSQL y Homebrew instala una versión diferente en un lugar diferente y los comandos de PostgreSQL buscan en el directorio / tmp /. Tendrá que buscar más en Desbordamiento de pila, pero básicamente enlazará simbólicamente PostgreSQL para que todo lo que busque en esa ruta de tmp realmente encuentre la ruta real, si tiene sentido.

Este es el enlace donde encontré algunas cosas más para probar, específicamente haciendo el enlace simbólico como se indicó anteriormente, Mac OSX Lion Postgres no acepta conexiones en /tmp/.s.PGSQL.5432 . Todavía me gustaría que alguien hiciera una explicación decente de los conceptos detrás de la instalación de PostgreSQL en OS X y por qué es tan difícil.

Las últimas ideas para ayudar con la solución de problemas:

$ which psql // This tells you which PostgreSQL you are using when you run $ psql.

Entonces corre:

$ echo $PATH

La clave a tener en cuenta es esta:

Asegúrese de que la entrada de ruta para la copia de PostgreSQL que desea ejecutar VIENE ANTES de la ruta al sistema PostgreSQL del sistema OS X.

Este es un requisito básico que decide qué PostgreSQL se ejecutará y es lo que me dicen que lleva a la mayoría de estos problemas.


Cuando ejecuta: psql -p 5432 -h localhost, no utiliza el controlador de bucle invertido pero usa un socket real y, por lo tanto, necesita configurar postgres para aceptar conexiones de socket. Por lo tanto, aunque pgadmin y otros clientes puedan funcionar, psql no lo hará.

Necesita cambiar el archivo postgresql.conf y los archivos pg_hba.conf para permitir la conexión en un socket real. Esto también permitirá la conexión desde una dirección IP remota por lo que está deshabilitado de forma predeterminada.

Estos archivos están en el directorio de datos pero la ubicación real puede ser diferente dependiendo de cómo se instaló Postgres. Con postgres ejecutándose, ejecute el comando:

ps -ef | grep postmaster

Estos dos archivos son el directorio -D (quizás / usr / local / pgsql / data).

Para el archivo postgresql.conf, elimine el comentario de la dirección listen_address y cámbiela por:

listen_address = ''*''

Para pg_hba.conf agrega la línea:

host all all 0.0.0.0/0 md5


Entonces, para muchos de los problemas aquí, parece que la gente ya estaba ejecutando psql y tuvo que eliminar postmaster.pid . Sin embargo, no tuve ese problema ya que nunca había instalado Postgres en mi sistema correctamente.

Aquí hay una solución que funcionó para mí en MAC OSX Yosemite

  1. Fui a http://postgresapp.com/ y descargué la aplicación.
  2. Moví la aplicación a la aplicación / directorio
  3. Lo agregué a $ PATH agregando esto a .bashrc o .bash_profile o .zshrc: export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
  4. Ejecuté el postgres desde el directorio de Aplicaciones y ejecuté el comando nuevamente y funcionó.

¡Espero que esto ayude! ¡Toodles!

Además, esta respuesta me ayudó más: https://.com/a/21503349/3173748


Es muy sencillo. Solo agregue host en su archivo database.yaml.


Hola Mundo :)
La mejor pero extraña forma para mí fue hacer las siguientes cosas.

1) Descarga http://postgresapp.com/ u otra versión. Agregue esta aplicación a la carpeta / Aplicaciones /.

2) Agregue una fila (comando) en el archivo .bash_profile (que está en mi directorio personal):

export PATH=/Applications/Postgres93.app/Contents/MacOS/bin/:$PATH Es una RUTA para psql de Postgres93.app . La fila (comando) se ejecuta cada vez que se inicia la consola.

3) Lanza Postgres93.app desde la carpeta /Applications/ . Inicia un servidor local (el puerto es "5432" y el host es "localhost").

4) Después de todas estas manipulaciones, me alegré de ejecutar $ createuser -SRDP user_name y otros comandos y para ver si funcionaba. Postgres93.app puede ejecutarse cada vez que se inicia el sistema.

5) También, si quiere ver sus bases de datos gráficamente, debe instalar PG Commander.app . Es una buena manera de ver tu DB de Postgres como tablas de datos bonitas

Por supuesto, es útil solo para el servidor local. Estaré contento si estas instrucciones ayudan a otros que se han enfrentado con este problema.


Para mí, esto funciona

rm /usr/local/var/postgres/postmaster.pid


Por el error anterior que has mencionado, esto funciona para mí ...

1) posiblemente cambie su puerto predeterminado no especificado en el archivo postgres.conf, si ha mencionado otro puerto entonces no predeterminado 5432 durante la instalación.

(O)

2) Cambie el puerto no en el archivo postgresql.conf y reinicie el servidor de base de datos

(O)

3) en lugar de psql escriba comando completo como

"psql -p 5432 -h localhost"

  • nombre del servidor y el puerto no

Puede haber diferentes problemas con la ejecución de PostgreSQL localmente. Yo recomendaría limpiar todas las versiones de postgres instaladas y comenzar de nuevo. Una vez que lo tenga instalado, es muy fácil recrear su base de datos si tiene su proyecto de rieles con el db/schema.rb

Así es como generalmente instalo PostgreSQL en una Mac . Si está ejecutando su base de datos en el usuario raíz localmente, es posible que desee omitir el último paso que crea un usuario de todo


Realmente no conozco Mac o Homebrew, pero conozco muy bien PostgreSQL.

Desea averiguar dónde están los registros de PostgreSQL tratando de iniciar y cuál es el directorio de socket para PostgreSQL. Por defecto cuando construyes PG, el directorio de socket es / tmp /. Si no cambió eso cuando construyó PG y luego inició PG, debería poder ver un archivo de socket en / tmp si lo hace: ls -al / tmp

El archivo de socket comienza con un ".", Por lo que no lo verá con la ''-a'' de ls.

Si no ve un socket allí, y no ve nada desde ps awux | grep postgres, entonces PG probablemente no se está ejecutando, o tal vez es y es el instalado por OSX. Lo que podría estar sucediendo es que podría estar teniendo un conflicto al escuchar en el puerto 5432 en el host local - use netstat -anp para ver qué, si hay algo, está escuchando en 5432. Si un Mac OSX PG ya está escuchando en ese puerto, entonces eso podría ser el problema.

Espero que ayude. He oído que el homebrew puede hacer las cosas un poco feas y que muchas personas con las que he hablado recomiendan usar una VM en su lugar.


Si está en MacOS y usa homebrew, encontré esta respuesta extremadamente útil:

https://.com/a/27708774/4062901

Para mí, mi servidor se estaba ejecutando, pero debido a una actualización tenía problemas para conectarme (nota: uso servicios brew). Si Postgres se está ejecutando, pruebe cat /usr/local/var/postgres/server.log y vea lo que dicen los registros. Mi error fue una migración, no un problema de conexión.

También después de la migración manual que proponen (que funciona pero) encontré que ya no había una tabla para mi usuario. Pruebe este comando para corregirlo: createdb (respondido mediante psql: FATAL: la base de datos "<usuario>" no existe )


Tenía PostgreSQL 9.3 y obtuve el mismo error,

No se pudo conectar al servidor: conexión rechazada. ¿Se está ejecutando el servidor en el host "localhost" (127.0.0.1) y acepta conexiones TCP / IP en el puerto 5432?

Lo arreglé usando:

chmod 777 /var/lib/pgsql/9.3/data/pg_hba.conf service postgresql-9.3 restart

Esto funciona para mi.


Tuve ese problema cuando actualicé Postgres a 9.3.x. La solución rápida para mí fue rebajar a la versión 9.2.x que tenía antes (no es necesario instalar una nueva).

$ ls /usr/local/Cellar/postgresql/ 9.2.4 9.3.2 $ brew switch postgresql 9.2.4 $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist <open a new Terminal tab or window to reload> $ psql

This respuesta ofrece una explicación mucho más completa junto con formas alternativas de solucionar el problema.


Una de las razones podría ser que

unix_socket_directories en el archivo postgresql.conf no aparece en la lista con el directorio que está buscando.

En el ejemplo de la pregunta, está buscando el directorio / tmp que debe proporcionarse en el archivo postgresql.conf

algo como esto:

unix_socket_directories = ''/var/run/postgresql,/tmp'' # comma-separated list of directories

Esta solución funcionó para mí.


Una razón por la que obtienes este error es que tu base de datos local de postgres se apaga cuando reinicias tu computadora. En una nueva ventana de terminal, simplemente escriba:

$psql -h localhost

para reiniciar el servidor


por lo que vale, experimenté este mismo error cuando tuve un error tipográfico ( md4 lugar de md5 ) en mi archivo /etc/postgresql/9.5/main/pg_hba.conf ( /etc/postgresql/9.5/main/pg_hba.conf )

Si llegaste aquí como lo hice, comprueba dos veces ese archivo una vez para asegurarte de que no hay nada ridículo allí.


ACTUALIZACIÓN: AQUÍ HAY UN MEJOR ARREGLO SI USTED EN OSX ...

http://postgresapp.com/

Vieja respuesta:

Aquí está la solución, más información aquí:

https://github.com/mxcl/homebrew/issues/5004

Primero, detenga el DB, luego

  1. cd / var
  2. rm -r pgsql_socket
  3. ln -s / tmp pgsql_socket
  4. chown _postgres: _postgres pgsql_socket
  5. reinicie postgres (no su computadora)


Si está ejecutando Homebrew, desinstale Postgresql end pg gems: *

$ gem uninstall pg $ brew uninstall postgresql

Descargue y ejecute el siguiente script para corregir el permiso en / usr / local: * https://gist.github.com/rpavlik/768518

$ ruby fix_homebrew.rb

Luego instala Postgres nuevamente y pg joya: *

$ brew install postgresql $ initdb /usr/local/var/postgres -E utf8

Para ejecutar launchd, inicie postgresql al iniciar sesión:

$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

O comienza manualmente

Instalar la gema pg

$ gem install pg

Espero haber ayudado