在Postgresql 9.1
中,dblink
的连接字符串必须位于带引号的字符串中。
我的问题是我的dbname
来自变量值
\set connect quote_ident('dbname=mydb')
SELECT dblink_connect(connect);
quote_ident
或quote_literal
无效。怎么把这个引用的字符串赋值?
答案 0 :(得分:0)
你不需要使用这样的引用,只看这个例子
create or replace function fn_test_dblink (db text) returns text as
$$
select dblink_connect('dbname='||db||' ')
$$
language sql
这里将数据库名称传递给db
function
fn_test_dblink
select fn_test('GBL') -- GBL is my Database
你只需将变量赋予
select dblink_connect('dbname='||your_variable||' ')
而不是这个
\set connect quote_ident('dbname=mydb')