Contoh dengan nama file gaya Unix:
COPY (SELECT * FROM tbl) TO '/var/lib/postgres/myfile1.csv' format csv;
Baca manual tentang COPY
(tautan ke versi 8.2).
Anda harus menggunakan jalur absolut untuk berkas tujuan. Pastikan untuk menggandakan kutipan nama file dengan spasi. Contoh untuk MS Windows:
COPY (SELECT * FROM tbl)
TO E'"C:\\Documents and Settings\\Tech\Desktop\\myfile1.csv"' format csv;
Di PostgreSQL 8.2 , dengan standard_conforming_strings = off
per default, Anda perlu menggandakan garis miring terbalik, karena \
adalah karakter khusus dan ditafsirkan oleh PostgreSQL. Bekerja dalam versi apa pun. Semuanya ada di manual yang bagus:
nama file
Nama path absolut dari file input atau output. Pengguna Windows mungkin perlu menggunakan
E''
string dan garis miring terbalik ganda digunakan sebagai pemisah jalur.
Atau sintaks modern dengan standard_conforming_strings = on
(default sejak Postgres 9.1):
COPY tbl -- short for (SELECT * FROM tbl)
TO '"C:\Documents and Settings\Tech\Desktop\myfile1.csv"' (format csv);
Atau Anda juga dapat menggunakan garis miring untuk nama file di bawah Windows.
Alternatifnya adalah dengan menggunakan meta-command \copy
dari klien terminal default psql
.
Anda juga dapat menggunakan GUI seperti pgadmin dan menyalin / menempelkan dari kisi hasil ke Excel untuk kueri kecil.
Jawaban yang terkait erat:
- Menyalin hasil dari tampilan PostgreSQL di satu DB ke tabel di yang lain
Solusi serupa untuk MySQL:
- Mengekspor data MYSQL ke Excel/CSV melalui php