Saltar al contenido

Exportar filas específicas de una tabla de PostgreSQL como secuencia de comandos INSERT SQL

Solución:

Cree una tabla con el conjunto que desea exportar y luego use la utilidad de línea de comando pg_dump para exportar a un archivo:

create table export_table as 
select id, name, city
from nyummy.cimory
where city = 'tokyo'
$ pg_dump --table=export_table --data-only --column-inserts my_database > data.sql

--column-inserts se volcará como comandos de inserción con nombres de columna.

--data-only no vuelque el esquema.

Como se comenta a continuación, la creación de una vista en lugar de una tabla obviará la creación de la tabla siempre que sea necesaria una nueva exportación.

Para exportación de solo datos usar COPY.
Obtiene un archivo con una fila de tabla por línea como texto sin formato (no INSERT comandos), es más pequeño y más rápido:

COPY (SELECT * FROM nyummy.cimory WHERE city = 'tokio') TO '/path/to/file.csv';

Importar lo mismo a otra tabla de la misma estructura en cualquier lugar con:

COPY other_tbl FROM '/path/to/file.csv';

COPY escribe y lee archivos local al servidor, a diferencia de los programas cliente como pg_dump o psql que leen y escriben archivos local para el cliente. Si ambos se ejecutan en la misma máquina, no importa mucho, pero sí para las conexiones remotas.

También está el copy comando de psql que:

Realiza una copia de frontend (cliente). Esta es una operación que ejecuta un SQL COPY comando, pero en lugar de que el servidor lea o escriba el archivo especificado, psql lee o escribe el archivo y enruta los datos entre el servidor y el sistema de archivos local. Esto significa que la accesibilidad y los privilegios del archivo son los del usuario local, no del servidor, y no se requieren privilegios de superusuario de SQL.

Esto es un facil y rapido manera de exportar una tabla a un script con pgAdmin a mano sin instalaciones adicionales:

  1. Haga clic derecho en la tabla de destino y seleccione “Copia de seguridad”.
  2. Seleccione una ruta de archivo para almacenar la copia de seguridad. Como formato, elija “Normal”.
  3. Abra la pestaña “Opciones de volcado n. ° 2” en la parte inferior y marque “Usar inserciones de columna”.
  4. Haga clic en el botón Copia de seguridad.
  5. Si abre el archivo resultante con un lector de texto (por ejemplo, notepad ++), obtiene un script para crear la tabla completa. Desde allí, simplemente puede copiar las declaraciones INSERT generadas.

Este método también funciona con la técnica de hacer una export_table como se demuestra en la respuesta de @Clodoaldo Neto.

Haga clic derecho en la tabla de destino y elija "Copia de seguridad"

Elija una ruta de destino y cambie el formato a "Normal"

Abra la pestaña "Opciones de volcado n. ° 2" en la parte inferior y marque "Usar inserciones de columna"

Puede copiar las declaraciones INSERT desde allí.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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