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