@@ -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+
263292To upgrade postgres_ai monitoring to a newer version:
264293
265294# ## Step 1: Update the CLI
0 commit comments