TimescaleDB 2.30.2 pour PostgreSQL 16 à 18, 2.28.3 gardé pour PostgreSQL 15
🚀 Docker Build and Push / build-and-push (15) (push) Successful in 2m58s
🚀 Docker Build and Push / build-and-push (16) (push) Successful in 3m39s
🚀 Docker Build and Push / build-and-push (17) (push) Successful in 3m37s
🚀 Docker Build and Push / build-and-push (18) (push) Successful in 3m36s

- TIMESCALEDB_VERSION passe de 2.28.3 à 2.30.2. Vérifié pour 16, 17 et 18 :
  compilation, tests, et reprise d'une base créée par l'image publiée après
  `ALTER EXTENSION timescaledb UPDATE`.
- TimescaleDB 2.29 a retiré PostgreSQL 15 (`Unsupported PostgreSQL version` à la
  compilation) : `pg15` garde 2.28.3 par TIMESCALEDB_VERSION_PG15.
- Décision 0007, tableau et badge du README, procédure de changement de version.

Une base existante refuse toute requête sur la nouvelle image tant que
l'extension n'est pas mise à niveau : voir docs/exploitation/publication.md.
This commit is contained in:
maxime.killinger committed 2026-10-02 18:02:35 +02:00
1 parent 7de55c5655
commit a57c520610
6 files changed
+62 -22

No files matched your search

+13 -5
View File
@@ -61,21 +61,29 @@ SELECT postgis_extensions_upgrade();
1. Construire et tester en local contre l'image publiée, pour chaque version de PostgreSQL :
```bash
docker build --build-arg PG_VERSION=17 --build-arg TIMESCALEDB_VERSION=2.30.2 -t postgres-ts-vectors:essai .
docker build --build-arg PG_VERSION=17 --build-arg TIMESCALEDB_VERSION=X.Y.Z -t postgres-ts-vectors:essai .
docker pull gitea.killinger.fr/maxime.killinger/postgres-ts-vectors:pg17
./tests.sh postgres-ts-vectors:essai gitea.killinger.fr/maxime.killinger/postgres-ts-vectors:pg17
```
Une version de TimescaleDB qui abandonne une version de PostgreSQL échoue à la
compilation : cette version de PostgreSQL sort alors de la matrice, ou garde l'ancienne
version de TimescaleDB.
compilation (`Unsupported PostgreSQL version`). Cette version de PostgreSQL sort alors de
la matrice, ou garde sa propre version de TimescaleDB, comme PostgreSQL 15
([0007](../decisions/0007-postgresql-15-garde-timescaledb-2-28.md)).
2. Changer `TIMESCALEDB_VERSION` dans le `Dockerfile`, le tableau et le badge du `README.md`.
3. Prévenir les exploitants **avant** de pousser. Dès qu'un conteneur est recréé sur la
nouvelle image, sa base refuse toute requête jusqu'à l'exécution de :
```bash
docker exec -it <conteneur> psql -X -U <utilisateur> -d <base> -c 'ALTER EXTENSION timescaledb UPDATE'
```
La commande est à passer dans chaque base qui a l'extension. `-X` et une session neuve
sont nécessaires : l'instruction doit être la première de la session.
La commande est à passer dans chaque base du serveur qui a l'extension, `postgres`
comprise si elle l'a. `-X` et une session neuve sont nécessaires : l'instruction doit être
la première de la session. Les bases se relèvent **avant** de recréer le conteneur, tant
que toutes répondent :
```sql
SELECT datname FROM pg_database WHERE datallowconn AND NOT datistemplate; -- les bases
SELECT extversion FROM pg_extension WHERE extname = 'timescaledb'; -- dans chacune
```
Les applications qui gardaient des connexions ouvertes sont à redémarrer.
## Changer la version de VectorChord