Utilizzo del comando\ copy per importare dati in una tabella su un'istanza DB Postgre SQL - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo del comando\ copy per importare dati in una tabella su un'istanza DB Postgre SQL

Il comando Postgre è un SQL \copy metacomando disponibile nello strumento client interattivo. psql È possibile utilizzarlo \copy per importare dati in una tabella sull'istanza di For Postgre DBRDS. SQL Per utilizzare il comando \copy, è necessario innanzitutto creare la struttura della tabella sull'istanza database di destinazione in modo che \copy abbia una destinazione per i dati copiati.

Puoi utilizzarlo \copy per caricare dati da un file di valori separati da virgole (CSV), ad esempio uno che è stato esportato e salvato sulla workstation del client.

Per importare i CSV dati nella destinazione RDS per l'istanza DB di Postgre, connettiti prima all'istanza SQL DB di destinazione utilizzando. psql

psql --host=db-instance.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=target-db

Quindi esegui il comando \copy con i seguenti parametri per identificare la destinazione per i dati e il relativo formato.

  • target_table— Il nome della tabella che dovrebbe ricevere i dati copiati dal file. CSV

  • column_list - Specifiche delle colonne per la tabella.

  • 'filename'— Il percorso completo del CSV file sulla workstation locale.

\copy target_table from '/path/to/local/filename.csv' WITH DELIMITER ',' CSV;

Se il CSV file contiene informazioni sull'intestazione delle colonne, è possibile utilizzare questa versione del comando e dei parametri.

\copy target_table (column-1, column-2, column-3, ...) from '/path/to/local/filename.csv' WITH DELIMITER ',' CSV HEADER;

Se il \copy comando fallisce, Postgre SQL emette messaggi di errore.

Creazione di una nuova istanza DB nell'ambiente Database Preview utilizzando il psql comando con il \copy metacomando, come mostrato negli esempi seguenti. Questo esempio utilizza source-table come nome della tabella di origine, source-table.csv come file .csv e target-db come database di destinazione:

In Linux, macOS, oppure Unix:

$psql target-db \ -U <admin user> \ -p <port> \ -h <DB instance name> \ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"

In Windows:

$psql target-db ^ -U <admin user> ^ -p <port> ^ -h <DB instance name> ^ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"

Per i dettagli completi sul \copy comando, consulta la pagina psql nella SQL documentazione di Postgre, nella sezione Meta-Commands.