PostgreSQL
Versión |
8.4 y 9.X |
Página principal |
http://www.postgresql.org/ |
Observaciones |
Servidor de bases de datos relacionales |
Sumario
Enlaces y referencias
- Configuración y optimización:
- Ref: Slow Query Questions
- Ref: Using EXPLAIN
- Enlaces más antiguos:
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:
- Convertirse en superusuario de la máquina donde reside el servidor.
- 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 fiablelocal all postgres trust
- Reiniciar el servidor para que cargue las nuevas reglas de acceso.
- Conectar con el servidor mediante sockets locales para que le afecte la regla que acabamos de modificar.
- Cambiar la contraseña del usuario
- Dejar la configuración como estaba
local all postgres ident
- 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. |