是否可以使用pg-promise在同一查询中使用多个数据库?

时间:2018-11-24 08:48:23

标签: node.js postgresql pg-promise

我在不同的数据库D1和D2中有两个相关的表T1和T2。我需要在两个表之间进行内部联接。

从这里:Joining Results from Two Separate Databases显然,应该对两个数据库分别进行查询,并将结果合并到客户端,或者使用dblink / postgres-fdw

但是,我看到以下问题:Multiple Databases #1 ,并在此处使用$dc参数:pg-promise/Database

我相信问题:Multiple Databases #1 只是有助于允许连接到同一代码库中的多个数据库。

$dc参数状态的描述:

  

这主要是为了方便使用多个数据库,这些数据库可能需要单独的协议扩展或在单个任务中的不同实现方式

但是,我没有找到任何示例。

$dc参数仅仅是可以访问的数据库上下文对象,还是允许在两个不同的数据库之间进行内部联接?

是否有一种方法可以利用两个数据库连接,但可以跨数据库进行连接,而不必在客户端使用pg-promise进行连接?

1 个答案:

答案 0 :(得分:2)

  

$ dc参数仅仅是可以访问的数据库上下文对象,还是允许在两个不同的数据库之间进行内部联接?

是前者。

  

是否有一种方法可以利用两个数据库连接,但是可以跨数据库进行连接,而不必使用pg-promise在客户端进行连接?

不。每个Database对象仅表示与数据库的单个连接。

Database Context可以依靠其值在多个Database对象中重复使用任务,事务和协议扩展。