GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo exportar una tabla de PostgreSQL a CSV

Introducción

PostgreSQL (o Postgres ) es un sistema de administración de base de datos relacional de objetos similar a MySQL pero admite funcionalidad y estabilidad mejoradas. Una característica excelente es que puede exportar una tabla de Postgres a un .CSV expediente. Esto puede ser especialmente útil al transferir una tabla a un sistema diferente o importarla a otra aplicación de base de datos.

En este tutorial, aprenderá cómo exportar una tabla de Postgres a un archivo .CSV usando \copy y COPY comandos.

Requisitos previos

  • PostgreSQL instalado en el sistema
  • Una base de datos existente en PostgreSQL
  • Una ventana de terminal/línea de comandos (Ctrl+Alt+T)

Antes de comenzar con PostgreSQL

Postgres se puede instalar en Windows, Mac, Linux e incluso se puede implementar dentro de un contenedor Docker. Esta guía lo guía a través del procedimiento usando Ubuntu Linux. Sin embargo, todos los comandos de exportación se puede usar en cualquier otro sistema operativo compatible.

Si no tiene Postgres, puede instalarlo descargando el software del sitio web del desarrollador. Instale Postgres en Ubuntu desde los repositorios predeterminados ingresando lo siguiente:

sudo apt-get install postgresql

Una vez que se inicia el servicio, debe crear o importar una base de datos.

Exportar datos de la tabla a .CSV con el comando COPY

En psql hay dos comandos diferentes.

El uso básico de COPY El comando es el siguiente:

COPY db_name TO [/path/to/destination/db_name.csv] DELIMITER ‘,’ CSV HEADER;

Reemplazar db_name con el nombre real de su base de datos y el /path/to/destination con la ubicación real en la que desea almacenar el archivo .CSV.

Por ejemplo, en Windows, es posible que desee guardar una copia en C:\tmp\db_name.csv . En Linux, la ruta predeterminada podría ser /tmp/db_name.csv . Luego, puede abrir el archivo .CSV y ver el contenido de la tabla en un formato ligeramente diferente. Puede ver la diferencia en el siguiente ejemplo.

Primero, listamos el contenido de una tabla específica en el shell psql con el comando:

SELECT * FROM [table_name]

La salida muestra los valores dentro de nuestra tabla de ejemplo como en la imagen a continuación:

Ahora puede compararlo con su archivo .CSV correspondiente. Los datos exportados de la tabla mencionada anteriormente aparecen en un archivo .CSV, como se ve en la siguiente imagen:

Exportar columnas específicas de la tabla a .CSV

Puedes usar el COPY comando para apuntar a columnas específicas:

COPY [db_name](column1,column2,column3) TO [/path/to/destination/db_name_partial.csv] DELIMITER ‘,’ CSV HEADER;

Exportar datos de la tabla a .CSV con el comando \copy

Usa el \copy Comando cuando se trabaja de forma remota. Le permite exportar datos desde un servidor a un archivo .CSV en una máquina cliente local. Úselo de la siguiente manera:

\copy (SELECT * FROM [db_name]) to [/path/to/destination] CSV HEADER

Reemplazar db_name con el nombre de la base de datos de origen. Reemplazar /path/to/destination con la ubicación real del archivo .CSV. En Windows, puede exportar a C:tmpdb_name.csv . En Linux, puede exportar a /tmp/db_name.csv .

El \copy El comando solo requiere privilegios elevados para el sistema cliente. Esto es útil si no tiene privilegios suficientes para ejecutar COPY comando en el servidor. Además, el \copy El comando le permite usar una ruta relativa.

Por ejemplo, podría especificar desktop/db_name.csv en un sistema Windows, y se guardaría en el escritorio del usuario actual.


Ubuntu
  1. Cómo crear una tabla en Hive

  2. Cómo crear una tabla en MySQL

  3. Cómo crear una tabla externa en Hive

  4. Cómo instalar PostgreSQL en Ubuntu 18.04

  5. Cómo exportar una tabla de MySQL a CSV

Cómo instalar TimescaleDB en Ubuntu 20.04

¿Cómo instalar PostgreSQL en Debian 11?

Cómo instalar PostgreSQL en Ubuntu 14.04

Cómo instalar PostgreSQL en Ubuntu 15.04

Cómo instalar PostgreSQL en Ubuntu 16.04

¿Cómo exportar mi base de datos PostgreSQL?