configuring schema using search path does not work well in pgbouncer in transaction mode

Abierto
#345 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
go, postgresql
Área
database

Línea de trabajo

No repository files, tests, or implementation entry points are named. Start by investigating how River configures PostgreSQL search_path through pgx and how transaction pooling in PgBouncer affects that state; done would require a defined, tested way to configure the schema in transaction mode.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

so I can't seem to find a way to use poll only mode with a custom search path behind pgbouncer/similar in transaction pooling mode.

the recommendation I have read is to use pgx "search_path" in order to configure the schema that the river clients will use.

but behind pgbouncer, search path is not supported, for technical reasons.

https://github.com/pgbouncer/pgbouncer/issues/89

we use an in-house rewrite of pgbouncer and so we made search path work correctly for session connections, which seems to be working, but tracking search path in transaction mode is a bigger lift so we haven't tried (as the search path isn't in parameters, you would need to do an extra query before giving the conn the session for the transaction to set the search path)

for now we are just going to run everything in session mode.

Lenguaje dominante
Go
Estrellas
5.7k
Forks
179
Merge medio
15 h 43 min
PR fusionados (30 d)
13

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de riverqueue/river

Todos los issues de riverqueue/river

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.