diff --git a/lib/gat/pool/flow.go b/lib/gat/pool/flow.go index 677d0ddda12eeaee4282ef64d4759523660c60cf..0dce80416b81122000c6e32f8f2cc6fbc56a8c97 100644 --- a/lib/gat/pool/flow.go +++ b/lib/gat/pool/flow.go @@ -43,18 +43,28 @@ func SyncInitialParameters(options Options, client *Client, server *Server) (cli serverParams := server.GetInitialParameters() for key, value := range clientParams { - setServer := slices.Contains(options.TrackedParameters, key) - // skip already set params if serverParams[key] == value { - setServer = false - } else if !setServer { + p := packets.ParameterStatus{ + Key: key.String(), + Value: serverParams[key], + } + clientErr = client.GetConn().WritePacket(p.IntoPacket()) + if clientErr != nil { + return + } + continue + } + + setServer := slices.Contains(options.TrackedParameters, key) + + if !setServer { value = serverParams[key] } p := packets.ParameterStatus{ Key: key.String(), - Value: serverParams[key], + Value: value, } clientErr = client.GetConn().WritePacket(p.IntoPacket()) if clientErr != nil { diff --git a/pgbouncer.ini b/pgbouncer.ini index 428dbd8b0a5b045ffedfa82d061e6dfccc05ecf3..f88533fac048cbd141487c89fc86ae2c940fba52 100644 --- a/pgbouncer.ini +++ b/pgbouncer.ini @@ -1,5 +1,5 @@ [pgbouncer] -pool_mode = transaction +pool_mode = session auth_file = userlist.txt listen_addr = * track_extra_parameters = IntervalStyle, session_authorization, default_transaction_read_only, search_path