Skip to content

Commit 2d5ce23

Browse files
NikolaySSarumyan
authored andcommitted
docs(readme): flag PostgreSQL 15→17 breaking change in Upgrading section
1 parent 5f8af30 commit 2d5ce23

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,35 @@ postgresai mon health
260260

261261
## 🔄 Upgrading
262262

263+
> ⚠️ **Breaking change in 0.15.0 — bundled PostgreSQL 15 → 17 requires a data migration.**
264+
>
265+
> 0.15.0 upgrades the stack's bundled PostgreSQL from 15 to 17 (`sink-postgres`, and on the
266+
> demo `target-db` / `target-standby`). PostgreSQL's on-disk format is not compatible across major
267+
> versions, so the new images **refuse to start** on a PostgreSQL 15 data directory — an in-place
268+
> upgrade will not come up until you migrate the data. Nothing is deleted automatically, and your
269+
> externally-monitored databases are unaffected, but you must act on the bundled databases before
270+
> bringing the stack up.
271+
>
272+
> **`sink-postgres`** stores your historical monitoring measurements, so choose one:
273+
> - **Preserve history** — while still on the old images, dump it, then restore after the upgrade:
274+
> ```bash
275+
> # before `mon stop`/upgrade, with sink-postgres (PG15) running:
276+
> docker compose exec sink-postgres pg_dumpall -U postgres > sink-pg15.sql
277+
> # after the stack is on PG17 (sink-postgres recreated empty):
278+
> docker compose exec -T sink-postgres psql -U postgres < sink-pg15.sql
279+
> ```
280+
> - **Start fresh** — remove its volume so PostgreSQL 17 initializes a clean data directory.
281+
> This **discards all previously collected monitoring measurements** (new metrics accumulate
282+
> from scratch); find the volume with `docker volume ls | grep sink_postgres_data`, then
283+
> `docker volume rm <name>` while the stack is stopped.
284+
>
285+
> The demo `target-db` / `target-standby` hold only throwaway sample data — just reset their
286+
> volumes the same way (or re-run `postgresai mon local-install --demo` to recreate them).
287+
>
288+
> Keep the old PostgreSQL 15 volume as a backup until you have verified PostgreSQL 17. The full
289+
> upgrade steps are below; see also the
290+
> [monitoring upgrade docs](https://postgres.ai/docs/monitoring/getting-started).
291+
263292
To upgrade postgres_ai monitoring to a newer version:
264293
265294
### Step 1: Update the CLI

0 commit comments

Comments
 (0)