It seems that PostgreSQL transactional pool mode is not supported yet.
- Vorherrschende Sprache
- Go
- Sterne
- 15.7k
- Forks
- 1.4k
- Ø Merge
- 3 T. 8 Std.
- Gemergte PRs (30 T.)
- 7
Beschreibung
## Describe the bug
Problem:
Using pgbouncer's transaction mode (port 6543) instead of session mode causes critical issues:
Parameter Binding Error
Error message "bind message supplies 4 parameters, but prepared statement requires 1" typically occurs when pgbouncer creates new connections for each query.
This breaks XORM's parameter binding mechanism, causing a mismatch in the number of parameters expected by the query statement. (It seems session states are being used and lost.)
Example error:
> bind message supplies 4 parameters, but prepared statement requires 1
For the Query: "SELECT \"id\", \"created_at\", \"updated_at\", \"user_id\", \"invite_user_id\", \"last_edit_user_id\", \"title\", \"original_text\", \"parsed_text\", \"pin\", \"show\", \"status\", \"view_count\", \"unique_view_count\", \"vote_count\", \"answer_count\", \"hot_score\", \"collection_count\", \"follow_count\", \"accepted_answer_id\", \"last_answer_id\", \"post_update_time\", \"revision_id\" FROM \"question\" WHERE \"question\".\"status\" IN ($1,$2) AND (question.show = $3) AND (question.created_at > $4) ORDER BY question.pin desc,question.hot_score DESC LIMIT 6"
### To Reproduce
Steps to reproduce the behavior:
1. With a brand new system being set up with an transaction mode postgresdb, you can get the error everytime.
### Expected behavior
5xx error report
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Reproduziere den Fehler mit PostgreSQL hinter pgbouncer im Transaktionsmodus auf Port 6543 und verwende dabei die Abfrage und den Fehler bei der Parameterbindung aus dem Report. Verfolge, wie der Zustand der Verbindung und der vorbereiteten Anweisung behandelt wird; fertig ist die Untersuchung, wenn die Abfrage im Transaktionsmodus nicht mehr mit einem Fehler wegen einer abweichenden Parameteranzahl fehlschlägt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- go, postgresql
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100