sábado, 13 de agosto de 2011

Configuración básica de PostgreSQL

Luego de tener PostgreSQL instalado hay que realizar una configuración básica (o más bien mínima) a nuestro entorno de trabajo, en particular si vamos a usar ciertas herramientas (como PgAdmin o Symfony) que deben poder conectarse al servidor postgres. Los pasos serían los siguientes:
  • Cambiar password al usuario de sistema postgres (no es estrictamente necesario, pero yo prefiero hacerlo):

    $ su -
    # passwd postgres

  • Cambiar password al usuario admin dentro de postgres en la bd template1:

    $ su postgres
    $ psql template1
    template1=# ALTER USER postgres WITH PASSWORD 'nuevo_password';

    Este método no me gusta mucho porque se puede ver la contraseña en el historial. Yo prefiero hacerlo así:


    template1=# \password postgres

    Con este método se nos pedirá la nueva contraseña y la confirmación igual que el comando passwd.
  • Cambiar el método de autenticación en el archivo pg_hba.conf (en fedora en el directorio /var/lib/pgsql/data/), para usar MD5, ya que IDENT da conflictos:

    # "local" is for Unix domain socket connections only
    local all all md5
    # IPv4 local connections:
    host all all 127.0.0.1/32 md5
    # IPv6 local connections:
    host all all ::1/128 md5

    Doctrine usa una conexión IPV6, así que hay que cambiar el método de autenticación para estas conexiones.
Ahora no deberíamos tener problemas para conectarnos al servidor postgres desde PgAdmin o Symfony (con Doctrine o Propel) y por supuesto desde la consola con el comando psql -U postgres.