Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan COPY perintah dengan Aurora SQL Postgre Limitless Database
Anda dapat menggunakan fungsionalitas\ copypsql
utilitas untuk mengimpor data ke dan mengekspor data dari Aurora Postgre Limitless Database SQL
Menggunakan COPY perintah untuk memuat data ke Aurora SQL Postgre Limitless Database
Aurora Postgre SQL Limitless Database kompatibel dengan fungsi\ copy di utilitaspsql
Di Limitless Database seperti di Aurora SQL Postgre, berikut ini tidak didukung:
-
SSHAkses langsung ke instans DB - Anda tidak dapat menyalin file data (seperti dalam format.csv) ke host instans DB dan dijalankan
COPY
dari file. -
Menggunakan file lokal pada instans DB — Gunakan
COPY ... FROM STDIN
danCOPY ... TO STDOUT
.
COPY
Perintah di Postgre SQL memiliki opsi untuk bekerja dengan file lokal (FROM/TO
) dan mentransmisikan data menggunakan koneksi antara klien dan server (). STDIN/STDOUT
Untuk informasi lebih lanjut, lihat COPY
\copy
Perintah dalam SQL psql
utilitas Postgre bekerja dengan file lokal di komputer tempat Anda menjalankan klien. psql
Ini memanggil masing-masing COPY ... FROM STDIN
atau COPY ... FROM STDOUT
perintah pada server remote (misalnya, Limitless Database) yang Anda sambungkan. Ia membaca data dari file lokal ke STDIN
atau menulis dari file tersebutSTDOUT
.
Memisahkan data menjadi beberapa file
Data disimpan di beberapa pecahan di Aurora SQL Postgre Limitless Database. Untuk mempercepat pemuatan data menggunakan\copy
, Anda dapat membagi data Anda menjadi beberapa file. Kemudian impor secara independen untuk setiap file data dengan menjalankan \copy
perintah terpisah secara paralel.
Misalnya, Anda memiliki file data input dalam CSV format dengan 3 juta baris untuk diimpor. Anda dapat membagi file menjadi beberapa bagian yang masing-masing memegang 200.000 baris (15 potongan):
split -l200000 data.csv data_ --additional-suffix=.csv -d
Ini menghasilkan file data_00.csv
melaluidata_14.csv
. Anda kemudian dapat mengimpor data menggunakan 15 \copy
perintah paralel, misalnya:
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
Dengan menggunakan teknik ini, jumlah data yang sama diimpor sekitar 10 kali lebih cepat daripada menggunakan satu \copy
perintah.
Menggunakan COPY perintah untuk menyalin data Limitless Database ke file
Anda dapat menggunakan perintah\ copy
postgres_limitless=> \copy test_table TO '/tmp/test_table.csv' DELIMITER ',' CSV HEADER;