ホームページ >データベース >mysql チュートリアル >PostgreSQL で PL/pgSQL クエリ結果を CSV ファイルにエクスポートするにはどうすればよいですか?
PostgreSQL の PL/pgSQL 手続き型言語により、強力なデータベース拡張が可能になります。 このガイドでは、PL/pgSQL クエリ結果を CSV ファイルに保存する 2 つの方法について詳しく説明します。
方法 1: COPY を使用したサーバー側のエクスポート
最も効率的なサーバー側のアプローチは、PostgreSQL の COPY
コマンドを利用します。 次のようなコマンド:
<code class="language-sql">COPY (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER;</code>
「foo」テーブルからサーバー上の CSV ファイルにデータをエクスポートします。 重要なのは、これにはサーバー側の適切な権限が必要であるということです。 ベスト プラクティスには、これらのアクセス許可を安全に管理するための SECURITY DEFINER
オプションを使用して専用の関数を作成することが含まれます。
方法 2: COPY TO STDOUT を使用したクライアント側のエクスポート
または、COPY TO STDOUT
コマンドライン クライアント内の psql
コマンドを使用して、クライアント側で CSV エクスポートを処理できます。 copy
メタコマンドはこれを容易にします:
<code class="language-sql">\copy (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER</code>
copy
は標準 SQL コマンドではなくメタコマンドであるため、終了セミコロン (;
) は不要であることに注意してください。
セキュリティに関する考慮事項 (サーバー側):
サーバー側のアプローチでは、慎重なセキュリティ計画が必要です。
クライアント側のアプローチに関する考慮事項:
クライアント側メソッドを使用する場合:
pg_copy_from
や pg_copy_to
などの組み込み関数のパフォーマンスは最適ではない可能性があります。 代替のより効率的な方法を検討してください。以上がPostgreSQL で PL/pgSQL クエリ結果を CSV ファイルにエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。