2016-04-09 29 views
0

私は次の関数を使ってFDWを使って外部サーバを作成しようとしています。しかし、文字列定数ホストを関数パラメータ$ 1に置き換えると、構文エラーが発生します。ここに何もないのですか?PostgreSQLの文字列定数の代わりに関数パラメータを使用

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

ありがとう、私は解決策を提供します。 –

答えて

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; 
関連する問題