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à\ copypsql
utilità 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à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 COPY
Il \copy
comando dell'SQLpsql
utilità 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
postgres_limitless=> \copy test_table TO '/tmp/test_table.csv' DELIMITER ',' CSV HEADER;