37f3a94994640186cdd8f9997acfa043c7da6ab4
Установка PostgreSQL for 1C 18 на Debian 13 одним запуском
В комплекте:
install_pg1c.sh— основной установочный скриптenv.example— пример файла.envсо всеми настройками и пояснениями на русском
Скрипт автоматизирует официальный процесс установки Postgres Pro для 1С 18 по вашей инструкции:
- добавляет репозиторий через vendor-скрипт
pgpro-repo-add.sh - ставит пакет в режиме
standaloneилиparallel - включает и запускает systemd-сервис
- создает или обновляет пользователя PostgreSQL
- при необходимости создает базу данных
- при необходимости автоматически правит
pg_hba.conf, чтобы логин работал по паролю, а не упирался вpeer
Что нужно
- Debian 13
- доступ
root - интернет-доступ до репозитория Postgres Pro
Быстрый запуск
cp env.example .env
nano .env
chmod +x install_pg1c.sh
sudo ./install_pg1c.sh
Что настроить в .env
Обязательно проверьте:
INSTALL_MODEPG_ADMIN_USERPG_ADMIN_PASSWORDPG_CREATE_DBPG_DB_NAMEENFORCE_PASSWORD_AUTH
Режимы установки
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, но учетные данные доступа к репозиторию не дублируются вручную без явной необходимости.
Рекомендуемый порядок файлов в проекте
install_pg1c.sh
env.example
.env
README.md
Description
Languages
Shell
100%