0

有没有办法从 database2 中的函数更新 database1 中的表(两个数据库都在同一台服务器上)?基本上是 PostgreSQL 中的跨数据库更新。

函数由触发器执行,但这无关紧要。

-= 编辑 =- 我知道我可以使用 DBLink 来实现,但我想尽可能少地修改源数据库。我正在寻找其他一些选择。

4

3 回答 3

1

您可以将两个数据库放在同一个 Postgresql 数据库中,但使用不同的模式。

这样,它们在逻辑上仍然是分开的,并且没有名称冲突,但是您可以访问模式之间的对象。

于 2010-02-23T22:30:33.407 回答
0

如果可用,DBLink 将是执行此操作的标准方法。如果没有,如果您安装了诸如 PL/pgperl 之类的过程语言(PL/pgsql 除外),您可以使用该语言连接到数据库 2 并调用您的更新语句。或者您可以使用过程语言来调用一个调用 psql 来进行更新的 shell 脚本。

于 2010-02-23T15:25:13.167 回答
0

目前尚不清楚您在寻找什么。

您知道 PostgreSQL 中的数据库是独立的,您不能直接从另一个访问一个(根据设计)。

您知道 dblink 扩展允许您连接两个数据库(相同或不同的服务器)。

您会发现 dblink 扩展过于侵入(我怀疑,排除了 small_duck 合并两个数据库的想法)。

鉴于 dblink 是该领域的默认选择,我不确定您认为会存在什么比 dblink 更简单。

于 2010-02-24T01:06:26.183 回答