From e33e593c990a5b7e869682a2d88e49f3ca12a066 Mon Sep 17 00:00:00 2001 From: grok Date: Sat, 26 Sep 2026 17:12:38 +0700 Subject: [PATCH] =?UTF-8?q?docs(e2e):=20K18=20=E2=80=94=20=D0=B2=D0=BE?= =?UTF-8?q?=D1=81=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D1=80=20=D0=B1=D0=B5=D0=B7=20=D1=80=D0=BE=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Почему: backup.sh снимает только pg_dump -Fc одной БД, без ролей (globals). Проверено на временном кластере PG17 без ролей krona_*: pg_restore exit=1, 61 ошибка «role krona_migrator does not exist», данные есть, владелец — postgres. В пилоте роли, вероятно, создаются при инициализации контейнера (POSTGRES_USER, docker/postgres/init-app-role.sh) — без Docker не проверено. --- .../report-evidence/round3-k18-and-rehome.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/e2e/report-evidence/round3-k18-and-rehome.md b/tests/e2e/report-evidence/round3-k18-and-rehome.md index 7745e0f..7764c65 100644 --- a/tests/e2e/report-evidence/round3-k18-and-rehome.md +++ b/tests/e2e/report-evidence/round3-k18-and-rehome.md @@ -105,6 +105,28 @@ $ E2E_DATABASE_NAME=krona_diag_rehome_e2e node scripts/test/run-e2e.mjs ✓ tests/e2e/60-pilot-rehome.e2e.ts > PILOT-REHOME: перенос заглушки арендатора на настоящий tenant > [PILOT-REHOME-SEED] сиды покрывают все таблицы с tenant_id (список из information_schema) 177ms ✓ tests/e2e/60-pilot-rehome.e2e.ts > PILOT-REHOME: перенос заглушки арендатора на настоящий tenant > [PILOT-REHOME] --dry-run, перенос админом, сверка, повторный запуск отказывает 460ms +## 5. Восстановление в «голый» кластер (ролей нет) + +Тот же `pg_dump -Fc` (источник krona_k18_src, владелец таблиц krona_migrator, как в стенде e2e), +восстановление во временный кластер PG17 (initdb, порт 55439), где ролей krona_* нет: + +```text +$ createdb krona_staff (свежий кластер PG17, ролей krona_* нет) && pg_restore --exit-on-error -d krona_staff d.dump +pg_restore: error: could not execute query: ERROR: role "krona_migrator" does not exist +Command was: ALTER SCHEMA public OWNER TO krona_migrator; +exit=1 +$ pg_restore без --exit-on-error (как по умолчанию) +exit=1 +ошибок: 61 +pg_restore: error: could not execute query: ERROR: role "krona_migrator" does not exist +154 # staff_employees: строки восстановлены +postgres # владелец staff_employees +0 # ролей krona_* в кластере +``` + +В пилоте владелец — POSTGRES_USER, а krona_staff_app создаёт `docker/postgres/init-app-role.sh` +при инициализации контейнера — там роли, вероятно, будут; без Docker не проверено. + ### Исходный код адаптера (вариант 2) ```js