PostgreSQL

De Astillas.net
Versión
8.4 y 9.X
Página principal
http://www.postgresql.org/
Observaciones
Servidor de bases de datos relacionales


Enlaces y referencias

Recetario

Recargar configuración pg_hba.conf sin reiniciar

Se accede a una consola empleando (psql) con suficientes privilegios y se ejecuta la siguiente consulta:

SELECT pg_reload_conf();

La referencia la he encontrado en en el blog de Tyler Wright.

Reiniciar el servidor

Y también pararlo (stop), ponerlo en marcha (start) y hacer que relea la configuración (reload). Para ello se debe emplear el programa pg_ctl que en Debian han sustituído por un programa Perl llamado pg_ctlcluster.

La diferencia está en que en la versión Debian se debe indicar antes de la orden la versión del servidor y el nombre del cluster principal.

Ejemplo:

# pg_ctlcluster 8.4 main reload

Su configuración está en el archivo /etc/postgresql/8.4/main/pg_ctl.conf.

Contraseña del administrador perdida

Cuando ocurre algo semejante la forma de proceder más segura es la siguiente:

  1. Convertirse en superusuario de la máquina donde reside el servidor.
  2. Retocar la configuración del servidor en /etc/postgresql/8.4/main/pg_hba.conf para que la línea que indica que postrgres tiene que identificarse aparezca como fiable
    local   all         postgres     trust
  3. Reiniciar el servidor para que cargue las nuevas reglas de acceso.
  4. Conectar con el servidor mediante sockets locales para que le afecte la regla que acabamos de modificar.
  5. Cambiar la contraseña del usuario
  6. Dejar la configuración como estaba
    local   all         postgres     ident
  7. Reiniciar el servidor de nuevo

El archivo .pgpass

Este archivo contiene contraseñas de acceso a una base de datos con el siguiente formato:

hostname:port:database:username:password

Se puede emplear un asterisco para hacer coincidir cualquier valor por lo que las líneas más específicas deben aparecer primero. Admite comentarios comenzando la línea con el carácter almohadilla (#).

La localización predeterminada es:

  • el directorio de trabajo del usuario ~/.pgpass
  • la indicada por la variable de entorno PGPASSFILE

La documentación está en 33.15. The Password File.

Programas y utilidades

psql

Para conectar se debe emplear la siguiente síntaxis:

$ psql -W base_de_datos usuario 

donde el parámetro -W sirve para que solicite la contraseña.

Una vez dentro se pueden emplear algunas órdenes especiales para ver información o cambiar algunos parámetros:

Orden Uso
\l Lista las bases de datos.
\d nombre Describe un objeto de la base de datos (tabla, índice, secuencia, vista)
\du Lista usuarios.