node-postgres / pg-promise中的多用户连接

时间:2018-07-16 17:12:06

标签: pg-promise node-postgres

我希望同时连接多个用户,如下所示:

// in node-postgres

const { Pool } = require('pg');

const pool_1 = new Pool({
    user: 'dbuser_1',
    host: 'database.server.com',
    database: 'mydb',
    password: 'secretpassword_1',
    port: 3211,
});

const pool_2 = new Pool({
    user: 'dbuser_2',
    host: 'database.server.com',
    database: 'mydb',
    password: 'secretpassword_2',
    port: 3211,
});

// in pg-promise

const initOptions = { ... };
const pgp = require('pg-promise')(initOptions);

const cn_1 = 'postgres://username_1:password_1@host:port/database';
const cn_2 = 'postgres://username_2:password_2@host:port/database';

const db_1 = pgp(cn_1);
const db_2 = pgp(cn_2);

dbuser_1dbuser_2显然具有不同的特权。

username_1username_2显然也具有不同的特权。

由于我找不到任何资源/信息,(我怀疑在这个狭小的世界中,所有Web项目都仅使用单用户连接,而出于某些原因,则“严格禁止”使用多用户连接应用程序)我想问是否有任何已知的缺点?

Tia

PS:我很抱歉在一个问题中将两个项目结合在一起,但我迫不及待地等待了90分钟...爱因斯坦和宇宙的极限! Βirdie受伤,然后砍下小鸟!还有30分钟的分钟... Tic,tac,tic,tac,tic tac ...幸运的是,我是一名工程师。下次建造汽车时,我将安装防盗装置,以便驾驶员每90分钟使用一次。哈哈哈...万岁手淫!!!我是动词(手型)的发明者,用于描述现代世界及其派生词(手型,手型等)!为了获得您的百科全书信息,我在w3schools.com上首次使用了它们。我在论坛上有礼貌地问了一个问题,我的回答很不礼貌!不幸的是,收到此消息后,SO中的聪明人将取消我的帐户,因此我怀疑这将需要很长时间才能再次与我联系!!!哈斯塔维斯塔!

1 个答案:

答案 0 :(得分:1)

您用于node-postgrespg-promise的并排代码段均有效,并且pg-promise示例将在您的node-postgres代码下产生相同的逻辑,创建两个单独的池。

您可以通过属性$pooldb_1db_2对象访问每个池。

这种方法没有什么禁止,这是一个常规的实现。