PLPGSQL
का उपयोग करके एक साथ जल्दी से हैक किया गया उदाहरण इसके बजाय SQL
।
चेतावनी:एक सुपरयुसर के रूप में बनाया जाना चाहिए।
फ़ंक्शन में क्वेरी आदि को अपनी ज़रूरत के अनुसार बदलें, और आप अपनी क्वेरी या आउटपुट फ़ाइल (फ़ाइलों) को अलग-अलग तरीके से बनाने के लिए फ़ंक्शन में अधिक इनपुट पैरामीटर जोड़ सकते हैं, जो उन इनपुट मापदंडों पर निर्भर करता है।
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');
'/path/to/the/file/some_test_file_994216.csv'
जैसी फ़ाइल में परिणाम