このトピックでは、CREATE serverを使用して新しい外部サーバーを定義する方法について説明します。
構文
CREATE SERVER server_name FOREIGN DATA WRAPPER fdw_name
[オプション (オプション 'value' [, ... ] ) ]
使用上の注意
CREATE SERVERは、新しい外部サーバーを定義するために使用されます。 サーバーを定義するユーザーがサーバーの所有者になります。
ほとんどの場合、外部サーバーには、外部データラッパーが外部データソースにアクセスするために使用する接続情報が含まれています。 追加のユーザ関連接続情報は、ユーザマッピングを使用することによって指定され得る。
サーバー名はデータベース内で一意である必要があります。
新しいサーバーを作成するには、外部データラッパーに対するUSAGE権限が必要です。
dblinkモジュールを使用する場合、外部サーバーのUSAGE特権がある場合は、外部サーバーの名前をdblink_connect関数の引数として使用して接続パラメーターを指定できます。
PolarDB for PostgreSQLでは、OPTIONSでホストとポートのキーワードを指定することはできません。 代わりにchannel_nameを使用します。 デフォルトでは、各PolarDB for PostgreSQLクラスターは、ローカルサーバーに接続するためのチャネルであるlocalhostという名前のチャネルで構成されています。 他のクラスターに接続する場合は、まずチャネルを作成します。
コンポーネント
コンポーネント | 説明 |
server_name | 作成する外部サーバーの名前。 |
fdw_name | 外部サーバーを管理する外部データラッパーの名前。 |
オプション (option'value' [, ... ] ) | この句は、サーバーのオプションを指定します。 これらのオプションは通常、サーバーの接続の詳細を定義しますが、実際の名前と値はそのサーバーの外部データラッパーによって異なります。 |
例
次のサンプルコードは、postgres_fdw外部データラッパーを使用するmyserverという名前のサーバーを作成する方法を示しています。
まず、postgres_fdw拡張子を作成する必要があります。
拡張の作成postgres_fdw;
CREATE SERVER foreign_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (channel_name 'localhost' 、dbname 'foodb');