I'm working on the .NET driver for PostgreSQL, Npgsql, and I think I've come across an issue.
During my tests, I set pgbouncer in transaction mode, and sent a packet containing a SET statement_timeout=30000 simple query message, followed by a regular extended protocol query: this seemed to make pgbouncer "lose sync" in some way. I know SET isn't supported in transaction mode, but I'd have expected a clear error rather than the strange behavior below:
Messages sent (as in wireshark): Q/P/D/B/E/S (the first Q is the SET)
Messages received: C/Z
pgbouncer logs:
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'S' from server when not linked
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'S' from server when not linked
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'C' from server when not linked
2015-05-24 11:58:13.192 24481 WARNING S-0x8a677a0: npgsql_tests/npgsql_tests@127.0.0.1:5432 got packet 'Z' from server when not linked
pgbouncer 1.5.4 on Ubuntu utopic, PostgreSQL 9.3. Let me know if there's any other info that can help.
I'm working on the .NET driver for PostgreSQL, Npgsql, and I think I've come across an issue.
During my tests, I set pgbouncer in transaction mode, and sent a packet containing a
SET statement_timeout=30000simple query message, followed by a regular extended protocol query: this seemed to make pgbouncer "lose sync" in some way. I know SET isn't supported in transaction mode, but I'd have expected a clear error rather than the strange behavior below:Messages sent (as in wireshark): Q/P/D/B/E/S (the first Q is the SET)
Messages received: C/Z
pgbouncer logs:
pgbouncer 1.5.4 on Ubuntu utopic, PostgreSQL 9.3. Let me know if there's any other info that can help.