2026-03-25 11:11:30 +00:00
2026-03-25 11:06:18 +00:00
2026-03-25 11:06:32 +00:00
2026-03-25 11:11:30 +00:00
2026-03-25 10:15:53 +00:00

Установка и удаление PostgreSQL for 1C 18 на Debian 13

В комплекте:

  • install_pg1c.sh — основной установочный скрипт
  • uninstall_pg1c.sh — скрипт удаления
  • env.example — пример файла .env со всеми настройками и пояснениями на русском
  • .env — минимальный рабочий вариант без комментариев
  • use.md — пример подключения к Django

Что делают скрипты

install_pg1c.sh автоматизирует установку Postgres Pro for 1C 18:

  • добавляет репозиторий через vendor-скрипт pgpro-repo-add.sh
  • ставит пакет в режиме standalone или parallel
  • включает и запускает сервис
  • создает или обновляет пользователя PostgreSQL
  • при необходимости создает базу данных
  • адресно добавляет managed-блок в pg_hba.conf для вашего прикладного пользователя

uninstall_pg1c.sh автоматизирует удаление:

  • останавливает сервис
  • отключает автозапуск
  • удаляет пакеты через apt-get purge
  • по желанию удаляет каталог данных
  • по желанию удаляет файл репозитория, auth-файл и GPG-ключ

Что нужно

  • Debian 13
  • доступ root
  • интернет-доступ до репозитория Postgres Pro
  • git, если хотите сначала стянуть готовые файлы из открытого репозитория

Быстрый запуск из локальных файлов

Установка

cp env.example .env
nano .env
chmod +x install_pg1c.sh
sudo ./install_pg1c.sh

Удаление

chmod +x uninstall_pg1c.sh
sudo ./uninstall_pg1c.sh

Вариант 1. ZIP архив

Скачиваем ZIP архив репозитория:

wget https://git.ext.flamy.studio/flamy_preview/pg18-1C_for_deb13/archive/main.zip -O pg18-1C_for_deb13.zip
unzip pg18-1C_for_deb13.zip
cd pg18-1c_for_deb13

Вариант 2. Стянуть готовый комплект из открытого репозитория

Открытый репозиторий проекта:

https://git.ext.flamy.studio/flamy_preview/pg18-1C_for_deb13

Стянуть через git

git clone https://git.ext.flamy.studio/flamy_preview/pg18-1C_for_deb13.git
cd pg18-1C_for_deb13

Подготовка .env

Если нужен полный шаблон с пояснениями

cp env.example .env
nano .env

Если нужен минимальный рабочий .env без комментариев

cp .env .env.local
nano .env.local
mv .env.local .env

Что настраивается в .env для установки

Обязательно проверьте:

  • INSTALL_MODE
  • PG_ADMIN_USER
  • PG_ADMIN_PASSWORD
  • PG_CREATE_DB
  • PG_DB_NAME
  • REPO_ADD_URL
  • PGPRO_BIN_DIR
  • SERVICE_NAME

Для managed-правил в pg_hba.conf:

  • ENFORCE_PASSWORD_AUTH
  • APP_LOCAL_AUTH_METHOD
  • APP_HOST_AUTH_METHOD
  • APP_HOST_IPV4_CIDR
  • APP_HOST_IPV6_CIDR
  • PRESERVE_POSTGRES_PEER_LOCAL

Режимы установки

Если это единственный Postgres на сервере

INSTALL_MODE=standalone

Ставится пакет:

postgrespro-1c-18

Если на сервере уже есть другой Postgres

INSTALL_MODE=parallel

Ставится пакет:

postgrespro-1c-18-contrib

После этого скрипт сам вызывает initdb, включает сервис и запускает его.

Как работает правка pg_hba.conf

Скрипт не переписывает весь файл целиком. Он:

  • определяет фактический путь к pg_hba.conf
  • делает резервную копию, если CREATE_HBA_BACKUP=true
  • удаляет только старый managed-блок скрипта, если он уже есть
  • добавляет новый managed-блок в начало файла
  • по умолчанию сохраняет peer для локального системного пользователя postgres

Это нужно, чтобы повторные запуски не ломали административный вход через:

sudo -u postgres /opt/pgpro/1c-18/bin/psql -h /var/run/postgresql -d postgres

Использование скрипта удаления

Скрипт удаления читает тот же .env, что и установочный.

Без удаления данных

Это безопасный режим по умолчанию:

sudo ./uninstall_pg1c.sh

Что будет сделано:

  • сервис остановится
  • автозапуск отключится
  • пакеты будут удалены через apt-get purge
  • репозиторий Postgres Pro будет убран из APT
  • каталог данных останется на месте

Полное удаление вместе с данными

Для полного удаления добавьте в .env:

UNINSTALL_REMOVE_DATA_DIR=true
UNINSTALL_REMOVE_LOG_DIR=true
UNINSTALL_REMOVE_HOME_DIRS=true

И затем выполните:

sudo ./uninstall_pg1c.sh

Скрипт попросит явное подтверждение DELETE.

Полное удаление без интерактивного подтверждения

UNINSTALL_REMOVE_DATA_DIR=true
UNINSTALL_REMOVE_LOG_DIR=true
UNINSTALL_REMOVE_HOME_DIRS=true
UNINSTALL_FORCE=true

Используйте это только если уверены, что каталог данных больше не нужен.

Параметры удаления

Скрипт uninstall_pg1c.sh поддерживает следующие переменные в .env:

UNINSTALL_DISABLE_SERVICE=true
UNINSTALL_STOP_SERVICE=true
UNINSTALL_PURGE_PACKAGES=true
UNINSTALL_AUTOREMOVE=true
UNINSTALL_REMOVE_REPO=true
UNINSTALL_REMOVE_AUTH_FILE=true
UNINSTALL_REMOVE_GPG_KEY=true
UNINSTALL_REMOVE_DEFAULT_FILE=false
UNINSTALL_REMOVE_DATA_DIR=false
UNINSTALL_REMOVE_LOG_DIR=false
UNINSTALL_REMOVE_HOME_DIRS=false
UNINSTALL_FORCE=false

При необходимости можно явно задать каталог данных, если он у вас нестандартный:

PGPRO_DATA_DIR=/путь/к/вашему/PGDATA

Проверки после установки

Статус сервиса:

systemctl status postgrespro-1c-18

Список ролей:

sudo -u postgres /opt/pgpro/1c-18/bin/psql -h /var/run/postgresql -d postgres -c "\\du"

Список баз:

sudo -u postgres /opt/pgpro/1c-18/bin/psql -h /var/run/postgresql -d postgres -c "\\l"

Подключение под созданным пользователем:

/opt/pgpro/1c-18/bin/psql -h 127.0.0.1 -U admin_1c -d appdb -W

Что делает комплект безопасно

  • установка повторно не дублирует managed-блок в pg_hba.conf
  • удаление по умолчанию не стирает каталог данных
  • для удаления данных есть отдельные флаги и подтверждение
  • репозиторий и ключи удаляются отдельно от данных кластера
Description
No description provided
Readme 84 KiB
Languages
Shell 100%