All Products
Search
Document Center

AnalyticDB:Impor data lokal menggunakan perintah \COPY

Last Updated:Mar 29, 2026

Gunakan perintah \copy di command-line interface (CLI) psql untuk mengimpor file teks lokal langsung ke instans AnalyticDB for PostgreSQL—tanpa memerlukan akses file di sisi server.

Penting

\copy menulis data secara serial melalui node coordinator. Perintah ini cocok untuk set data kecil hingga menengah, tetapi tidak sesuai untuk impor paralel skala besar. Untuk pemuatan data volume tinggi, gunakan tabel eksternal berbasis OSS sebagai gantinya. Lihat Gunakan tabel eksternal untuk mengimpor data dari OSS.

Kapan menggunakan \copy vs COPY

Kedua perintah memiliki sintaks yang sama (lihat COPY dalam dokumentasi PostgreSQL), tetapi dijalankan dalam konteks yang berbeda.

\copy dijalankan pada klien psql dan membaca file dari mesin lokal Anda—akses file dan izin diatur oleh pengguna lokal, bukan oleh server database. Artinya, hak istimewa SUPERUSER tidak diperlukan. AnalyticDB for PostgreSQL tidak memberikan izin SUPERUSER, sehingga perintah COPY dengan opsi FILE di sisi server tidak tersedia; gunakan \copy sebagai gantinya.

\copyCOPY
Berjalan diclient psqlServer database
Membaca file dariMesin lokalsistem file server
Memerlukan SUPERUSERTidakYa (untuk akses FILE)
HandlesFILE, STDIN, STDOUTHanya STDIN, STDOUT

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • menginstal psql dan terhubung ke instans AnalyticDB for PostgreSQL Anda

  • File teks lokal yang akan diimpor

  • memiliki izin menulis pada tabel target

Impor file lokal

Jalankan \copy dalam sesi psql Anda untuk memuat file ke dalam tabel:

\COPY table [(column [, ...])] FROM {'file' | STDIN}
[ [WITH]
  [OIDS]
  [HEADER]
  [DELIMITER [ AS ] 'delimiter']
  [NULL [ AS ] 'null string']
  [ESCAPE [ AS ] 'escape' | 'OFF']
  [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
  [CSV [QUOTE [ AS ] 'quote']
  [FORCE NOT NULL column [, ...]]
  [FILL MISSING FIELDS]
  [[LOG ERRORS [INTO error_table] [KEEP]
  SEGMENT REJECT LIMIT count [ROWS | PERCENT] ]

Contoh: Impor semua baris dari file lokal ke tabel bernama test1.

\COPY test1 FROM '/path/to/localfile';

Verifikasi impor

Setelah menjalankan \copy, konfirmasi bahwa data berhasil dimuat:

SELECT COUNT(*) FROM test1;

Jika jumlah baris sesuai dengan file sumber Anda, impor telah selesai.

Jika Anda menggunakan LOG ERRORS, kueri tabel error untuk meninjau baris yang ditolak:

SELECT * FROM error_table;

Gunakan JDBC alih-alih psql

Untuk mengimpor data secara terprogram, gunakan Java Database Connectivity (JDBC). Driver JDBC PostgreSQL menyediakan antarmuka CopyIn, yang membungkus pernyataan COPY. Lihat Interface CopyIn dalam dokumentasi JDBC PostgreSQL.

Langkah selanjutnya