It seems that PostgreSQL transactional pool mode is not supported yet.
- Lingua principale
- Go
- Stelle
- 15.7k
- Fork
- 1.4k
- Merge medio
- 3g 8h
- PR unite (30g)
- 7
Descrizione
## 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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Riproduci il malfunzionamento con PostgreSQL dietro pgbouncer in modalità transazione sulla porta 6543, utilizzando la query e l’errore di associazione dei parametri riportati nel report. Traccia la gestione dello stato della connessione e dell’istruzione preparata; il lavoro è completato quando la query non fallisce più con un errore di mancata corrispondenza del numero di parametri in modalità transazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- go, postgresql
- Ambito
- databases
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100