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