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