node-postgres разница между done () и done (клиент)

Используя node postgres, какая разница между done () и done (клиент). Согласно документации, если вы используете пул, done () просто возвращает соединение с пулом для будущего повторного использования, а done (клиент) удаляет соединение из пула.

Мой вопрос: в длительном процессе, действительно ли нам нужно удалять соединение из пула при ошибке, или мы можем просто зарегистрировать ошибку или что-то еще, а затем вернуть соединение в пул для повторного использования в будущем.

Кроме того, что было бы хорошим значением для pg.defaults.poolSize?

Заранее спасибо...


person jvillasante    schedule 19.02.2015    source источник
comment
pg.defaults.poolSize зависит от конфигурации оборудования. Мы сделали 100 для нашего производственного сервера в AWS для инстанса 4CPU / 8GB. В общем, нам не нужно удалять соединение из пула - добавление / удаление соединения будет дорогостоящей операцией.   -  person Piyas De    schedule 20.02.2015


Ответы (1)


В любом процессе, независимо от его продолжительности, всегда вызывайте done() после выполнения всех необходимых запросов. И если вы это сделаете, вам не нужно будет беспокоиться о размере пула.

person vitaly-t    schedule 24.04.2015