All Products
Search
Document Center

ApsaraDB RDS:Apa yang harus saya lakukan jika terjadi kesalahan saat saya menggunakan pernyataan COPY untuk mengimpor data ke instance ApsaraDB RDS for PostgreSQL?

Last Updated:Jul 02, 2025

Deskripsi masalah

Pernyataan SQL berikut dijalankan untuk mengimpor data ke instance ApsaraDB RDS for PostgreSQL:

copy mp3 (NAME,city,nation,lat,lng,url,mediatype,type) from  '/home/alex/tmp/pos.csv' with csv;

Pesan kesalahan berikut ditampilkan:

ERROR:  harus menjadi superuser untuk menyalin ke atau dari file
HINT:  Siapa pun dapat menyalin ke stdout atau dari stdin. Perintah \copy psql juga bekerja untuk siapa saja.

Penyebab

Secara default, izin superuser diperlukan untuk menjalankan pernyataan COPY. Namun, izin superuser tidak didukung dalam ApsaraDB RDS for PostgreSQL.

Solusi

Masuk ke komputer Anda dan jalankan perintah berikut untuk melewati batasan:

cat [$Table_Name].csv | ~/workspace/pg94/bin/psql -h [$Host] -p [$Port] -U [$User] -c "copy [$Table_Name] from stdin"
Catatan
  • [$Table_Name] menentukan nama tabel dalam database.

  • [$Host] menentukan nama atau alamat IP host tempat instance RDS berada.

  • [$Port] menentukan nomor port.

  • [$User] menentukan nama pengguna yang digunakan untuk masuk ke instance RDS.

Referensi

Untuk informasi lebih lanjut tentang cara memigrasikan data ke instance ApsaraDB RDS for PostgreSQL, lihat Gunakan pg_dump dan pg_restore untuk memigrasikan data dari instance PostgreSQL yang dikelola sendiri ke instance ApsaraDB RDS for PostgreSQL.

Cakupan aplikasi

  • ApsaraDB RDS for PostgreSQL