集計データを csv ファイルにエクスポートしようとしています。以下のコードのように、postgresql のコマンド COPY を使用したいのですが、動的テーブルを返す EXECUTE コマンドからデータを取得しています。COPY コマンドはテーブルからのみデータを取得しますが、クエリの実行によって生成される列の数がわからないため、結果を一時テーブルに保存できません。また、大きなデータセットを保存しようとしていますが、中間テーブルに複製することは避けたいと思います. 誰かがこれに対する回避策を知っていますか?
CREATE OR REPLACE FUNCTION ExportSnapshotToCsv(qe TEXT)
RETURNS void AS $$
BEGIN
COPY (Execute qe) To '/tmp/test.csv' With CSV DELIMITER ',';
END; $$
LANGUAGE plpgsql;