Установка PostgreSQL for 1C 18 на Debian 13 одним запуском
В комплекте:
install_pg1c.sh— основной установочный скриптenv.example— пример файла.envсо всеми настройками и пояснениями на русском.env— минимальный рабочий вариант без комментариев
Скрипт автоматизирует официальный процесс установки Postgres Pro for 1C 18 по вашей инструкции:
- добавляет репозиторий через vendor-скрипт
pgpro-repo-add.sh - ставит пакет в режиме
standaloneилиparallel - включает и запускает systemd-сервис
- создает или обновляет пользователя PostgreSQL
- при необходимости создает базу данных
- при необходимости автоматически правит
pg_hba.conf, чтобы логин работал по паролю, а не упирался вpeer
Что нужно
- Debian 13
- доступ
root - интернет-доступ до репозитория Postgres Pro
git, если хотите сначала стянуть готовые файлы из открытого репозитория
Вариант 1. Быстрый запуск из локальных файлов
chmod +x install_pg1c.sh
sudo ./install_pg1c.sh
Вариант 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
chmod +x install_pg1c.sh
sudo ./install_pg1c.sh
Или скачать архивом
Можно скачать архив с той же страницы репозитория кнопкой Download ZIP или Download TAR.GZ, распаковать и запустить install_pg1c.sh. Эти варианты скачивания присутствуют на странице репозитория.
Подготовка .env
Если нужен полный шаблон с пояснениями
cp env.example .env
nano .env
Если нужен минимальный рабочий .env без комментариев
cp .env .env.local
nano .env.local
mv .env.local .env
Либо просто используйте уже готовый .env, если значения вам подходят.
Что настроить в .env
Обязательно проверьте:
INSTALL_MODEPG_ADMIN_USERPG_ADMIN_PASSWORDPG_CREATE_DBPG_DB_NAMEENFORCE_PASSWORD_AUTHPGPRO_REPO_ADD_URLPGPRO_REPO_SCRIPT_NAME
Режимы установки
1) Если это единственный Postgres на сервере
INSTALL_MODE=standalone
Ставится пакет:
postgrespro-1c-18
2) Если на сервере уже есть другой Postgres
INSTALL_MODE=parallel
Ставится пакет:
postgrespro-1c-18-contrib
После этого скрипт сам вызывает initdb, включает сервис и запускает его.
Про аутентификацию
По умолчанию на Linux локальные подключения к PostgreSQL часто идут через peer, из-за чего пароль вроде бы задан, но вход под новым пользователем не работает через локальный сокет.
Во второй версии скрипта это закрыто параметром:
ENFORCE_PASSWORD_AUTH=true
Тогда скрипт:
- определяет фактический путь к
pg_hba.conf - делает резервную копию
- заменяет
peer/identна нужный метод (scram-sha-256по умолчанию) - перезапускает сервис
Рекомендуемые значения:
REPLACE_LOCAL_PEER_WITH=scram-sha-256
REPLACE_HOST_AUTH_WITH=scram-sha-256
Проверки после установки
Статус сервиса:
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
Что делает скрипт безопасно
Скрипт старается быть идемпотентным:
- если репозиторий уже добавлен, повторно не ломает конфигурацию
- если роль уже существует, обновляет пароль и атрибуты
- если база уже существует, повторно не создает ее
- перед правкой
pg_hba.confделает бэкап, еслиCREATE_HBA_BACKUP=true
Важно
- Скрипт рассчитан именно на Debian 13.
- Он использует официальный vendor-скрипт добавления репозитория, а не самодельную схему репозиториев.
- Если доступ к репозиторию требует логин/пароль, это обрабатывает сам vendor-скрипт Postgres Pro.
- В открытом репозитории сейчас лежат
env,env.example,install_pg1c.shиREADME.md, так что его можно использовать как точку входа для развертывания или передачи готового комплекта. citeturn437110view0
Рекомендуемый порядок файлов в проекте
install_pg1c.sh
env.example
.env
README.md