Las ideas no duran mucho, hay que hacer algo con ellas

juliorestrepo.wordpress.com desde el año 2008

pgpass es mi amigo

Pgpass es un archivo bastante útil que nos evitará la tarea de escribir el password para la conexión a una base de datos POSTGRESQL durante las labores de backup.

La estructura del archivo es la siguiente:

hostname:port:database:username:password

REQUISITOS del archivo pgpass:

  1. Debe ubicarse en la ruta de acceso al perfil del usuario
  2. Debe estar oculto, es decir, el nombre debe comenzar con signo punto ( .pgpass )
  3. Debe tener permisos de -rw——- (o sea 600 )

Cómo cumplir con el PRIMER REQUISITO

Debemos conocer la ruta del perfil del usuario. Este dato lo obtenemos visualizando el archivo /etc/passwd

$ cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
postgres:x:103:108:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
julio:x:1001:1001:julio,,,:/home/julio:/bin/bash

Según lo anterior, la ruta de perfil para el usuario root es /root , para el usuario postgres es /var/lib/postgresql y para el usuario julio es /home/julio

Cómo cumplir con el SEGUNDO REQUISITO

*

Creamos un archivo llamado .pgpass

Para el usuario root sería:

# vi /root/.pgpass

*

Para el usuario postgres sería:

# vi /var/lib/postgresql/.pgpass

*

Para el usuario julio sería:

# vi /home/julio/.pgpass

*

Cómo cumplir con el TERCER REQUISITO

*

# chmod 600 /root/.pgpass

*

# chmod 600 /var/lib/postgresql/.pgpass

*

# chmod 600 /home/julio/.pgpass

*

El comportamiento esperado:

Al ejecutar un pg_dump o un pg_dumpall NO SERÁ NECESARIO digitar la contraseña de la base de datos para realizar el backup.

Caso Práctico:

# su – postgres

$ pwd

/var/lib/postgres

$ vi .pgpass

# hostname:port:database:username:password
127.0.0.1:5432:mi-basededatos:mi-usuario:mi-password

:wq

$ pg_dump -U mi-usuario mi-basededatos -f mi-archivo-de-backup.sql

| / – \ … procesando … | / – \ … procesando …| / – \

$ pwd

/var/lib/postgres

$ ls -lh

-rw-r–r– 1 postgres postgres  60M Dec  1 15:42 mi-archivo-de-backup.sql

End

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Información

Esta entrada fue publicada en diciembre 1, 2011 por en Backup, Bases de datos, Linux, Software Libre y etiquetada con , , , , , , , , , .
A %d blogueros les gusta esto: