pg_dump

Nombre

pg_dump  --  Extrae una base de datos Postgres a un fichero de script

Synopsis

pg_dump [ base_de_datos ]
pg_dump [ -h huésped ] [ -p puerto ]
    [ -t tabla ]
    [ -a ] [ -c ] [ -d ] [ -D ] [ -n ] [ -N ]
    [ -o ] [ -s ] [ -u ] [ -v ] [ -x ]
    [ base_de_datos ]
  

Entrada

pg_dump accepta los siguientes argumentos de la línea de comando:

base_de_datos

Epecifíca el nombre de la base de datos que se va a extraer. base_de_datos tiene como estándar el valor de la variable de entorno USER

-a

Vuelca sólo los datos, no el esquema (las definiciones).

-c

Limpia el esquema antes de crearlo.

-d

Vuelca la data como propios insertos de cadenas.

-D

Vuelca la data como insertos con nombres de atributos

-n

Suprime las dobles comillas de los identificadores, a menos que sean absolutamente necesarias. Esto puede causar problemas al cargar la misma si esta data volcada contiene palabras reservadas usadas por los identificadores. Esta era la conducta estándar en pg_dump pre-v6.4.

-N

Incluye comillas dobles en los identificadores. Este es el estándar.

-o

Vuelca los identificadores de objetos (OIDs) para cada tabla.

-s

Vuelca solo el esquema (las definiciones), no la data.

-t tabla

Vuelca la data para la tabla únicamnete.

-u

Usa autenticación por medio de clave de acceso. Pide un nombre de usuario y clave de acceso.

-v

Epecifica el modo verbose(parlanchín)

-x

Evita el volcado de ACLs (comandos grant/revoke) y la información de propiedad de la tabla.

pg_dump también acepta los siguientes argumentos de línea de comando para parámetros de conexión:

-h huésped

Especifica el nombre del huésped de la máquina en la cual se está ejecutando el postmaster. El estándar es usar un socket de dominio local Unix en vez de una conexión IP..

-p puerto

Especifica el puerto de Internet TCP/IP o extensión de archivo socket de dominio local Unix en el cual postmaster está esperando que se efectúen conexiones. En número estándar de puerto es 5432, o el valor de la variable de ambiente PGPORT (si está establecida).

-u

Usa autenticación con clave de acceso. Pide nombre_de_usuario y clave_de_acceso.

Salida

pg_dump creará un fichero o escribirá a stdout.

La conexión con la base de datos 'template1' falló. connectDB() falló: ¿Está el postmaster ejecutándose y acceptando conexiones en el 'Socket de UNIX' en el puerto 'puerto'?

pg_dump no pudo unirse al proceso postmaster en el huésped y puerto especificados. Si ve usted este mensaje, verifique que postmaster se este ejecutando en el huésped indicado, y que usted especificó el puerto correcto. Si su site usa algún sistema de autenticación, verifique que usted tiene las credenciales de autenticación requeridas.

La conexión con la base de datos 'base_de_datos' falló. FATAL 1: SetUserId: el usuario 'nombre_de_usuario' no está en 'pg_shadow'

Usted no posee una entrada válida en la relación pg_shadow y no le será permitido tener acceso a Postgres. Contacte a su administrador de Postgres.

dumpSequence(tabla): SELECT falló

Usted carece del permiso para leer la base de datos. Contacte a su administrador de site Postgres.

Nota

pg_dump ejecuta internamente las directivas SELECT. Si tiene problemas ejecutando pg_dump, verifique que puede seleccionar la información de la base de datos mediante el uso de, por ejemplo, psql.

Descripción

pg_dump es un utilitario para volcar una base de datos Postgres en un fichero de script conteniendo comandos de consulta. Los ficheros de script son en formato de texto y pueden ser usados para reconstruír la base de datos, incluso en otras máquinas y con otras arquitecturas. pg_dump producirá las consultas necesarias para regenerar todos los tipos definidos por el usuario, funciones, tablas, índices, agregados, y operadores. Adicionalmente, toda la data es copiada en formato de texto el cual puede ser nuevamente copiado, también puede ser importado a herramientas para su edición.

pg_dump es útil para verter el contenido de una base de datos que se vaya a mudar de una instalación de Postgres a otra. Después de ejecutar pg_dump, se debe examinar el script de salida a ver si contiene alguna advertencia, especialmente a la luz de las limitaciones citadas en la parte inferior.

Notas

pg_dump tiene pocas limitaciones. Las limitaciones surgen principalmente de la dificultad para extraer ciertas meta-informaciones de los catálogos del sistema.

Uso

Para volcar una base de datos del mismo nombre que el usuario:

% pg_dump > db.out
   

Para volver a cargar esta base de datos:

% psql -e base_de_datos < db.out