Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengeksport Keputusan Pertanyaan PL/pgSQL ke Fail CSV dalam PostgreSQL?
Bahasa prosedur PL/pgSQL PostgreSQL membenarkan sambungan pangkalan data yang berkuasa. Panduan ini memperincikan dua kaedah untuk menyimpan hasil pertanyaan PL/pgSQL ke fail CSV.
Kaedah 1: Eksport Bahagian Pelayan menggunakan COPY
Pendekatan sisi pelayan yang paling cekap menggunakan perintah COPY
PostgreSQL. Perintah seperti ini:
<code class="language-sql">COPY (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER;</code>
mengeksport data daripada jadual "foo" ke fail CSV pada pelayan. Yang penting, ini memerlukan kebenaran bahagian pelayan yang sesuai. Amalan terbaik melibatkan mencipta fungsi khusus dengan pilihan SECURITY DEFINER
untuk mengurus kebenaran ini dengan selamat.
Kaedah 2: Eksport Bahagian Pelanggan menggunakan COPY TO STDOUT
Sebagai alternatif, anda boleh mengendalikan eksport CSV pada bahagian klien menggunakan perintah COPY TO STDOUT
dalam klien baris arahan psql
. Perintah meta copy
memudahkan ini:
<code class="language-sql">\copy (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER</code>
Perhatikan bahawa copy
ialah arahan meta, bukan perintah SQL standard, jadi koma bertitik penamat (;
) tidak diperlukan.
Pertimbangan Keselamatan (Sebelah Pelayan):
Pendekatan sisi pelayan memerlukan perancangan keselamatan yang teliti:
Pertimbangan untuk Pendekatan Sebelah Pelanggan:
Apabila menggunakan kaedah sisi klien:
pg_copy_from
dan pg_copy_to
PHP mungkin tidak optimum. Pertimbangkan kaedah alternatif yang lebih cekap.Atas ialah kandungan terperinci Bagaimana untuk Mengeksport Keputusan Pertanyaan PL/pgSQL ke Fail CSV dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!