【发布时间】:2016-05-23 10:37:07
【问题描述】:
根据DOC 我做不到。但是完全重新创建表迫使我做大量的工作而不是简单的:
ALTER FOREIGN TABLE table_name ALTER SERVER new_server_name;
【问题讨论】:
根据DOC 我做不到。但是完全重新创建表迫使我做大量的工作而不是简单的:
ALTER FOREIGN TABLE table_name ALTER SERVER new_server_name;
【问题讨论】:
列出您的国外数据服务器并注明:
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
【讨论】:
不要使用这种方式更改服务器,因为它不会更新依赖表 pg_depend 并导致以后出现很多问题。
【讨论】:
在 postgres 12 中,此命令可以正常工作,以更改用于外部数据库包装器的服务器 IP 地址
alter server YOUR_SERVER_NAME options (set host 'XX.XXX.XX.X');
【讨论】: