upgrade na pg18
Some checks failed
deploy / deploy (push) Failing after 0s
test / smoke-test (push) Has been cancelled

This commit is contained in:
Dusan Vojacek
2026-04-05 10:45:39 +02:00
parent dd47a22d61
commit 2f7d3c2770
6 changed files with 223 additions and 9 deletions

View File

@@ -20,8 +20,11 @@
# TimescaleDB doporučení z dokumentace (full restore):
# - Cílová DB má mít rozšíření timescaledb před restore.
# - Před pg_restore: SELECT timescaledb_pre_restore();
# - Po pg_restore: SELECT timescaledb_post_restore();
# - Stejná major verze Postgres + Timescale jako u zálohy.
# - Po pg_restore: ALTER EXTENSION timescaledb UPDATE; (srovná katalog zálohy s verzí v imagi
# jinak post_restore hlásí „catalog version mismatch expected … seen …“)
# - Pak: SELECT timescaledb_post_restore();
# - Ideálně stejná major verze Postgres + Timescale jako u zálohy; jinak pin imagí
# (např. timescale/timescaledb:2.25.2-pg16 místo latest-pg16).
# - Bez paralelního pg_restore (-j) může rozbít pořadí objektů a chunky.
#
# pg_restore z běžného pg_dump i tak může u hypertable vygenerovat nevhodné DDL (např. ALTER TABLE ONLY
@@ -103,10 +106,18 @@ RESTORE_EXIT=$?
set -e
if [[ "${EMS_SKIP_TIMESCALE_RESTORE_HOOKS:-0}" != "1" ]]; then
echo "Timescale: timescaledb_post_restore()…"
if ! compose_db psql -U "$DB_USER" -d ems -v ON_ERROR_STOP=1 \
-c "SELECT timescaledb_post_restore();"; then
echo "ERROR: timescaledb_post_restore() selhal" >&2
echo "Timescale: ALTER EXTENSION timescaledb UPDATE (katalog ze zálohy → verze v imagi)…"
if compose_db psql -U "$DB_USER" -d ems -v ON_ERROR_STOP=1 \
-c "ALTER EXTENSION timescaledb UPDATE;"; then
echo "Timescale: timescaledb_post_restore()…"
if ! compose_db psql -U "$DB_USER" -d ems -v ON_ERROR_STOP=1 \
-c "SELECT timescaledb_post_restore();"; then
echo "ERROR: timescaledb_post_restore() selhal (zkontroluj verze PG/Timescale vs. záloha)." >&2
RESTORE_EXIT=1
fi
else
echo "ERROR: ALTER EXTENSION timescaledb UPDATE selhalo nespouštím post_restore." >&2
echo " Zkus v compose stejný Timescale tag jako u zdroje dumpu (např. :2.25.2-pg16), nebo nový dump po upgrade zdroje." >&2
RESTORE_EXIT=1
fi
else