@kondratev-ad

Как установить соединение с Postgres и при потере, восстановить его?

Есть подписчик на Rabbit, который в логике взаимодействует с Postgres.
Как сделать так, чтобы при запуске скрипта подписчика, он подсоединялся еще и к Postgres и держал это соединение, а при потере соединения, восстанавливал его?
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
Maksclub
@Maksclub
maksfedorov.ru
Можете пользоваться пулом подключений, если подключения нет — пул автоматом создаст новое (обычно библиотеки, которые позволяют создать pool — хорошо и эффективно создают такие соединения)

Ваша задача только: между сервисами разделить потребности пулов, чтобы размеры пулов в сумме у всех сервисов не были больше количества соединений самого Postgres.

Также посмотрите на pgbouncer или odissey, если у вас нагруженное приложение.

Вообще пересоздать подключение не сложно — вы же создаете первое, также создаете и новое... Предварительно можете пинговать соединение через метод ping() — такой обычно есть у всех библиотек для работы с серверами баз, если оно занято — пересоздать его, Но вам нужно учитывать, что подключение может быть занято долгой транзакцией... потому пул соединений является лучшим решением.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы