PostgreSQL – Copiar base de datos

En este artículo, discutiremos el proceso de copiar una base de datos PostgreSQL en el mismo servidor o de un servidor a otro. 

Base de datos de copia de PostgreSQL dentro del mismo servidor: 

Si surge una situación en la que se necesita copiar una base de datos PostgreSQL dentro de un servidor de base de datos con fines de prueba. PostgreSQL simplifica hacerlo mediante la declaración CREATE DATABASE de la siguiente manera: 

Syntax:
CREATE DATABASE target_database 
WITH TEMPLATE source_database;

Esta instrucción copia source_database en target_database . Por ejemplo, para copiar la base de datos de ejemplo de dvdrental que se describe aquí y se puede descargar desde aquí , a la base de datos dvdrental_test , utilice la siguiente declaración: 

CREATE DATABASE dvdrental_test 
WITH TEMPLATE dvdrental;

Puede llevar un tiempo completar la copia dependiendo del tamaño de la base de datos original. 

PostgreSQL copia la base de datos de un servidor a otro: 

Hay muchas formas de copiar una base de datos entre varios servidores de bases de datos PostgreSQL. La conexión entre servidores se vuelve más lenta a medida que la base de datos crece. Una forma de hacerlo es crear un volcado de base de datos y restaurar el mismo volcado en otro servidor. Para hacerlo, se deben seguir los siguientes comandos: 

  • Paso 1: Cree un archivo de volcado de la base de datos de origen.
pg_dump -U postgres -d source_database -f source_database.sql
  • Paso 2: copie el archivo de volcado en el servidor remoto. 
  • Paso 3: Cree una nueva base de datos en el servidor remoto donde desea restaurar el volcado de la base de datos:
CREATE DATABASE target_database;
  • Paso 4: Restaure el archivo de volcado en el servidor remoto: 
psql -U postgres -d target_database -f source_database.sql

Ejemplo: 
Aquí copiaremos la base de datos de dvdrental del servidor local al servidor remoto. Primero, volcaremos la base de datos de dvdrental en un archivo de volcado, por ejemplo, dvdrental.sql

pg_dump -U postgres -O dvdrental dvdrental.sql

Luego copiaremos el archivo de volcado a un servidor remoto y crearemos la base de datos de dvdrental en el servidor remoto: 

CREATE DATABASE dvdrental;

Ahora, restauraremos el archivo de volcado que acabamos de crear en el servidor remoto: 

psql -U postgres -d dvdrental -f dvdrental.sql

Para conexiones de alta velocidad entre servidores o para bases de datos más pequeñas, también puede usar el siguiente comando: 

pg_dump -C -h local -U localuser source_database | psql -h remote -U remoteuser target_database

Por ejemplo, si desea copiar la base de datos de dvdrental desde el host local al servidor remoto, hágalo de la siguiente manera: 

pg_dump -C -h localhost -U postgres dvdrental | psql -h remote -U postgres dvdrental

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *