Copia de seguridad y restauración

Caution

Deben realizarse copias de seguridad de las bases de datos regularmente. Dado que Postgres gestiona sus propios ficheros en el sistema, no se recomienda confiar en los sistemas de copia de seguridad del sistema para las copias de respaldo de las bases de datos; no hay garantía de que los ficheros estén en un estado consistente que permita su uso después de la restauración.

Postgres proporciona dos utilidades para realizar las copias de seguridad de su sistema: pg_dump para copias de seguridad de bases de datos individuales y pg_dumpall para realizar copias de seguridad de toda la instalación de una sola vez.

La copia de seguridad de una sola base de datos puede realizarse usando la siguiente orden:

% pg_dump nombredb > nombredb.pgdump
    
y puede ser restaurada usando
cat nombredb.pgdump | psql nombredb
    

Esta técnica puede usarse para mover bases de datos a una nueva localización y para renombrar bases de datos existentes..

Bases de datos grandes

Autor: Escrito por Hannu Krosing on 1999-06-19.

Dado que Postgres permite tablas de mayor tamaño que el permitido por el sistema de ficheros, puede resultar problemático el volcado de una tabla a un fichero, ya que el fichero resultante seguramente superará el tamaño máximo permitido.

Como pg_dump escribe en stdout, puede usar las herramientas *nix para sortear estos posibles problemas:

Por supuesto, el nombre del fichero (nombrefichero) y el contenido de la salida de pg_dump no tiene por qué coincidir con el nombre de la base de datos. Además, la base de datos restaurada puede tener un nombre distinto, por lo que este mecanismo también es efectivo para renombrar bases de datos.