CREATE SERVER — 定义一个新的外部服务器
CREATE SERVER [ IF NOT EXISTS ]server_name[ TYPE 'server_type' ] [ VERSION 'server_version' ] FOREIGN DATA WRAPPERfdw_name[ OPTIONS (option'value' [, ... ] ) ]
CREATE SERVER 定义一个新的外部服务器。定义该服务器的用户将成为它的拥有者。
外部服务器通常封装了外部数据封装器在访问外部数据资源时所使用的连接信息。还可以通过用户映射来指定其他与用户相关的连接信息。
服务器名称在数据库内必须唯一。
创建服务器需要对所使用的外部数据封装器拥有 USAGE 特权。
IF NOT EXISTS如果同名服务器已经存在,则不抛出错误。在这种情况下会发出一个提示。注意,无法保证现有的服务器与本来要创建的服务器有任何相似之处。
server_name要创建的外部服务器的名称。
server_type可选的服务器类型,可能对外部数据封装器有用。
server_version可选的服务器版本,可能对外部数据封装器有用。
fdw_name管理该服务器的外部数据封装器的名称。
OPTIONS ( option 'value' [, ... ] )这个子句指定该服务器的选项。这些选项通常定义服务器的连接细节,但实际的名称和值取决于该服务器的外部数据封装器。
在使用 dblink 模块时,外部服务器的名称可以用作 dblink_connect 函数的参数,用来指示连接参数。要能够以这种方式使用它,必须对该外部服务器拥有 USAGE 特权。
如果外部服务器支持下推排序,那么它必须具有与本地服务器相同的排序顺序。
创建一个使用外部数据封装器 postgres_fdw 的服务器 myserver:
CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'foo', dbname 'foodb', port '5432');
更多细节请参见 postgres_fdw。
CREATE SERVER 符合 ISO/IEC 9075-9(SQL/MED)。