我正在探索pgsql_fdw模块,我遇到了以下情况:
我有一个本地数据库,它是远程数据库的副本,但数据不同。开发与生产。我想创建一个指向生产版本的外部表。由于文档表明外部表的名称必须是唯一的,因此我决定创建一个 fdw 模式并将所有外部表放在其中。我表演了:
create foreign table foreign_table(columna bigint, columnb text)
server foreign_server;
然而,显然 pgsql_fdw 在完全限定的表名之间使用 1 对 1 映射,当然,foreign_server 上不存在“fdw.foregin_table”,它是“public.foreign_table”,所以我得到:
ERROR: could not execute EXPLAIN for cost estimation
DETAIL: ERROR: schema "fdw" does not exist
在文档中有一个用于 CREATE FOREIGN TABLE 的选项参数:
OPTIONS ( option 'value' [, ...] )
Options to be associated with the new foreign table.
The allowed option names and values are specific to each foreign data wrapper
and are validated using the foreign-data wrapper's validator function.
Option names must be unique.
我的问题是:pgsql_fdw 的选项是什么?是否有一个特定的选项来指定外部表名而不是假设远程和本地是相同的?