Conexión a un servidor PostgreSQL

Para conectarnos al servidor PostgreSQL nos cambiamos al usuario postgres y utilizamos el CLI psql, ejemplo:

# su - postgres
$ psql -d template1 -U postgres
Welcome to psql 8.1.11, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
	   \h for help with SQL commands
	   \? for help with psql commands
	   \g or terminate with semicolon to execute query
	   \q to quit

template1=#

Permitir conexiones remotas a PostgreSQL

Por seguridad, tras una instalación por defecto de PostgreSQL en CentOS, este aceptará únicamente conexiones locales en el puerto 5432/tcp:

# netstat -punta | grep LISTEN
tcp        0      0 127.0.0.1:5432              0.0.0.0:*                   LISTEN      15112/postmaster

Para modificar este comportamiento tenemos que editar el fichero /var/lib/pgsql/data/pg_hba.conf, que contiene la configuración para la autenticación de clientes y añadir el listado de las redes y/o IPs desde las que nos vamos a conectar:

# vim /var/lib/pgsql/data/pg_hba.conf
host all all 192.168.0.0/24 trust
host all all 10.10.0.1/32 trust

Además, tenemos que editar el fichero /var/lib/pgsql/data/postgresql.conf y modificar el parámetro listen_addresses para indicar que escuche en las interfaces necesarias, en este caso lo habilitaremos para todas:

# vim /var/lib/pgsql/data/postgresql.conf
listen_addresses='*'

El último paso es reiniciar el servicio y comprobar que los cambios se han aplicado correctamente:

# /etc/init.d/postgresql restart
Parando el servicio  postgresql:                           [  OK  ]
Iniciando servicios postgresql:                            [  OK  ]

# netstat -punta | grep LISTEN
tcp        0      0 0.0.0.0:5432                0.0.0.0:*                   LISTEN      15608/postmaster

En este ejemplo, permitimos el acceso a la red 192.168.0.0/24 y a la IP 10.10.0.1, quedando el servicio postmaster escuchando en todas las interfaces . Para mas información consultar el capítulo Client Authentication∞ de la guía de Administración de PostgreSQL∞.

Modificar la contraseña del usuario postgres de PostgreSQL

Para cambiar la contraseña de un usuario de PostgreSQL tenemos que utilizar la sentencia SQL ALTER USER usuario WITH PASSWORD:

# su - postgres
$ psql -d template1 -U postgres

template1=# ALTER USER postgres WITH PASSWORD 'zaQ6RzRhFb';
ALTER ROLE

Para instalar las librerias PHP en un container usar desde al nodo:

# vzpkg install CTID -p php53u-pgsql

Mas informacion en: http://wiki.woop.es