Ops: upgrade PostgreSQL 16 → 18
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 22/100
Línea de trabajo
Start with the image tags in docker-compose.yaml and docker-compose.test.yaml, which pin postgres:17-alpine, and the Portainer stack in deployment/portainer/docker-compose.portainer.yaml. Confirm the production version and extensions on the host, then rehearse the 16-to-18 upgrade on a staging copy and run manage.py migrate plus the test suite. Done means production reports PostgreSQL 18.x and the API, Celery and Channels paths work; this needs production access, so it is not a good first task.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Goal
Upgrade production (and align dev) PostgreSQL from 16 to 18 with minimal downtime and a verified rollback path.
Context
- Production currently on PostgreSQL 16 (operator-confirmed).
- In-repo dev compose uses
postgres:17-alpine(docker-compose.yaml,docker-compose.test.yaml) — consider aligning dev/test to 18 after prod upgrade. - Portainer deployment:
deployment/portainer/docker-compose.portainer.yaml— app services onpg_net; Postgres may be a separate stack/volume. - Django 4.x/5.x supports PostgreSQL 14+; confirm no extension/version blockers (
pg_trgm, etc.).
Suggested approach
- Prerequisite: automated backups in place (see separate backup ticket) + fresh manual dump before upgrade.
- Staging: upgrade staging clone 16→18; run full test suite + smoke (migrate, ingest, admin).
- Production:
pg_upgradeor dump/restore — pick based on data size and downtime budget. - Update image tags / Portainer env / any CI test DB image to
postgres:18-alpine(or pinned minor). - Post-upgrade:
VACUUM/ analyze, verify extensions, connection pooling (if any).
Scope
- Inventory PG version, extensions, and data directory layout on prod host
- Document upgrade runbook (steps, estimated downtime, rollback = restore from backup)
- Execute on staging; record issues
- Production maintenance window + upgrade
- Bump dev/test compose images to 18 for parity
- Update deployment docs
Risks
- Major version jump (16→18): use PostgreSQL upgrade docs; test
pg_upgradeon copy first. - Meshflow migration history: run
manage.py migrateafter upgrade on staging.
Acceptance
- Production
SELECT version();reports PostgreSQL 18.x - Meshflow API, Celery workers, and Channels/WebSocket paths operate normally post-upgrade
- Dev compose references Postgres 18 (or documents intentional lag)
- Lenguaje dominante
- Python
- Estrellas
- 1
- Forks
- 0
- Merge medio
- 23 h 9 min
- PR fusionados (30 d)
- 15
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
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 pskillen/meshflow-api
-
enhancement meshtastic-2.8
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
pskillen/meshflow-api#459 ·
Los mantenedores suelen responder en 1 día
-
bug tech-debt
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
pskillen/meshflow-api#480 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 Medio día Aptitud para principiantes 55/100
pskillen/meshflow-api#479 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
pskillen/meshflow-api#478 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 73/100
pskillen/meshflow-api#472 ·
Los mantenedores suelen responder en 1 día
Todos los issues de pskillen/meshflow-api
Issues similares
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 2 días
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Official-Space-AI/OpenPhysGraspGen#114 ·
Los mantenedores suelen responder en 2 días
-
changelog investigate
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ramnes/notion-sdk-py#441 ·
-
qa_bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NVIDIA-NeMo/Gym#5644 ·
Los mantenedores suelen responder en 2 días
-
BUG: catalog database credentials printed to logs at startupPosiblemente ocupada @cjboyle la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día