PostgreSQL でのクロスデータベース クエリの有効化
PostgreSQL は最初はデータベース間のクエリを制限しているように見えますが、実用的な解決策が存在します。 postgres_fdw
(外部データ ラッパー) モジュールは、場所 (ローカルまたはリモート) に関係なく、さまざまな PostgreSQL データベースに接続してテーブルをクエリするために必要な機能を提供します。
重要な考慮事項: 単一マシンにクロスデータベース クエリを実装する前に、スキーマの使用について検討してください。 スキーマは、追加の構成を必要とせずに、さまざまなデータセット間でクエリを実行するための簡単なアプローチを提供します。
postgres_fdw
互換性:
postgres_fdw
モジュールは PostgreSQL バージョン 9.3 以降と互換性があります。 9.3 より前のバージョンの場合、dblink
関数は同等のソリューションを提供します。
実装手順:
クロスデータベースクエリに postgres_fdw
を利用するには:
<code class="language-sql">CREATE FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( host 'hostname', port '5432', -- Standard PostgreSQL port dbname 'target_database' );</code>
<code class="language-sql">CREATE SERVER target_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( user 'username', password 'password' );</code>
<code class="language-sql">CREATE USER MAPPING FOR current_user SERVER target_server OPTIONS ( user 'target_user', password 'target_password' );</code>
<code class="language-sql">IMPORT FOREIGN SCHEMA all FROM SERVER target_server INTO schema_name;</code>
<code class="language-sql">SELECT * FROM schema_name.target_table;</code>
以上がPostgreSQL でクロスデータベース クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。