Pendahuluan
PostgreSQL (atau Posgres ) adalah sistem manajemen basis data relasional objek yang mirip dengan MySQL tetapi mendukung peningkatan fungsionalitas dan stabilitas. Salah satu fitur luar biasa adalah Anda dapat mengekspor tabel Postgres ke .CSV mengajukan. Ini bisa sangat membantu saat mentransfer tabel ke sistem yang berbeda atau mengimpornya ke aplikasi database lain.
Dalam tutorial ini, Anda akan mempelajari cara mengekspor tabel Postgres ke file .CSV menggunakan \copy
dan COPY
perintah.
Prasyarat
- PostgreSQL diinstal pada sistem
- Database yang ada di PostgreSQL
- Jendela terminal / baris perintah (Ctrl+Alt+T)
Sebelum Anda Mulai dengan PostgreSQL
Postgres dapat diinstal pada Windows, Mac, Linux, dan bahkan dapat digunakan di dalam wadah Docker. Panduan ini memandu Anda melalui prosedur menggunakan Ubuntu Linux. Namun, semua perintah ekspor dapat digunakan di sistem operasi lain yang didukung.
Jika Anda tidak memiliki Postgres, Anda dapat menginstalnya dengan mengunduh perangkat lunak dari situs web pengembang. Instal Postgres di Ubuntu dari repositori default dengan memasukkan yang berikut ini:
sudo apt-get install postgresql
Setelah layanan dimulai, Anda perlu membuat atau mengimpor database.
Ekspor Data dari Tabel ke .CSV dengan Perintah COPY
Di psql ada dua perintah yang berbeda.
Penggunaan dasar COPY
perintahnya adalah sebagai berikut:
COPY db_name TO [/path/to/destination/db_name.csv] DELIMITER ‘,’ CSV HEADER;
Ganti db_name
dengan nama sebenarnya dari database Anda dan /path/to/destination
dengan lokasi sebenarnya Anda ingin menyimpan file .CSV.
Misalnya, di Windows, Anda mungkin ingin menyimpan salinan ke C:\tmp\db_name.csv . Di Linux, jalur default dapat berupa /tmp/db_name.csv . Kemudian, Anda dapat membuka file .CSV dan melihat konten tabel yang tercantum dalam format yang sedikit berbeda. Anda bisa melihat perbedaannya pada contoh di bawah ini.
Pertama, kami mencantumkan konten tabel tertentu di psql shell dengan perintah:
SELECT * FROM [table_name]
Output menampilkan nilai-nilai di dalam tabel contoh kami seperti pada gambar di bawah ini:
Sekarang Anda dapat membandingkannya dengan file .CSV yang sesuai. Data yang diekspor dari tabel yang disebutkan sebelumnya muncul dalam file .CSV, seperti terlihat pada gambar berikut:
Ekspor Kolom Tertentu dari Tabel ke .CSV
Anda dapat menggunakan COPY
perintah untuk menargetkan kolom tertentu:
COPY [db_name](column1,column2,column3) TO [/path/to/destination/db_name_partial.csv] DELIMITER ‘,’ CSV HEADER;
Ekspor Data dari Tabel ke .CSV dengan \copy Command
Gunakan \copy
perintah saat bekerja dari jarak jauh. Ini memungkinkan Anda mengekspor data dari server ke file .CSV di mesin klien lokal. Gunakan sebagai berikut:
\copy (SELECT * FROM [db_name]) to [/path/to/destination] CSV HEADER
Ganti db_name
dengan nama database sumber. Ganti /path/to/destination
dengan lokasi sebenarnya untuk file .CSV. Di Windows, Anda dapat mengekspor ke C:tmpdb_name.csv . Di Linux, Anda dapat mengekspor ke /tmp/db_name.csv .
\copy
perintah hanya membutuhkan hak yang lebih tinggi untuk sistem klien. Ini berguna jika Anda tidak memiliki hak istimewa yang memadai untuk menjalankan COPY
perintah di server. Juga, \copy
perintah memungkinkan Anda untuk menggunakan jalur relatif.
Misalnya, Anda dapat menentukan desktop/db_name.csv pada sistem Windows, dan itu akan disimpan ke desktop pengguna saat ini.