Copias de base de datos con pg_dump
Se puede utilizar sin problemas mientras la base de datos está en uso y solo hace copia de una de las bases de datos.
Se puede obtener en formato SQL o archive. Obviamente, el formato SQL ( plain, por defecto ) se recupera con psql, mientras que el archive necesita una utilidad específica, pg_restore, con la que se puede seleccionar qué se recupera.
1. Principales opciones de pg_dump
- --dbname=<name> (-d)
- --username=<name> (-U)
- --password (-W)
Fuerza la petición de password
- --create (-C)
Incluye instrucciones para crear la base de datos
- --data-only
Vuelca solo los datos, no las definiciones de tablas
- --clean
Genera código para limpiar los datos en destino antes de restaurar. Solo útil para formato SQL. Incompatible con --data-only, porque lo que limpia son las tablas enteras y lo haría sin disponer de las definiciones para crearlas de nuevo.
- --no-owner
No genera asignación de propietario para los objetos creados (lo que exige derechos de super-usuario al recuperar).
- --no-privileges
No salvar derechos de acceso (comandos grant/revoke)
- --if-exists
Solo aplicable si se especifica también --clean, hace que las eliminaciones se subordinen a cláusulas IF EXISTS, evitando así warnings en la recuperación.