PostgreSQL从存储函数访问多个数据库
Posted
技术标签:
【中文标题】PostgreSQL从存储函数访问多个数据库【英文标题】:PostgreSQL Accessing multiple database from stored function 【发布时间】:2010-12-08 10:14:12 【问题描述】:我想从 postgresql 存储函数访问不同的数据库。
例如:
CREATE OR REPLACE FUNCTION test () RETURNS SETOF volume AS
$BODY$
SELECT * FROM db2.volume
ORDER BY db2.volume.volumeID
$BODY$
LANGUAGE sql STABLE
COST 100
ROWS 1000;
任何意见都会有很大帮助。
问候, 玛纳斯
【问题讨论】:
【参考方案1】:你需要的是 database link
【讨论】:
好吧,但是在 db 链接中我可以在运行时更改数据库名称。 为什么不呢? SELECT dblink_connect('conn', 'dbname=yourdb'); CREATE OR REPLACE FUNCTION 测试(dbname 字符不同)返回 SETOF 卷作为 $BODY$ SELECT * FROM dblink_connect('dbname=$1') ORDER BY db2.volume.volumeID $BODY$ LANGUAGE sql STABLE COST 100 行 1000;以上是关于PostgreSQL从存储函数访问多个数据库的主要内容,如果未能解决你的问题,请参考以下文章