Cómo copiar una tabla de una base de datos a otra en PostgreSQL

Cómo copiar una tabla de una base de datos a otra en PostgreSQL
Al trabajar con PostgreSQL, los datos se almacenan en tablas. Por lo tanto, cuando crea una base de datos para almacenar una entidad dada, la entidad se representa como una tabla en la que inserta los valores. Puede tener diferentes tablas en una base de datos dada, pero no puede abrir dos bases de datos simultáneamente.

Por lo tanto, cuando desea acceder a una tabla en otra base de datos, la mejor opción es copiarla y todos sus datos en la base de datos actual. Estamos acostumbrados principalmente a copiar tablas en la misma base de datos. Sin embargo, nuestro enfoque hoy está en cómo copiar una tabla de una base de datos a otra en PostgreSQL. Vamos a profundizar en!

Guía paso a paso para copiar una tabla de una base de datos a otra en PostgreSQL

PostgreSQL se basa en la herramienta "PG_DUMP" para copiar las tablas en diferentes bases de datos. La tabla copiada se trasladará todos sus datos a la nueva base de datos. De esa manera, tendrá una forma rápida de duplicar la tabla cuando trabaje con diferentes bases de datos.

Diferentes pasos están involucrados en la copia de una tabla de una base de datos a otra en PostgreSQL. Para este ejemplo, tenemos el PostgreSQL instalado en Ubuntu, y accederemos a él desde su shell. Los pasos son similares cuando se trabajan con otro entorno como Windows, con solo una diferencia menor.

Abre tu shell PostgreSQL

Primero debe acceder al shell PostgreSQL para acceder a la tabla que desea copiar de una base de datos a otra. Los siguientes comandos mencionan la base de datos PostgreSQL. Puede ingresar su contraseña para acceder a la base de datos con la cuenta de usuario especificada:

$ sudo -iu Postgres
$ psql

Enumere las bases de datos disponibles

Debe verificar la base de datos disponible para determinar la base de datos de origen y destino para la tabla que desea copiar.

# \ l

Puede crear rápidamente uno si no tiene una base de datos de destino.

Para nuestro ejemplo, utilizamos "Postgres" como nuestra base de datos de origen y tenemos el "LinuxDemo" como la base de datos de destino donde copiamos la tabla en la base de datos "Postgres".

Encuentra la tabla objetivo

Desde el shell terminal, ya podemos notar que estamos conectados a la base de datos "Postgres". En ese caso, podemos enumerar las tablas disponibles utilizando el \ dt Comando para localizar la tabla que deseamos copiar en nuestra nueva base de datos.

# \ dt

Aquí, solo tenemos una mesa llamada "FloatDemo". Podemos abrirlo para verificar su contenido antes de copiarlo.

Verifique si la tabla no existe en la base de datos de destino

Antes de copiar su tabla, debe asegurarse de que la base de datos de destino no tenga una tabla que comparta el mismo nombre que el que desea copiar. Del mismo modo, no cree una tabla que plantee un error al copiar la tabla de destino.

Reemplace el siguiente comando con su base de datos de destino:

# \ c LinuxDemo;

A continuación, enumere las tablas en la base de datos para verificar si hay alguna coincidencia con la que desea copiar.

# \ dt

Ejecutar el comando de copia

El comando para copiar la tabla depende de si usa Windows o Ubuntu. En el caso de Windows, debe encontrar la ruta a los archivos PostgreSQL en su sistema. Por ejemplo, si está ejecutando PostgreSQL V14, es probable que su ruta sea C: \ Archivos de programa \ Postgresql \ 14 \ bin. Una vez que obtenga la ruta, abra CMD y navegue a ese directorio. Luego ejecuta el comando de copia en su CMD.

En nuestro caso, estamos usando Ubuntu, y cómo ejecutamos el comando es diferente. Aquí, abra el shell PostgreSQL en su terminal. A partir de ahí, use la siguiente sintaxis para copiar la tabla de la base de datos de origen a la base de datos de destino. Tenga en cuenta que el comando es el mismo para Windows y Ubuntu.

PG_DUMP -U Postgres -t Target -Table Fuente -Database | PSQL -U Postgres Target -Database

En el siguiente ejemplo, "FloatDemo" es la tabla de destino y la "Postgres" que sigue es nuestra base de datos de origen. El "LinuxDemo" es la base de datos de destino. Entonces, reemplace lo mismo en su caso. Entonces, ejecute el comando.

Ingrese su contraseña PostgreSQL para el usuario iniciado para autenticar la acción. Recibirá un mensaje de salida que confirma que la acción de copia se completa correctamente.

Verifique la tabla copiada

Después de ejecutar el comando de copia, el último paso es verificar si la acción se completa como se esperaba. Abra su shell PostgreSQL y conecte a la base de datos de destino. Una vez conectado, enumere las tablas disponibles para verificar si se crea una nueva entrada para la tabla copiada. Si es así, verifique su contenido usando el comando select *.

Confirmamos que nuestra tabla duplicada se copia correctamente de la base de datos de origen a la base de datos de destino en PostgreSQL.

Conclusión

PostgreSQL le permite copiar rápidamente una tabla de una base de datos a otra usando el comando "PG_DUMP". Explicamos el proceso paso a paso mientras proporcionamos un ejemplo práctico. Ahora comprende cómo copiar tablas en las bases de datos PostgreSQL.