根据DOC我无法做到这一点。但是完全重新创建表格迫使我做大量工作而不是简单:
ALTER FOREIGN TABLE table_name ALTER SERVER new_server_name;
答案 0 :(得分:5)
列出您的外国数据服务器并注意它:
select oid, * from pg_foreign_server
找到你的外国人表:
select oid, * from pg_class where relkind = 'f'
然后修改系统目录pg_foreign_table
,如:
update pg_foreign_table set ftserver = 11573931 where ftserver = 11573932 -- and ftrelid = YOUR_OID_RELID_FROM_PG_CLASS
答案 1 :(得分:0)
请勿使用这种方式更改服务器,因为它不会更新依赖表pg_depend并在以后引起许多问题。
答案 2 :(得分:0)
在 postgres 12 中,为了更改用于外部数据库包装器的服务器 IP 地址,此命令运行良好
alter server YOUR_SERVER_NAME options (set host 'XX.XXX.XX.X');