Este artículo explica cómo exportar y restaurar (o importar) bases de datos PostgreSQL desde línea de comandos utilizando las herramientas pg_dump, pg_dumpall y psql.
PostgreSQL, o simplemente "Postgres", es un sistema de gestión de bases de datos orientado a objetos y relacional (ORDBMS) que hace énfasis en la extensibilidad y conformidad con los estándares. Está liberado bajo la licencia free/open source PostgreSQL, similar a la licencia MIT. PostgreSQL está desarrollado por el Grupo de Desarrollo Global de PostgreSQL, el cual consiste en un grupo de voluntarios empleados y supervisados por empresas como Red Hat y EnterpriseDB.
PostgreSQL implementa la mayor parte del estándar SQL:2011, cumple con las propiedades ACID (Atomicity, Consistency, Isolation, Durability), es completamente transaccional (incluyendo todas las sentencias DDL, Data Definition Language), posee vistas extensibles actualizables, tipos de datos, operadores, índices, funciones, agregación, incluye un lenguaje procedural, y tiene un gran número de extensiones de terceros.
PostgreSQL funciona en la mayoría de los sistemas operativos incluyendo GNU/Linux, FreeBSD, Solaris, Microsoft Windows y MacOS X. La gran mayoría de distribuciones GNU/Linux disponen de PostgreSQL en sus repositorios.
El sitio oficial del proyecto es www.postgresql.org.
Este es mi primer artículo dedicado a Postgres, por ello voy a arrancar con algo sencillo: cómo exportar y restaurar bases de datos Postgres desde línea de comandos.
Si se desea exportar una base de datos, ya sea para generar una copia de respaldo (backup) como para importar en otro servidor, es posible utilizar la herramienta pg_dump, la cual vuelca una base de datos como una secuencia de instrucciones SQL en formato de texto plano (al igual que la herramienta mysqldump de MySQL). Por ejemplo, si se desea exportar la base de datos "mibd" al archivo "pg_mibd.sql" utilizando el usuario "postgres", ejecutar: