Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan perintah COPY dengan Aurora PostgreSQL Limitless Database
Anda dapat menggunakan fungsionalitas\ copypsql utilitas untuk mengimpor data ke dan mengekspor data dari Aurora PostgreSQL Limitless Database
Menggunakan perintah COPY untuk memuat data ke Aurora PostgreSQL Limitless Database
Aurora PostgreSQL Limitless Database kompatibel dengan fungsi\psql
Di Limitless Database seperti di Aurora PostgreSQL, berikut ini tidak didukung:
-
Akses SSH langsung ke instans DB - Anda tidak dapat menyalin file data (seperti dalam format.csv) ke host instans DB dan dijalankan
COPYdari file. -
Menggunakan file lokal pada instans DB — Gunakan
COPY ... FROM STDINdanCOPY ... TO STDOUT.
COPYPerintah di PostgreSQL memiliki opsi untuk bekerja dengan file lokal FROM/TO () dan mentransmisikan data menggunakan koneksi antara klien dan server (). STDIN/STDOUT Untuk informasi selengkapnya, lihat COPY
\copyPerintah dalam utilitas psql PostgreSQL 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 pada beberapa pecahan di Aurora PostgreSQL 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 format CSV 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 perintah COPY 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;