PostgreSQL viene con pg_dump, una herramienta incorporada para hacer copias de seguridad de las bases de datos. Permite a los administradores crear copias de seguridad en diferentes modales: copias de seguridad completa, incremental o continua (localmente/remotamente).
En esta guía, exhibiremos usando pg_dump Para hacer copias de seguridad de nuestras bases de datos PostgreSQL.
Requisitos previos
Para realizar los pasos demostrados en esta guía, necesitará los siguientes componentes:
Además, también utilizaremos una muestra de datos PostgreSQL. Para facilitar el uso, usaré phppgadmin, Un front-end web para PostgreSQL.
Usando PG_DUMP
El pg_dump El comando exporta una base de datos en un archivo de script (que contiene comandos SQL para reconstruir la base de datos) o un archivo de archivo. El objetivo principal de esta herramienta es hacer una copia de seguridad de las bases de datos. Durante el uso pg_dump, La base de datos aún será accesible para lecturas y escrituras.
Tenga en cuenta que pg_dump Funciona con una sola base de datos.
Si la base de datos se extrajo como un script SQL, puede importar la base de datos a cualquier otra base de datos basada en SQL. Sin embargo, si se extrajo como un archivo de archivo, entonces solo se puede restaurar usando el pg_restore herramienta. Una cosa genial con pg_restore es, puede definir qué parte de la base de datos restaurar.
Estructura de comandos PG_DUMP
La estructura de comando principal de pg_dump Se ve como esto:
1 | $ pg_dump |
Exportar una base de datos (como script SQL)
Como se mencionó anteriormente, pg_dump puede exportar la base de datos en diferentes formatos. Para exportar la base de datos en un archivo SQL, use el siguiente comando:
1 | $ pg_dump |
En este ejemplo, estamos exportando la base de datos dvdrental a dvdrental-backup.sql:
1 | $ PG_DUMP -U Postgres Dvdrental> DVDRental -Backup.sql |
Tenga en cuenta que la operación de exportación fallará si el usuario está ejecutando pg_dump no tiene permiso para leer la base de datos. Aquí, porque post -put es el superusador de PostgreSQL, el comando se ejecutó con éxito.
Exportar una base de datos (como Archivo de alquitrán)
A continuación, exportaremos la base de datos como un archivo. El siguiente comando lo exportará en un formato de alquitrán:
1 | $ PG_DUMP -U Postgres -f C Dvdrental> Dvdrental.alquitrán |
Exportar una base de datos (como un archivo comprimido)
Si está exportando una base de datos grande, la compresión ayudará a reducir el tamaño del archivo. En el siguiente ejemplo, la base de datos exportada se comprimirá utilizando la herramienta GZIP:
1 | $ PG_DUMP -U Postgres Dvdrental | gzip> dvdrental.GZ |
Alternativamente, podemos usar la compresión incorporada de pg_dump Para comprimir la salida:
1 | $ PG_DUMP -U Postgres --compress = 9 dvdrental> dvdrental.alquitrán |
Exportar una base de datos (formato de directorio)
En lugar de exportar la base de datos en un solo archivo, pg_dump ofrece la opción de tirarlo a un directorio.
En el siguiente ejemplo, estamos exportando la base de datos dvdrental al directorio dvdrental-backup:
1 | $ PG_DUMP -U Postgres -f D DVDRental -F DVDRental -Backup/ |
Exportando todas las bases de datos
Si necesita hacer una copia de seguridad completa del Postgresql servidor de base de datos, luego puede usar pg_dumpall.
1 | $ PG_DUMPALL -F FULL_BACKUP.sql |
La copia de seguridad incluirá todo: roles, esquemas y datos. Sin embargo, pg_dumpall permite exportar componentes específicos.
El siguiente comando exportará solo los roles:
1 | $ PG_DUMPALL - -Roles -Ponly -u Postgres> All_DB_Roles.sql |
El siguiente comando exportará esquemas solamente:
1 | $ PG_DUMPALL - -SCHEMA -ONLY -U POSTGRES> ALL_DB_SCHEMA.sql |
El siguiente comando exportará solo las definiciones de espacio de tabla:
1 | $ pg_dumpall ---tablespaces-only -u postgres> all_db_tableSpaces.sql |
Pensamientos finales
En esta guía, exploramos varias formas de usar el pg_dump Comando para exportar bases de datos desde PostgreSQL. Exportamos una base de datos de muestra como un script y archivo SQL. Usando PG_DUMPALL, también nos exhibimos la exportación de varios componentes de todas las bases de datos en PostgreSQL.
PostgreSQL es un potente motor de base de datos con toneladas de funcionalidades. La subcategoría PostgreSQL contiene numerosas guías. Obtenga más información sobre los usuarios de enumerar, lanzar usuarios, búsqueda difusa, etc.