En este post veremos como administrar nuestras bases de datos de PostgreSQL en Azure de manera remota con pgAdmin III.
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:
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
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:
– 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)
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
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
Eso es todo..(por ahora)!
Have a lot of fun…