Многопользовательское соединение в node-postgres/pg-promise

Я хочу подключить более 1 пользователя одновременно, следующим образом:

// 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_1 и dbuser_2, очевидно, имеют разные привилегии.

username_1 и username_2, очевидно, тоже имеют разные привилегии.

Поскольку я не нахожу никаких ресурсов/информации (я подозреваю, что все веб-проекты в этом крошечном мире используют только однопользовательское подключение, а приложения для многопользовательского подключения по какой-то причине «строго запрещены»), я хотел бы спросить, если есть ли известные недостатки?

Тиа

PS: Прошу прощения за объединение двух проектов в один вопрос, но я не могу дождаться, когда пройдут 90 минут... Эйнштейн и предел Вселенной! Птичка болит, тогда руби птичку! Еще 30 минут... Тик-так, тик-так, тик-так... К счастью, я инженер. В следующий раз, когда буду строить машину, поставлю иммобилайзер, чтобы водитель им пользовался раз в 90 минут. Ха-ха-ха... Да здравствует мастурбация!!! Я изобретатель глагола (masturtype) для описания современного мира и его производных (masturtyper, masturtypement и т.д.)! И для вашей энциклопедической информации, я впервые использовал их в w3schools.com. Я вежливо задал вопрос на форуме и получил очень невежливый ответ! К сожалению, после этого сообщения умные люди в SO удалят мою учетную запись, поэтому я подозреваю, что мне потребуется много времени, чтобы снова прочитать меня!!! До встречи!


person SONewbiee    schedule 16.07.2018    source источник
comment
Проверьте это: github.com/dmfay/massive-js/issues/381. P.S. Постарайтесь избежать флуда в своем вопросе, пожалуйста.   -  person vitaly-t    schedule 16.07.2018


Ответы (1)


Ваши параллельные фрагменты кода для node-postgres и pg-promise являются допустимыми, и пример pg-promise будет создавать ту же логику, что и ваш код node-postgres, создавая два отдельных пула.

Вы можете получить доступ к каждому пулу из ваших объектов db_1 и db_2 через свойство $ бассейн.

В этом подходе нет ничего запретного, это вполне штатная реализация.

person vitaly-t    schedule 16.07.2018