5

根据DOC我不能这样做。但完全重新创建表迫使我做大量的工作而不是简单的:

ALTER FOREIGN TABLE table_name ALTER SERVER new_server_name;
4

3 回答 3

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
于 2016-12-16T08:26:24.493 回答
0

不要使用这种方式更改服务器,因为它不会更新依赖表 pg_depend 并导致以后出现很多问题。

于 2019-10-17T12:10:17.373 回答
0

在 postgres 12 中,此命令可以正常工作,以更改用于外部数据库包装器的服务器 IP 地址

alter  server  YOUR_SERVER_NAME  options (set  host 'XX.XXX.XX.X');

于 2021-04-05T19:03:58.213 回答