Я изучаю модуль pgsql_fdw и столкнулся со следующей ситуацией:
У меня есть локальная БД, которая является копией удаленной БД, но данные разные. Разработка против производства. Я хотел создать внешнюю таблицу, указывающую на производственную версию. Поскольку в документах указано, что имя внешней таблицы должно быть уникальным, я решил создать схему fdw и поместить в нее все сторонние таблицы. Я провел:
create foreign table foreign_table(columna bigint, columnb text)
server foreign_server;
Очевидно, однако, что pgsql_fdw использует сопоставление 1 к 1 между именами таблиц full_qualified, и, конечно, «fdw.foregin_table» не существует на иностранном_сервере, это «public.foreign_table», и поэтому я получаю:
ERROR: could not execute EXPLAIN for cost estimation
DETAIL: ERROR: schema "fdw" does not exist
В документации есть параметр options для 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? Есть ли конкретная возможность указать имя внешней таблицы, а не предполагать, что удаленная и локальная таблицы одинаковы?