Skip to content

Commit d46349b

Browse files
gpas45claude
andcommitted
pgsql: поддержка штатной шаблонной схемы экземпляров postgrespro-<ver>@<порт>
Скрипт теперь видит и управляет экземплярами, созданными штатным тулингом PG Pro через шаблонный юнит (@-схема), а не только своими legacy dash-экземплярами: - discover_instances находит @-экземпляры (enabled-симлинки + активные/загруженные); - instance_name парсит postgrespro-<ver>@<порт>; - unit_pgdata определяет реальный PGDATA (Environment -> -D процесса -> EnvironmentFile), с защитой от подстановки общего файла дефолтного кластера; - unit_pgport берёт порт из postgresql.conf или systemd PGPORT; - create_instance создаёт через шаблон (per-instance EnvironmentFile + универсальный drop-in через %I), если шаблон есть; иначе откат на прежнюю dash-схему; - remove_instance/remove_release корректно чистят файлы обеих схем; - change_port для @-экземпляров поясняет, что порт = имя (нужно пересоздание). Проверено на dev полным циклом create/discover/list/remove через временный шаблон. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent aafe4f2 commit d46349b

2 files changed

Lines changed: 190 additions & 59 deletions

File tree

pgsql/INSTALL-pgpro-1c.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,14 @@ systemctl reload postgrespro-$PGVER
180180
Несколько кластеров `pg-setup` не умеет, поэтому экземпляр собирается вручную: отдельный
181181
каталог + копия юнита + персональный `EnvironmentFile` + drop-in. **Имя экземпляра = порт.**
182182

183+
> **Если пакет даёт шаблонный юнит** `postgrespro-<ver>@.service` (новые сборки PG Pro) —
184+
> предпочтительнее штатная шаблонная схема `postgrespro-<ver>@<порт>`: каталог
185+
> `/var/lib/pgpro/<ver>/data-<порт>`, per-instance `EnvironmentFile`
186+
> `/etc/default/postgrespro-<ver>-<порт>` с `PGDATA=…`, и универсальный drop-in
187+
> (`EnvironmentFile=/etc/default/postgrespro-<ver>-%I`, `Environment=PGPORT=%I`), затем
188+
> `systemctl enable --now postgrespro-<ver>@<порт>`. `pg-server-manager.sh` выбирает эту
189+
> схему автоматически, если шаблон есть; ниже описан запасной вариант с копией юнита.
190+
183191
```bash
184192
: "${PGVER:?задайте: export PGVER=1c-18}"
185193
export PORT=5433

0 commit comments

Comments
 (0)