polyanin
@polyanin
Golang, PHP & Symfony developer

Как вы работаете с пулом соединений postgresql в GO?

Приветствую!
Как работать с пулами соединений к постгре в GO, как организовать постоянное соединение и надо ли? Какие либы? sqlx pgx? Как получить свободное соединение из пула?
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ответы на вопрос 1
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
database.sql.DB из stdlib непрозрачно поддерживает пул соединений под капотом. Для управления пулом предлагаются методы
  • DB.SetMaxOpenConns
  • DB.SetMaxIdleConns
  • DB.SetConnMaxLifetime

Манипулирование этими квотами не имеет четких рецептов, нужно пробовать по месту в зависимости от характера нагрузки.
Когда вы формируете транзакцию db.BeginTxдля нее выбирается свободное соединение из пула.
Если вам нужно получить в управление постоянное соединение из пула вы делаете
conn, err := Db.Conn(context)
и формируете транзакцию conn.BeginTx на этом соединении.
sqlx и pgx не привносят ничего нового в управление пулом соединений.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Space307 Санкт-Петербург
от 180 000 ₽
Level Travel Москва
от 130 000 до 200 000 ₽
DiState Санкт-Петербург
от 100 000 ₽
28 сент. 2020, в 22:46
1500 руб./за проект
28 сент. 2020, в 22:42
5000 руб./за проект
28 сент. 2020, в 21:50
600 руб./в час