Установка PostgreSQL 10 для 1С:Предприятие на Debian / Ubuntu

  • Автор:

postgrespro-1c-debian.pngPostgreSQL является второй по популярности СУБД для использования с 1С:Предприятия, позволяя существенно сэкономить на лицензиях, а с выходом новых конфигураций, поддерживающих управляемые блокировки, вопрос производительности отошел на второй план, сегодня при обычной работе вы вряд ли почувствуете разницу. Следующим шагом будет вполне обоснованный отказ от платформы Windows в пользу решений на Linux. Поэтому мы сегодня рассмотрим процесс установки сборки от Postgres Professional на актуальные дистрибутивы Debian и Ubuntu.

Почему именно Postgres Professional? Начнем с того, что Postgres Professional - это не "еще одна сборка", разработчики и основатели одноименной российской компании являются одними из ведущих разработчиков PostgreSQL, а также именно эти люди стояли у истоков адаптации PostgreSQL для 1С. Поэтому можно сказать, что сборка от Postgres Professional - это PostgreSQL из первых рук. Также Postgres Professional, в отличие от 1С, используют традиционный подход к распространению ПО для Linux - через репозитории, что позволяет прозрачно решать вопросы с зависимостями и легко обновляться в рамках текущей версии.

В качестве платформы для установки мы будем использовать Debian 9.5 и Ubuntu 16.04.5 LTS, обязательным условием нормального функционирования сборки является использование по умолчанию в системе консоли ru_RU.UTF-8, проверить это можно командой:

locale

Вывод должен выглядеть следующим образом:

postgrespro-1c-debian-001.pngЕсли это не так, то следует произвести русификацию системы, для этого воспользуйтесь нашей статьей: Настройка языка и региональных стандартов в Ubuntu Server/Debian

Следует отметить, что разработчики подготовили отличный конструктор, который позволяет получить готовые инструкции по установке на выбранного дистрибутива на выбранную версию ОС. Если следовать ему дословно, то вы без проблем установите рабочий экземпляр СУБД. Однако данные инструкции не отражают всех моментов начальной настройки (которые, тем не менее, подробно описаны в документации), поэтому мы в данной статье обобщили все необходимые материалы и подготовили инструкцию для установки "под ключ".

Сразу оговоримся, мы будем устанавливать 64-х разрядную версию PostgreSQL 10.5, так как мы не видим никакого практического смысла в установке 32-х разрядных версий СУБД. Если вам необходима иная версия, то потребуется подключить другой репозиторий, для этого воспользуйтесь инструкциями на сайте разработчиков.

Прежде всего скачаем и установим PGP-ключ репозитория Postgres Professional:

cd~
wget http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO
apt-key add GPG-KEY-POSTGRESPRO

Первая команда меняет рабочую директорию на домашнюю, затем мы скачиваем ключ и добавляем его в систему.

Теперь добавим репозиторий для Debian:

echo deb http://repo.postgrespro.ru/1c-archive/pg1c-10.5/debian stretch main > /etc/apt/sources.list.d/postgrespro.list

Для Ubuntu:

echo deb http://repo.postgrespro.ru/1c-archive/pg1c-10.5/ubuntu xenial main > /etc/apt/sources.list.d/postgrespro.list

Обновим список пакетов:

apt update

И установим нужную нам версию PostgreSQL:

apt install postgrespro-1c-10-server

Обратите внимание, что название пакета и службы отличаются от стандартного postgresql, в нашем случае следует указывать postgrespro-1c-10. Это сделано сознательно, чтобы избежать некорректной работы с зависимостями и конфликтов со стандартной сборкой PostgreSQL.

Для того, чтобы вызывать бинарные файлы PostgreSQL без указания пути создадим необходимые символические ссылки:

/opt/pgpro/1c-10/bin/pg-wrapper links update

Инициализируем новый кластер СУБД:

pg-setup initdb

И добавим службу в автозагрузку:

pg-setup service enable

Теперь можно запустить сервер:

pg-setup service start

и проверить его статус:

pg-setup service status

postgrespro-1c-debian-002.png

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

systemctl enable postgrespro-1c-10.service

А управлять службой можно командами:

service postgrespro-1c-10 start | stop | restart | status

Однако, на наш взгляд, синтаксис pg-setup более лаконичный и удобнее использовать именно его:

pg-setup service start | stop | condrestart | status

Здесь все должно быть понятно, кроме команды condrestart - она перезапускает службу, если она была запущена на момент вызова команды.

Практически все готово, чтобы начать работу с 1С:Предприятие, осталось только установить пароль пользователю postgres. Для этого войдем в систему под одноименным пользователем:

su postgres

Откроем консоль PostgreSQL:

psql

И выполним команду:

ALTER USER postgres WITH PASSWORD 'MyPa$$word';

Которая установить пользователю postgres пароль MyPa$$word и выйдем из консоли PostgreSQL:

\q

На этом настройка завершена, наш сервер PostgreSQL готов к работе с 1С:Предприятие. Надеемся, у вас не возникнет сложностей, а также ждем ваших отзывов и вопросов в комментариях.