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