PostgreSQL12修改现有postgres_fdw服务器fdw_startup_cost报错如何解决
问题原因
PostgreSQL 中ALTER SERVER的OPTIONS子句支持三种操作:ADD(新增不存在的选项)、SET(修改已存在的选项)、DROP(删除已存在的选项)。你报错的核心原因是初始创建prd_rtl_fdw服务时未预先定义fdw_startup_cost选项,直接使用SET操作修改不存在的配置项就会触发“选项不存在”的错误。
解决方案
你只需要把命令里的SET换成ADD即可,执行以下语句就能成功添加该配置:
ALTER SERVER prd_rtl_fdw OPTIONS (ADD fdw_startup_cost '1000000000000000');
如果后续需要调整这个参数的取值,再用SET操作即可,比如要改成2000000000000000就执行:
ALTER SERVER prd_rtl_fdw OPTIONS (SET fdw_startup_cost '2000000000000000');
配置验证
执行以下语句可以查看当前服务器的所有配置项,确认配置是否生效:
SELECT srvoptions FROM pg_foreign_server WHERE srvname = 'prd_rtl_fdw';
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

