Импорт внешнего типа с помощью postgresql_fdw - PullRequest
0 голосов
/ 27 августа 2018

У меня есть база данных с пользовательским типом, которую невозможно импортировать с помощью IMPORT FOREIGN SCHEMA public FROM SERVER replica_db1 INTO db1, так как CREATE FOREIGN TABLE не удается. Как импортировать пользовательский тип? Кроме того, пользовательский тип ссылается на общедоступную схему. Как изменить его на использование схемы с локального сервера?

reporting=> IMPORT FOREIGN SCHEMA public FROM SERVER replica_db1 INTO db1;
ERROR:  type "public.custom_type" does not exist
LINE 8:   start public.custom_type OPTIONS (column_name 'start'),
                ^
QUERY:  CREATE FOREIGN TABLE table1 (
  id bigint OPTIONS (column_name 'id') NOT NULL,
  start public.custom_type OPTIONS (column_name 'start'),
  "end" public.custom_type OPTIONS (column_name 'end')
) SERVER replica_db1
OPTIONS (schema_name 'public', table_name 'table1');
CONTEXT:  importing foreign table "table1"
reporting=> IMPORT FOREIGN TYPE public FROM SERVER replica_db1 INTO db1;
ERROR:  syntax error at or near "TYPE"
LINE 1: IMPORT FOREIGN TYPE public FROM SERVER replica_db1 INT...

Спасибо

1 Ответ

0 голосов
/ 28 августа 2018

Вы должны создать тип данных "public.custom_type" на вашем сервере перед импортом схемы с помощью команды:

IMPORT FOREIGN SCHEMA public FROM SERVER replica_db1 INTO db1;
...