GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come esportare una tabella PostgreSQL in CSV

Introduzione

PostgreSQL (o Postgres ) è un sistema di gestione di database relazionale a oggetti simile a MySQL ma supporta funzionalità e stabilità avanzate. Una caratteristica eccellente è che puoi esportare una tabella Postgres in un .CSV file. Ciò può essere particolarmente utile quando si trasferisce una tabella su un sistema diverso o la si importa in un'altra applicazione di database.

In questo tutorial imparerai come esportare una tabella Postgres in un file .CSV usando \copy e COPY comandi.

Prerequisiti

  • PostgreSQL installato sul sistema
  • Un database esistente in PostgreSQL
  • Una finestra di terminale/riga di comando (Ctrl+Alt+T)

Prima di iniziare con PostgreSQL

Postgres può essere installato su Windows, Mac, Linux e può anche essere distribuito all'interno di un container Docker. Questa guida ti guida attraverso la procedura usando Ubuntu Linux. Tuttavia, tutti i comandi di esportazione può essere utilizzato in qualsiasi altro sistema operativo supportato.

Se non hai Postgres, puoi installarlo scaricando il software dal sito Web dello sviluppatore. Installa Postgres su Ubuntu dai repository predefiniti inserendo quanto segue:

sudo apt-get install postgresql

Una volta avviato il servizio, devi creare o importare un database.

Esporta i dati dalla tabella in .CSV con il comando COPY

In psql ci sono due diversi comandi.

L'utilizzo di base di COPY il comando è il seguente:

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

Sostituisci db_name con il nome effettivo del tuo database e il /path/to/destination con la posizione effettiva in cui desideri archiviare il file .CSV.

Ad esempio, in Windows, potresti voler salvarne una copia in C:\tmp\db_name.csv . In Linux, il percorso predefinito potrebbe essere /tmp/db_name.csv . Quindi, puoi aprire il file .CSV e vedere il contenuto della tabella elencato in un formato leggermente diverso. Puoi vedere la differenza nell'esempio qui sotto.

Innanzitutto, elenchiamo il contenuto di una tabella specificata nella shell psql con il comando:

SELECT * FROM [table_name]

L'output mostra i valori all'interno della nostra tabella di esempio come nell'immagine seguente:

Ora puoi confrontarlo con il file .CSV corrispondente. I dati esportati dalla tabella precedentemente citata appaiono in un file .CSV, come si vede nell'immagine seguente:

Esporta colonne specifiche dalla tabella in .CSV

Puoi utilizzare il COPY comando per scegliere come target colonne specifiche:

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

Esporta i dati dalla tabella in .CSV con il comando \copy

Usa il \copy comando quando si lavora in remoto. Consente di esportare i dati da un server in un file .CSV su una macchina client locale. Usalo come segue:

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

Sostituisci db_name con il nome del database di origine. Sostituisci /path/to/destination con la posizione effettiva del file .CSV. In Windows, potresti esportare in C:tmpdb_name.csv . In Linux, potresti esportare in /tmp/db_name.csv .

Il \copy comando richiede solo privilegi elevati per il sistema client. Ciò è utile se non disponi di privilegi sufficienti per eseguire COPY comando sul server. Inoltre, il \copy comando consente di utilizzare un percorso relativo.

Ad esempio, puoi specificare desktop/db_name.csv su un sistema Windows e salverebbe sul desktop dell'utente corrente.


Ubuntu
  1. Come creare una tabella in Hive

  2. Come creare una tabella in MySQL

  3. Come creare una tabella esterna in Hive

  4. Come installare PostgreSQL su Ubuntu 18.04

  5. Come esportare una tabella da MySQL a CSV

Come installare TimescaleDB su Ubuntu 20.04

Come installare PostgreSQL su Debian 11?

Come installare PostgreSQL su Ubuntu 14.04

Come installare PostgreSQL su Ubuntu 15.04

Come installare PostgreSQL su Ubuntu 16.04

Come esportare il mio database PostgreSQL?