Acceso remoto a PostgreSQL con pgAdmin + Azure

Estándar

En este post veremos como administrar nuestras bases de datos de PostgreSQL en Azure de manera remota con pgAdmin III.

Screenshot (550)

Aclaración: Este post es una continuación de la instalación de PostgreSQL en OpenSuse + Azure

Para administrar PostgreSQL de manera remota podemos usar las dos formas más empleadas:

  •  psql: un programa de línea de comando (que ya viene incluído, y el cual podemos acceder vía SSH)
  •  pgAdmin: un programa gratuito, open-source, con GUI, y disponible en Windows. Es posible descargarlo desde aquí (No nos centraremos en su instalación, es muy fácil)

Empecemos!

1) Desde nuestro cliente preferido de SSH (Putty, PowerShell+OpenSSH, etc) cambiamos el password del administrador de bases de datos por default:

postgres@OSuse:/usr/local/pgsql/bin> ./psql -c "ALTER USER postgres with encrypted password 'my_pass'"

2) Editar el archivo pg_hba.conf

postgres@OSuse:/usr/local/pgsql/data> mcedit  pg_hba.conf

Allí agregaremos la forma en la que se va a conectar nuestros usuarios:
Por ejemplo: Permitir que el usuario «postgres» desde el host 192.168.12.10 se conecte a todas las bases de datos si proporciona correctamente su password (con método de autenticación md5):

host    all       postgres             192.168.12.10/32        md5

Otro ejemplo:
Screenshot (547)

3) Editar el archivo postgresql.conf

postgres@OSuse:/usr/local/pgsql/data> mcedit  postgresql.conf

Allí habilitaremos las siguientes opciones en la sección «Connection Settings»:

listen_addresses = '*' 
port = 5432

Screenshot (548)

4) Reiniciar el servicio: esto permitirá que los cambios recientes puedan hacer efecto.

postgres@OSuse:/usr/local/pgsql/bin> ./pg_ctl restart -D /usr/local/pgsql/data -m immediate

5) Agregar las reglas de seguridad (Outbound/Inbound) en Azure.
Podemos encontrarlas siguiendo al Network Security asociada a nuestra máquina virtual:

Screenshot (549)

– Inbound:

name: postgresql
protocol: TCP
Source port: *
Destination port: 5432
Action: Allow

– Outbound

name: postgres_output
protocol: TCP
Destination port: 5432
Source port: 65535
Action: Allow

Realizando este paso al fin podremos recibir y consultar a través del puerto 5432 (por defecto utilizado en PostgreSQL)
Screenshot (535)

6) Probar la conexión con psql. Usaremos el programa de línea de comandos para probar si la conexión al servidor se establece correctamente:

postgres@OSuse:/usr/local/pgsql/bin> ./psql test -h ipdelserver -U postgres -W

Screenshot (551)

7) Conectar a pgAdmin
pgAdmin III nos permitirá admnistrar nuestras BDs en Azure para ello crearemos una nueva conexión con los siguientes datos:

Host: IP del server
port: 5432
user: postgres

Screenshot (546)

Screenshot (550)

Eso es todo..(por ahora)!
Have a lot of fun…

Deja un comentario