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