Pregunta

He instalado PostgreSQL en mi servidor local (Ubuntu) con IP 192.168.1.10. Ahora, estoy tratando de acceder a la base de datos de mi máquina cliente (Ubuntu) con 192.168.1.11 IP con pgAdmin.

Yo sé que tengo que hacer cambios en postgresql.conf y pg_hba.conf para permitir que el cliente se conecte. Podría usted por favor me guía?

¿Fue útil?

Solución

En realidad, es un proceso de 3 pasos para conectarse a un servidor PostgreSQL remota a través de pgadmin3.

  

Nota: Yo uso Ubuntu 11.04 y PostgreSQL 8.4.

  1. Hay que hacer PostgreSQL se esperan conexiones TCP entrantes remotas debido a los ajustes predeterminados permiten escuchar sólo para las conexiones en la interfaz de bucle de retorno. Para poder llegar al servidor de forma remota hay que añadir la siguiente línea en el archivo de /etc/postgresql/8.4/main/postgresql.conf:

    listen_addresses = '*'

  2. PostgreSQL por defecto rechaza todas las conexiones que recibe desde cualquier dirección remota, hay que relajarse estas reglas añadiendo esta línea a /etc/postgresql/8.4/main/pg_hba.conf:

    host all all 0.0.0.0/0 md5

    Esta es una regla de control de acceso que permita que nadie haga login desde cualquier dirección si puede proporcionar una contraseña válida (la palabra clave MD5). Puede utilizar necesaria red / máscara en lugar de 0.0.0.0/0.

  3. Cuando haya aplicado estas modificaciones a los archivos de configuración que necesita para reiniciar el servidor PostgreSQL. Ahora es posible acceder a su servidor de forma remota, utilizando el nombre de usuario y contraseña.

Otros consejos

Si está utilizando PostgreSQL 8 o superior, es posible que tenga que modificar la configuración de la listen_addresses /etc/postgresql/8.4/main/postgresql.conf.

Trate de añadir la línea:

listen_addresses = *

que le dirá PostgreSQL para escuchar las conexiones en todas las interfaces de red.

Si no se establece de manera explícita, este valor por defecto es localhost lo que significa que sólo aceptará conexiones desde la misma máquina.

Yo no tenía que cambiar mi archivo prostgresql.conf Pero, yo tenía que hacer lo siguiente en base a mi psql a través de línea de comandos se conecta y pgAdmin no se conecta con el RDS AWS.

Yo tenía mi RDS establece en accesible al público. Me aseguré de que mi ACL y grupos de seguridad estaban abiertas y todavía un problema así, hice lo siguiente: sudo find . -name *.conf entonces sudo nano ./data/pg_hba.conf luego se añadió a la parte superior de las directivas en el archivo pg_hba.conf host all all 0.0.0.0/0 md5 y pgAdmin cerrar sesión automáticamente.

Esto también trabajó en el archivo pg_hba.conf host all all md5 sin ninguna dirección IP y esto también trabajó con mi dirección IP host all all <myip>/32 md5

Como nota al margen, mis RDS estaba en mi defecto VPC. Tenía una instancia idénticos RDS en mi no predeterminada VPC con el grupo de seguridad idénticos, ACL y la configuración del grupo de seguridad a mi VPC defecto y no pude conseguir que funcione. No sé por qué, pero eso es para otro día.

En la terminal de Linux intente esto:

  • sudo service postgresql start: para iniciar el servidor
  • sudo service postgresql stop: a ti detener el servidor
  • sudo service postgresql status: para comprobar el estado del servidor

Para RedHat Linux

sudo vi /var/lib/pgsql9/data/postgresql.conf 

pgsql9 es la carpeta para la versión de postgres instalado, puede ser diferente a los demás

cambiado listen_addresses = '*' de listen_addresses = ‘localhost’ y después

sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql start

Comprobar el servidor de seguridad. Cuando se deshabilita, entonces se puede conectar. Si quieres / no se puede desactivar el firewall, añadir una regla para su conexión remota.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top