Postgres,plpgsql:有没有办法从存储过程内部连接到其他数据库?

发布于 2024-09-15 19:34:02 字数 199 浏览 10 评论 0原文

我有两个数据库,其中一个是通过另一个数据库过滤后的数据提供的,现在我正在使用 perl 脚本对外部数据库执行查询,将结果存储在 csv 文件中,并使用 \COPY sytnatx 将其加载到本地数据库

有没有办法编写 plpgsql 函数,该函数将连接到外部数据库并在本地数据库中加载过滤后的数据(我知道这可以在 ie.plperl 中完成,但我搜索更多“本机”方式)

I have two DB's one is feed by filtered data from another, now i'm using perl script witch executes query on foreign DB, stores a result in a csv file, and loads it to local DB using \COPY sytnatx

Is there a way to write plpgsql function witch will connect to foreign DB and load filtered data in local DB ( I know it can be done in ie. plperl, but i search more "native" way )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

财迷小姐 2024-09-22 19:34:02

而且 DBI-LINK 支持更多数据库:)

And there is the DBI-LINK that supports much more databases :)

酒几许 2024-09-22 19:34:02

目前,PostgreSQL有dblink,但仅支持连接到其他PostgreSQL实例 - 遗憾的是,不是任何其他数据库。

Currently, PostgreSQL has dblink, but it only supports connecting to other PostgreSQL instances - not any other database, sadly.

哭泣的笑容 2024-09-22 19:34:02

我会推荐 PL/Proxy,它更容易使用 - 只需在目标数据库上编写所需的存储过程(有一些小的警告,例如不使用枚举类型),并在源上声明相同的函数,PL/Proxy 将处理通讯。它是 Skype 分布式数据库架构的基础,并且已做好生产准备。

I would recommend PL/Proxy, which is significantly easier to use - just write the desired stored procedure on the target database (with some minor caveats, like not using enumerated types), and declare the same function on the source, PL/Proxy will handle the communications. It is the basis for Skype's distributed database architecture and is production-ready.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文