我正在尝试使用以下函数通过函数使用FDW创建外部服务器。但是,当我使用函数参数 $ 1 替换主机的字符串常量时,出现语法错误。我在这里错过了什么吗?
CREATE OR REPLACE FUNCTION foreign_server_create(host_name text) RETURNS VOID
AS $$
CREATE SERVER postgres_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host $1, dbname 'xx', port 'xxxx');
$$ LANGUAGE sql;
答案 0 :(得分:0)
CREATE OR REPLACE FUNCTION foreign_server_create(host_name text) RETURNS VOID
AS $$
EXECUTE format ('CREATE SERVER postgres_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host %L, dbname 'xx', port 'xxxx')', $1);
$$ LANGUAGE plpgsql;