在 PostgreSQL 中,CREATE FOREIGN TABLE 语句用于定义外部表(Foreign Table)。外部表是一种与外部数据源关联的表,允许在 PostgreSQL 中查询和操作远程数据。以下是 CREATE FOREIGN TABLE 语句的基本语法:
CREATE FOREIGN TABLE table_name
  ( column_name data_type [, ...] )
  SERVER server_name
  [ OPTIONS ( option 'value' [, ...] ) ];

其中:

  •  table_name: 外部表的名称。

  •  ( column_name data_type [, ...] ): 外部表的列定义,包括列名和数据类型。

  •  SERVER server_name: 与外部表关联的外部服务器的名称。

  •  OPTIONS ( option 'value' [, ...] ): 外部表的选项,用于配置与外部数据源的连接。


以下是一个简单的示例,创建一个名为 "foreign_table" 的外部表,与名为 "foreign_server" 的外部服务器关联:
CREATE FOREIGN TABLE foreign_table
  ( id INTEGER, name VARCHAR(50) )
  SERVER foreign_server
  OPTIONS ( schema_name 'public', table_name 'remote_table' );

在上述示例中,foreign_table 是外部表的名称,包含两列(id 和 name),与名为 foreign_server 的外部服务器关联,并通过选项指定了远程数据源中的模式和表。

请注意,创建外部表之前,你需要先创建外部数据封装器、外部服务器和用户映射等对象,确保连接到远程数据源的配置是正确的。创建外部表的权限通常需要数据库管理员权限。


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