PG18 observability: DB-side pool/vacuum metrics to pair with the client-side heartbeat
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- azure, postgresql, typescript
- Área
- backend, databases, observability
Línea de trabajo
Empieza por observability/pool-monitor.ts y las consultas de diagnóstico en docs/operations/db-connection-pool.md; después, lee la sección 3.6 de docs/postgresql-v18-migration.md y docs/operations/postgres-18-baselines/. Primero verifica la disponibilidad de los parámetros de Azure Flexible Server y si el rol de la aplicación puede leer pg_stat_all_tables y pg_stat_io. Para darlo por terminado, se requiere un enfoque de observabilidad del lado de la DB definido y acotado que tenga en cuenta esas restricciones.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Unblocked by the Postgres 18 upgrade (see #4363). Part 3.6 of the audit in docs/postgresql-v18-migration.md.
What PG18 adds
pg_stat_all_tables.total_vacuum_time/total_analyze_time, plus autovacuum variants- byte-level columns in
pg_stat_io - per-index lookup counts in
EXPLAIN ANALYZE(Index Searches: N) log_connectionsgranularity, and a%Lclient-IP log prefix
Why it fits here
The pool heartbeat in observability/pool-monitor.ts is client-side only — it reports what the in-process pg.Pool believes. A DB-side counterpart would pair well with the diagnosis queries already written up in docs/operations/db-connection-pool.md, which currently require someone to open psql by hand during an incident.
The total_analyze_time columns have a specific local use: the upgrade showed that expression-index statistics are the thing most likely to be silently missing (see #4341 and the ANALYZE-ordering warning in docs/operations/postgres-18-baselines/). Being able to see when a table was last analysed, and how long it took, turns that from a thing you rediscover into a thing you can watch.
One already in use: Index Searches: N proved useful immediately — it appears in the post-upgrade plan captures and helped characterise the skip-scan behaviour.
Check availability before planning
Azure Flexible Server withholds a number of GUCs, so confirm which of these are exposed as server parameters before designing around them — log_connections granularity in particular is worth verifying rather than assuming. The catalog views (pg_stat_all_tables, pg_stat_io) need no GUC and are available now.
Note the app role is not a superuser; confirm it can read whatever views a heartbeat would query, or scope the reader appropriately.
- Lenguaje dominante
- TypeScript
- Estrellas
- 30
- Forks
- 8
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 202
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Urigo/accounter-fullstack
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Urigo/accounter-fullstack#4583 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Urigo/accounter-fullstack#4580 ·
Los mantenedores suelen responder en 2 días
-
Document PG18 migration conventions: NOT NULL NOT VALID, and generated columns default to VIRTUALAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Urigo/accounter-fullstack#4366 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Urigo/accounter-fullstack#4579 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Urigo/accounter-fullstack#4560 ·
Los mantenedores suelen responder en 2 días
Todos los issues de Urigo/accounter-fullstack
Issues similares
-
area/core status/need-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
google-gemini/gemini-cli#29602 ·
Los mantenedores suelen responder en 1 día
-
area: backend enhancement priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
snapotter-hq/SnapOtter#1879 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Tencent/BrowserSkill#390 ·
Los mantenedores suelen responder en 1 día
-
good first issue status: needs triaging type: bug version: 2.0
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
medusajs/medusa#17094 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día