Contoh yang diretas bersama dengan cepat menggunakan PLPGSQL
alih-alih SQL
.
Peringatan:harus dibuat sebagai pengguna super.
Ganti kueri dll dalam fungsi ke apa pun yang Anda butuhkan, dan Anda dapat menambahkan lebih banyak parameter input ke fungsi untuk membuat kueri atau file output secara berbeda tergantung pada parameter input tersebut.
CREATE OR REPLACE FUNCTION copy_out_example ( p_path TEXT, p_filename_prefix TEXT, OUT file_and_path TEXT )
RETURNS TEXT AS
$func$
DECLARE
qry TEXT;
BEGIN
file_and_path := RTRIM(p_path,'/') || '/' || p_filename_prefix || '_' || ceil(random() * 1000000)::TEXT || '.csv';
qry := FORMAT('COPY (select * from pg_catalog.pg_class) TO %L CSV HEADER',file_and_path);
EXECUTE qry;
END;
$func$ LANGUAGE plpgsql STRICT SECURITY DEFINER;
SELECT copy_out_example('/path/to/the/file','some_test_file');
Menghasilkan file seperti '/path/to/the/file/some_test_file_994216.csv'