Utilizzo del COPY comando con Aurora SQL Postgre Limitless Database - Amazon Aurora

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 COPY comando con Aurora SQL Postgre Limitless Database

È possibile utilizzare la funzionalità\ copy dell'psqlutilità per importare ed esportare dati dal database Aurora Postgre Limitless SQL

Utilizzo del COPY comando per caricare i dati nel database Aurora SQL Postgre Limitless

Aurora Postgre SQL Limitless Database è compatibile con la funzionalità\ copy dell'utilità per l'importazione dei psql dati.

In Limitless Database come in Aurora SQL Postgre, quanto segue non è supportato:

  • SSHAccesso diretto alle istanze DB: non è possibile copiare un file di dati (ad esempio in formato.csv) sull'host dell'istanza DB ed eseguirlo dal file. COPY

  • Utilizzo di file locali sull'istanza DB: utilizza e. COPY ... FROM STDIN COPY ... TO STDOUT

Il COPY comando in Postgre SQL ha opzioni per lavorare con i file locali (FROM/TO) e trasmettere dati utilizzando una connessione tra il client e il server (). STDIN/STDOUT Per ulteriori informazioni, consultate la documentazione di COPYPostgre. SQL

Il \copy comando dell'SQLpsqlutilità Postgre funziona con i file locali sul computer su cui viene eseguito il client. psql Richiama il rispettivo COPY ... FROM STDOUT comando COPY ... FROM STDIN o sul server remoto (ad esempio, Limitless Database) a cui ci si connette. Legge STDIN o scrive dati dal file locale su di esso. STDOUT

Suddivisione dei dati in più file

I dati vengono archiviati su più shard in Aurora SQL Postgre Limitless Database. Per velocizzare il caricamento dei dati\copy, è possibile suddividerli in più file. Quindi importa in modo indipendente per ogni file di dati eseguendo \copy comandi separati in parallelo.

Ad esempio, avete un file di dati di input in CSV formato con 3 milioni di righe da importare. Puoi dividere il file in blocchi contenenti ciascuno 200.000 righe (15 blocchi):

split -l200000 data.csv data_ --additional-suffix=.csv -d

Ciò si traduce in file. data_00.csv data_14.csv È quindi possibile importare i dati utilizzando 15 \copy comandi paralleli, ad esempio:

psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table from '/tmp/data_00.csv';" postgres_limitless & psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table FROM '/tmp/data_01.csv';" postgres_limitless & ... psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table FROM '/tmp/data_13.csv';" postgres_limitless & psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table FROM '/tmp/data_14.csv';" postgres_limitless

Utilizzando questa tecnica, la stessa quantità di dati viene importata circa 10 volte più velocemente rispetto all'utilizzo di un singolo \copy comando.

Utilizzo del COPY comando per copiare i dati di Limitless Database in un file

È possibile utilizzare il comando\ copy per copiare i dati da una tabella illimitata a un file, come mostrato nell'esempio seguente:

postgres_limitless=> \copy test_table TO '/tmp/test_table.csv' DELIMITER ',' CSV HEADER;