如何从PostgreSQL中的database2中的函数更新database1中的表?

时间:2010-02-23 14:31:42

标签: sql database postgresql plpgsql

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

你知道PostgreSQL中的数据库是独立的,你不能直接访问它们(按设计)。

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

你发现dblink扩展太具有侵入性(我怀疑,排除了small_duck关于合并这两个数据库的想法)。

我不确定你认为比dblink更简单的存在,因为dblink是这个领域的默认选择。