CREATE FOREIGN TABLE 是一个 DDL 命令,用于通过外部数据包装器 (FDW) 访问远程数据源来创建外部表。
CREATE FOREIGN TABLE 在 PostgreSQL 9.1 中添加。
变更历史
- PostgreSQL 18
- PostgreSQL 12
- PostgreSQL 10
- 通过
CREATE FOREIGN TABLE ... PARTITION OF语法支持表分区(提交 f0e44751)
- 通过
- PostgreSQL 9.5
- PostgreSQL 9.3
- PostgreSQL 9.2
- 添加了列级别的
OPTIONS子句(提交 c4096c76)
- 添加了列级别的
- PostgreSQL 9.1
- 添加 (提交 0d692a0d)
示例
CREATE FOREIGN TABLE 的基本用法示例
postgres=# CREATE FOREIGN TABLE foo_ft (
f_id INT OPTIONS (column_name 'id') NOT NULL,
f_val TEXT OPTIONS (column_name 'val'),
f_bv BOOL OPTIONS (column_name 'bv')
)
SERVER pg_fdw
OPTIONS (table_name 'foo');
CREATE FOREIGN TABLE
postgres=# \d foo_ft
Foreign table "public.foo_ft"
Column | Type | Collation | Nullable | Default | FDW options
--------+---------+-----------+----------+---------+---------------------
f_id | integer | | not null | | (column_name 'id')
f_val | text | | | | (column_name 'val')
f_bv | boolean | | | | (column_name 'bv')
Server: pg_fdw
FDW options: (table_name 'foo')
参考资料
- PostgreSQL 文档: CREATE FOREIGN TABLE
