在 PostgreSQL 中,foreign_servers(外部服务器)是一种概念,它允许你通过外部数据包装器(Foreign Data Wrapper,FDW)连接到其他数据源。外部服务器是 FDW 的一部分,用于定义连接到远程数据库或其他数据存储的配置信息。通过外部服务器,你可以在 PostgreSQL 中建立对外部数据源的连接,并通过 foreign tables 在 PostgreSQL 中访问远程数据。

以下是创建外部服务器的基本语法:
CREATE SERVER server_name
  FOREIGN DATA WRAPPER wrapper_name
  OPTIONS (option 'value', ...);

  •  server_name: 指定外部服务器的名称。

  •  wrapper_name: 指定使用的外部数据包装器(FDW)的名称,例如 postgres_fdw。

  •  OPTIONS: 提供用于配置连接的选项,具体选项取决于所使用的 FDW。


以下是一个简单的示例,演示如何创建一个连接到另一个 PostgreSQL 数据库的外部服务器:
CREATE SERVER remote_server
  FOREIGN DATA WRAPPER postgres_fdw
  OPTIONS (host 'remote_host', dbname 'remote_db', port '5432');

在这个示例中,remote_server 是外部服务器的名称,postgres_fdw 是用于连接的外部数据包装器。OPTIONS 子句包含了连接到远程 PostgreSQL 数据库所需的一些参数,如主机名、数据库名和端口号。

一旦创建了外部服务器,你可以创建 foreign tables,这些表通过外部服务器连接到远程数据源。这样,你就能够在 PostgreSQL 中执行 SQL 查询,同时涉及到本地和远程数据。

请注意,使用外部服务器连接到远程数据源可能需要额外的安全性和权限设置,包括用户映射和访问控制。确保根据你的需求和安全标准进行正确的配置。


转载请注明出处:http://www.zyzy.cn/article/detail/8432/PostgreSQL