Acceder remotamente a la base de datos postgresql

Acceder remotamente a la base de datos postgresql

Necesito acceder a una base de datos postgresql desde una máquina remota en un VPS en DigitalOcean con 12.10 y postgresql 9.1.

¿Cómo hago esto? Noté que el puerto 5432 está cerrado, ¿cómo lo abro?

Respuesta1

Para abrir el puerto 5432 edite su /etc/postgresql/9.1/main/postgresql.confy cambie

listen_addresses='localhost'

a

listen_addresses='*'

y reinicie su DBMS

invoke-rc.d postgresql restart

ahora puedes conectarte con

$ psql -h hostname -U username -d database

Si no puede autenticarse, debe otorgarle a su usuario derechos de acceso a su base de datos.

Edita tu

/etc/postgresql/9.1/main/pg_hba.conf

y añadir

host all all all md5

(Esto es para un acceso amplio y abierto. Para un control más estricto, consulte eldocumentación pg_hba.confy ajustar según sus necesidades).

De ahora en adelante también necesitarás una recarga.

invoke-rc.d postgresql reload

No hace falta mencionar que esta es una configuración básica, ahora deberías pensar en modificar tu firewall y mejorar la seguridad de tu DBMS.

Respuesta2

Esto ya no funciona, si es que alguna vez lo hizo:

alojar todos todos * md5

Las posibles líneas correctas para esto son:

alojar todo el rango 0.0.0.0/0 md5 #ipv4

alojar todo todo ::0/0 md5 #ipv6 rango

host todo todo todo md5 #todas ip

Fuente

Respuesta3

Para el mensaje "el servidor no escucha", lo que me pasó fue que no borro # en el archivo postgresql.conf, quiero decir:

#listen_addresses='localhost'

a:

direcciones_escucha='*'

(Lo siento por mi ingles).

Respuesta4

Después de la configuración, debe configurar:

En/etc/postgresql/10/main/postgresql.conf

# Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;

En/etc/postgresql/10/main/pg_hba.conf

# IPv4 local connections:
host    all             all             0.0.0.0/0           md5

Reinicie su servidor:

sudo /etc/init.d/postgresql restart

información relacionada