polyanin
@polyanin
Golang, PHP & Symfony developer

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

Приветствую!
Как работать с пулами соединений к постгре в GO, как организовать постоянное соединение и надо ли? Какие либы? sqlx pgx? Как получить свободное соединение из пула?
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ответы на вопрос 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 не привносят ничего нового в управление пулом соединений.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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