You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In transaction pooling there are quite a few Postgres features that are unsupported. Most importantly:
SQL level prepared statements, i.e. PREPARE/EXECUTE/DEALLOCATE
LISTEN (NOTIFY is fine)
#972 is using a clever approach to detect that (currently unsupported) DEALLOCATE ALL/DISCARD ALL have been used, without actually needing any query parsing logic. We could use the same approach to detect PREPARE/EXECUTE/DEALLOCATE/LISTEN queries, and warn/error/close the connection. I feel that being loud about bad usage is probably better for the end user than silently accepting things that will almost certainly break.
There are also other features that are not supported in transaction pooling that we cannot detect using this approach, but at least catching some things seems better than catching nothing:
Session level SET/RESET (of things not in track_extra_parameters or the hardcoded list)
Session level advisory locks
The text was updated successfully, but these errors were encountered:
In transaction pooling there are quite a few Postgres features that are unsupported. Most importantly:
#972 is using a clever approach to detect that (currently unsupported) DEALLOCATE ALL/DISCARD ALL have been used, without actually needing any query parsing logic. We could use the same approach to detect PREPARE/EXECUTE/DEALLOCATE/LISTEN queries, and warn/error/close the connection. I feel that being loud about bad usage is probably better for the end user than silently accepting things that will almost certainly break.
There are also other features that are not supported in transaction pooling that we cannot detect using this approach, but at least catching some things seems better than catching nothing:
track_extra_parameters
or the hardcoded list)The text was updated successfully, but these errors were encountered: