SET search_path in PostgreSQL is not transactional — it survives rollback and persists on the connection. Previously, connections returned to the pool with a modified search_path, causing subsequent queries on the same connection to run against the wrong schema. Now RESET search_path is always called after schema-scoped queries and transactions.