7.8 KiB
Установка и удаление 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_MODEPG_ADMIN_USERPG_ADMIN_PASSWORDPG_CREATE_DBPG_DB_NAMEREPO_ADD_URLPGPRO_BIN_DIRSERVICE_NAME
Для managed-правил в pg_hba.conf:
ENFORCE_PASSWORD_AUTHAPP_LOCAL_AUTH_METHODAPP_HOST_AUTH_METHODAPP_HOST_IPV4_CIDRAPP_HOST_IPV6_CIDRPRESERVE_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 - удаление по умолчанию не стирает каталог данных
- для удаления данных есть отдельные флаги и подтверждение
- репозиторий и ключи удаляются отдельно от данных кластера