1
是否有可能只是路过dblink()
起来所产生的结果记录,作为调用函数的结果,像这样:推记录
create function execute_generic_sql_on_remote_databases(_sql text)
return set of record
language plpgsql
as $$
declare
r record; -- this is already not a real record
begin
-- get connections to several DBs
...
-- send _sql queries to the DBs
...
-- get results of query execution
loop through connections
for r in select MAGIC from dblink_get_results(conn, _sql) loop
return next r;
end loop;
end loop;
-- close connections
...
end;
$$;
一个可以把这个功能类似于dblink
实际上:
select * from execute_generic_sql_on_remote_databases('SELECT 1') as r(i int);
但是它需要一些MAGIC
。 :(
这是可以做到的,使用plProxy
容易,但问题是如何与dblink
做到这一点,如果它是可能的plpgsql
的。
谢谢你的回答,这样的解决方案的结果语法的确很尴尬......这太可惜了。 所以我想我只是去一个额外的plProxy连接配置,并与plProxy包装存储过程... – valgog 2011-12-27 07:29:59