Сборка PostgreSQL для платформы 1С под Linux и Windows. 1C оптимизация postgresql


1c 8.2 на postgresql: установка, настройка, обслуживание

Перед установкой PostgreSQL

Прежде всего, необходимо учитывать тот факт, что изначально СУБД PostgreSQL является "версионником", в отличие от "блокировочников" (MS SQL, MySQL) и, следовательно, напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблицу сразу. Если нужны блокировки на уровне записей, включаем в 1С режим управляемых блокировок и прописываем их в конфигурации ручками. Вывод: необходимо скачать специальный дистрибутив с сайта 1С или взять на диске ИТС.

В ходе установки

Сама установка особых  затруднений не вызывает, обратить внимание нужно на правильную инициализацию базы данных, а именно настройку локали, изменить потом это можно только повторной начальной инициализацией. Например, база 1С с украинскими региональными установками в СУБД с установленной русской локалью не загрузится. Да и проблемы с сортировкой потом не нужны. Поэтому делаем init в соответствии с нужным языком.

Для русского языка

initdb --locale=ru_RU.UTF-8 --lc-collate=ru_RU.UTF-8 --lc-ctype=ru_RU.UTF-8 --encoding=UTF8 -D /db/postgresql

Для украинского языка

initdb --locale=uk_UA.UTF-8 --lc-collate=uk_UA.UTF-8 --lc-ctype=uk_UA.UTF-8 --encoding=UTF8 -D /db/postgresql

где /db/postgresql ваш каталог данных PostgreSQL. Кодировка, конечно же, UTF-8.

 

Настройка PostgreSQL

Следует помнить о рекомендации 1С не использовать в запросах конструкции ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ и заменять его, используя, например, комбинацию из нескольких левых соединений. Известна также проблема с потерей производительности в запросах, где применяется соединение с виртуальной таблицей СрезПоследних, к ней рекомендуется делать отдельные запросы и сохранять результаты во временных таблицах.Настройка конфигурации производится редактированем файла postgresql.conf.Наиболее важные параметры

effective_cache_size = 0,5 от ёмкости RAMfsync = off отключаем сброс на диск после каждой транзации (Внимание! Применять только  при использовании надежного UPS, есть опасность потери данных при неожиданном отключении)synchronous_commit = off  отключаем синхронную запись в лог (риски теже, что и у fsync)wal_buffers = 0,25 от ёмкости RAM

После настройки не забываем выполнить перезапуск службы:

service postgresql restart

Резервное копирование

Создание дампа базы данных делаем командой

su postgres -c 'pg_dump -U postgres -Fc -Z9 -f baza1.sql baza1'

Восстановление из дампа

su postgres -c 'pg_restore -U postgres -c -d baza1 -v baza1.sql'

 

Периодическое обслуживание

Рекомендуется настроить AVTO VACUUM в файле конфигурации. Но не пренебрегаем и запуском через  планировщик  принудительной команды.

su postgres -c '/usr/bin/vacuumdb --dbname=$i --analyze --full --quiet'

 

Просмотр активности PostgreSQL

Иногда полезно видеть чем сейчас занимается сервер. Поможет такая конструкция:

watch -n 1 'ps auxww | grep ^postgres'

Специалисты центра VIDICOM производят настройку серверов "под ключ", в рамках оказания своим клиентам услуг 1С. Подробнее см. в разделе Услуги 1С.

www.vidicom.info

Установка и настройка PostgreSQL для 1С 8.3 c Windows

PostgreSQL — достаточно современная и популярная СУБД в мире. Её не обошла и фирма 1С, выбрав в качестве одной из поддерживаемых для работы СУБД. Рассмотрим инструкцию по установке PostgreSQL и её первоначальной настройки для 1С 8.3 под ОС Windows.

PostgreSQL — бесплатная программа, это является одним из решающих факторов по выбору данной СУБД.

Для установки сервера нам понадобится два архива — сервера 1С предприятия (х86-64) и дистрибутив  PostgreSQL.  В нашем примере платформа версии 8.3.4, а СУБД 9.1.2. Их лучше взять из официальных источников 1С — диска или сайта ИТС.

Установка и настройка сервера 1С Предприятие

Первым делом установим сервер 1C предприятия 8.3 (или 8.2). Для этого запустим файл setup.exe из архива. Установка мало чем отличается от обычной установки клиентского приложения, за исключением некоторых особенностей:

1. Не забудьте выбрать в компонентах нужные пункты:

2. Указать, от чьего имени будет запускаться приложение. Рекомендуется создавать нового пользователя «USR1Cv8». У этого пользователя должны быть установлены нужные права:

Получите 267 видеоуроков по 1С бесплатно:

После установки части 1С можно приступить к работе с СУБД.

Установка PostgreSQL

Запустите файл postgresql-9.1.2-1.1C(x64).msi, в папке windows выбрать подпапку 64 или 86, в зависимости от разрядности ОС. Можно оставить практически всё по умолчанию. Необходимо обратить внимание на следующие моменты:

1. Так же, как с 1С 8.3, СУБД устанавливается как сервис. Необходимо проверить права у используемого пользователя. Система по умолчанию создаст нового пользователя, от чего имени будет запускать службу:

2. Настройка кластера 1C. Здесь необходимо указать пароль для пользователя:

Для выполнения данного пункта должна быть запущена служба «Вторичный вход в систему» (secondary logon). Если он не запущен, его следует запустить в списке всех сервисов:

Далее — все настройки по умолчанию.

Создание базы 1С на Постгри

Создание базы — очень простой процесс. В списке баз необходимо нажать «Добавить», выбрать пункт «Создание новой информационной базы», указать название базы и выбрать вариант расположения — «На сервере 1С: Предприятия», где заполнить настройки подобно указанным на скриншоте:

Где пароль и имя пользователя те, которые Вы указывали на этапе настройки кластера.

Вот и всё — можно работать с системой.

Другие статьи по 1С:

Установка на Linux Ubuntu

В дополнение — видео по установке Postgre SQL на Linux (Ubuntu):

https://www.youtube.com/watch?v=_SjBJdeK1Sg

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

programmist1s.ru

производительность PostgreSQL для 1С / Хабр

Хотя интернет уже переполнен статьями о «правильной» настройке связки PostgreSQL и 1C 8.2, для подводных камней всегда остается место. При сравнении производительности СУБД PostgreSQL на разных ОС, показатели различаются в разы. Самая большую обиду принесла любимая Ubuntu (человечность). После долгих дней и ночей проведенных за консолью этой ОС, она разочаровала окончательно.

Тормоза PostgreSQL в Ubuntu Server. Что с ними делать? Сколько раз можно наступать на грабли? Итак, что имеем: игрушку IBM x3650 M4 c двумя процессорами, 32 GB оперативки, массив RAID 10 из 6-и дисков общим объемом ~900GB. Являясь сторонником опенсорсного ПО и немалый опыт работы с системами а-ля Debian и производные, решил выбрать в качестве операционки самую «человечную» из них — Ubuntu Server x64. Как потом оказалось — это была первая моя ошибка.

С СУБД знаком не понаслышке но, имею пока еще малый опыт работы именно на Linux платформу. Поэтому, если где-то ошибся, прошу пинать строго советами. Не один я такой все-таки.

Наконец 1С выпустила свежую сборку PostgreSQL под Debian/Ubuntu которая работает почти «из коробки».

Процес установки упростился до дюжины консольных комманд.

admin@srv1c:~# sudo su

1. Увеличиваем максимальный размер сегмента памяти до 8Гб. Для менее мощных машин устанавливают от 64Мб до половины объема оперативки.

root@srv1c:~# echo "kernel.shmmax=8589934592" >>/etc/sysctl.conf root@srv1c:~# sysctl -p

2. Генерируем русскую локаль и задаем переменную среды LANG, именно с ней будет работать скрипт инициализации базы данных.

root@srv1c:~# locale-gen en_US ru_RU ru_RU.UTF-8 root@srv1c:~# export LANG="ru_RU.UTF-8"

3.Устанавливаем необходимые зависимисти.

root@srv1c:~# apt-get install libssl0.9.8 ssl-cert postgresql-common libossp-uuid16 libxslt1.1

4. Берем с сайта users.v8.1c.ru архив с PostgreSQL 9.1.2 для 64-битных DEB-систем, распаковываем и устанавливаем нужные компоненты. Нужных и не нужных компонентов в архиве много, для того что бы все заработало достаточно postgresql, postgresql-client и postgresql-contrib.

root@srv1c:~# tar zxf postgresql_9_1_2_deb_x86_64_tar.gz

5. Установка пакетов:

root@srv1c:~# cd ./postgres root@srv1c:~# dpkg -i postgresql-9.1_9.1.2-1.1C_amd64.deb libpq5_9.1.2-1.1C_amd64.deb postgresql-client-9.1_9.1.2-1.1C_amd64.deb postgresql-contrib-9.1_9.1.2-1.1C_amd64.deb

6. После установки нужно еще немного подправить конфигурационный файл, как не странно будучи поставленным в пакете 1с он содержит не правильные настройки для обработки экранирующих символов, и при создании базы 1с выдает ошибки “syntax error at or near “SECOND” at character 127″ или “syntax error at or near “SECOND” at character 227″. Исправляем в файле /etc/postgresql/9.1/main/postgresql.conf следующие параметры.

root@srv1c:~# nano /etc/postgresql/9.1/main/postgresql.conf

backslash_quote = on escape_string_warning = off standart_conforming_strings = off И закрываем с сохранением: Ctrl+x, Y

7. Перезапускаем сервис.

root@srv1c:~# service postgresql restart

8.Меняем пароль для пользователя postgres – это тот пароль который мы будем задавать при создании базы данных.

root@srv1c:~# su postgres postgres@srv1c:/root$ cd ~ postgres@srv1c:~$ psql -U postgres -c "alter user postgres with password 'ваш пароль';" postgres@srv1c:~$ exit

9. Отключаем обновление для пакетов 1с-овского PostgreSQL.

root@srv1c:~# echo "libpq5" hold | dpkg --set-selections root@srv1c:~# echo "postgresql-9.1" hold | dpkg --set-selections root@srv1c:~# echo "postgresql-client-9.1" hold | dpkg --set-selections root@srv1c:~# echo "postgresql-contrib-9.1" hold | dpkg --set-selections

10. Перезапускаем службу и проверяем, запустился ли PostgreSQL:

root@srv1c:~# service postgresql restart root@srv1c:~# netstat -atn|grep 5432

Ответ должен быть примерно таким:

tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN

или

tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN

Здесь установка PostgreSQL закончена можно считать законченной.

При сравнении скорости работы связки 1C 8.2.16 + PostgeSQL 9.1.2 были обнаружены жуткие тормоза под Ubuntu Server 12.04. Тест от Гилёва «TPC_1С_GILV» в Ubuntu в среднем показал 10-14 баллов, что обусловлено тестовой базой, которая не задействует управляемые блокировки. Для сравнения, на менее мощную систему с четырехядерным процессором i5, 8GB оперативки, под Win 2k8 и IBM DB2 тот же тест показал 52 попугая. Проведение документов за месяц занимало в трое меньше времени на младшую машину. Аналогичные результаты получены и с PostgreSQL. Некоторые коллеги отзываются о результатах на CentOS при аналогичных параметрах. Так на CentOS получают по тому же тесту 56-62 балла а на чистую Debian — от 54 балла. Во всех тестах использовались идентичные настройки PG с отключенным fsync. В Ubuntu проверялись ext4, в CentOS LVM+ext3.

На всех платоформах ничего не ставилось кроме PG и 1C. На Ubuntu проверялись несколько версий PG, от Etersoft, собранная вручную с патчами от 1С и сборка от 1С, под CentOS использовалась версия Etersoft.

Есть какие-то варианты улучшения производительности в Ubuntu?

Хотелось бы сделать голосовалку по выбору Linux-дистрибутива для установки 1C + PostgreSQL. Думаю лидер рейтинга будет CentOS, но мне Debian ближе к сердцу.

Хорошо бы поделиться в комментариях успешными опытами установки с результатами тестирования.

Я уже готовлю систему под CentOS. О результатах тестирования отпишусь в новой статье.

habr.com

Предприятие 8.2 + PostgreSQL + CentOS 6

В версии «1С: Предприятие 8.2» было сделано множество улучшений, таких как управляемый режим блокировок(являющийся режимом "по умолчанию" в версии 8.2), добавлена новая возможность в виде работы в режиме тонкого клиента и веб-клиента и др. Все это играет немаловажную роль  в работе платформы на серверах с линуксом на борту, тем более, что связка 1С сервер + Linux обретает все большую популярность. В этом небольшом howto была попытка описать процесс установки и запуска сервера 1С в эксплуатацию в наиболее полном виде.Собственно, весь процесс установки и настройки можно разбить на несколько этапов, что дальше и будет сделано. Вся установка и настройка проводится на CentOS 6 x64. В качестве СУБД была выбрана PostgreSQL. И сервер 1С, и СУБД ставятся на одну и ту же «железку».

Подготовка системы

Перед установкой пакетов 1С и PostgreSQL, настроим некоторые системные параметры, необходимые для дальнейшего функционирования PostgreSQL и сервера 1С. В файл /etc/sysconfig/network внесем такие изменения:

NETWORKING=yesHOSTNAME=server-1С.mydomain.com

В файл /etc/hosts нужно добавить следующее:

192.168.1.1 server-1C.mydomain.com server-1C

где 192.168.1.1 — это ip-адрес вашего сервера 1С (это необходимо для того, чтобы имя сервера однозначно разрешалось в его ip-адрес)Заметка

На клиентских компьютерах, необходимо такое же одно­значное разреше­ние имя в ip-адрес, поэтому на каждой клиентской машине необходимо доба­вить такую запись или настроить вну­тренний DNS сервер (что более предпо­чтительно).

Проверим размер рабочей памяти в системе и, если необходимо, увеличим его (этот параметр необходим для нормальной работы PostgreSQL):

[root@server-1C~]# cat /proc/sys/kernel/shmmax

изменим этот параметр в файле /etc/sysctl.conf на kernel.shmmax и обновим параметры sysctl:

[root@server-1C~]# sysctl -p

либо

[root@server-1C~]# echo 1073741824 >> /proc/sys/kernel/shmmax

Отключим iptables, хотя бы на время запуска и настройки сервера

[root@server-1C~]# /etc/init.d/iptables stop[root@server-1C~]# chkconfig iptables off[root@server-1C~]# /etc/init.d/ip6tables stop[root@server-1C~]# chkconfig ip6tables off

Отключаем SELinux (в локальной сети он не нужен IMHO) в файле /etc/sysconfig/selinux ставим SELINUX=disabled. Но так как это изменение вступит в силу только после перезагрузки, то проделаем еще одну операция выключения, чтоб не перегружаться:

[root@server-1C~]# setenforce 0

Установка PostgreSQL

Начиная с версии 8.1 1С официально поддерживает работу с СУБД PostgreSQL, однако в чистом виде PostgreSQL с 1С не работает. На сайте 1С представлены патчи для PostgreSQL, а также исходные коды в виде src.rpm для сборки пакетов на rpm-based системах (при желании можно собрать и в deb-based системах). Можно воспользоваться еще двумя способами -  зарегистрированным пользователям можно скачать готовые rpm пакеты с сайта 1C(или с диска ИТС) или воспользоваться готовой сборкой со всеми патчами от компании Etersoft (есть готовые пакеты для множества дистрибутивов). Мы воспользуемся вариантом от компании Etersoft.Скачиваем все пакеты для нужного дистрибутива в определенный каталог (создадим, например, /root/install), переходим в него и устанавливаем все скачанные пакеты:

[root@server-1C~]# mkdir /root/install[root@server-1C~]# cd /root/install[root@server-1C install]# wget ftp://updates.etersoft.ru/pub/Etersoft/Postgre@Etersoft/stable/CentOS/6/*[root@server-1C~]# yum localinstall --nogpgcheck *.rpm

и инициализируем базу:

[root@server-1C~]# su postgresbash-4.1$ initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8bash-4.1$ exit(для Украины нужно с другой локалью --locale=uk_UA.UTF-8)

Стартуем PostgreSQL и добавляем его в автозагрузку:

[root@server-1C~]# service postgresql start[root@server-1C~]# chkconfig postgresql on

Создаем пароль пользователю postgres:

[root@server-1C~]# su postgresbash-4.1$ psqlpostgres=#postgres=# ALTER USER postgres WITH PASSWORD 'your_password';postgres=# ALTER ROLEpostgres=# postgres=# \qbash-4.1$ exit

Установка сервера 1С

Теперь приступим к установке пакетов 1С. Необходим следующий список пакетов(версии могут отличаться):

1C_Enterprise82-common-8.2.15-289.x86_64.rpm1C_Enterprise82-common-nls-8.2.15-289.x86_64.rpm1C_Enterprise82-server-8.2.15-289.x86_64.rpm1C_Enterprise82-server-nls-8.2.15-289.x86_64.rpm1C_Enterprise82-ws-8.2.15-289.x86_64.rpm1C_Enterprise82-ws-nls-8.2.15-289.x86_64.rpm

Взять эти пакеты можно или с диска ИТС или скачать у с сайта 1С, если вы являетесь зарегистрированным пользователем системы 1С. Переходим в каталог, в который вы сложили эти пакеты и выполняем знакомую нам команду установки:

[root@server-1C~]# yum localinstall --nogpgcheck *.rpm

Запустим и добавим в автозагрузку службу 1С:

[root@server-1C~]# /etc/init.d/srv1cv82 start[root@server-1C~]# chkconfig srv1cv82 on

Установка Веб-клиента

На этом установку можно было бы считать законченной и пользоваться нативными клиентами из под Windows(ну или через wine). Но в версии 1С:Предприятие 8.2 появилась одна очень интересная возможность — веб клиент. Веб-клиент дает возможность работать в 1С прям из браузера, что дает множество преимуществ, в том числе и независимость от Windows (конфигуратор будет работать только из нативного клиента для Windows). Кстати, стоит сказать, что в браузере будет работать только интерфейс, созданный с помощью управляемых форм, но это уже удел программистов 1С :). Итак, приступим.Считаем, что http сервер apache уже установлен, в противном случае установите его. Выполним публикацию веб-клиента с помощью специальной утилиты:

[root@server-1C ~]# cd /opt/1C/v8.2/x86_64/[root@server-1C x86_64]# ./webinst -apache22 -wsdir test -dir '/var/www/html/test/' -connStr 'Srvr="server-1C.mydomain.com";Ref="test"' -confPath /etc/httpd/conf/httpd.conf

где

apache22 — публикация веб-клиента для сервера apache версии 2.2 (возможно еще 2.0)wsdir — имя алиаса который добавится в файл конфигурации apache(будем обращаться к нашей базе http://server-1C.mydomain.com/test)dir — физический каталог, куда указывает wsdir (в этом каталоге будет лежать файл default.vrd)connStr — строка соединения с информационной базойconfPath — путь к файлу конфигурации apache

Теперь переопределим владельца файла default.vrd, чтобы apache имел к нему доступ:

[root@server-1C ~]# chown apache:apache /var/www/html/basa/default.vrd

Веб-клиент может работать только в том случае, если 1С работает в режиме «управляемого приложения» и пользовательский интерфейс разработан с помощью концепции «управляемого интерфейса». Следует заметить, что этот функционал в версии 8.1 не реализован, поэтому совместимости нет.Для нормального функционирования в «управляемом режиме» необходимы шрифты truetype от Microsoft. По лицензионным соображениям, в стандартных репозиториях пакета с нужными нам шрифтами нет, поэтому будем собирать пакет из исходников. Для этого установим несколько необходимых пакетов, подключив сторонний репозиторий atrpms(считаем, что репозиторий epel уже подключен):Запускаем утилиту кинфигурации сервера 1С, указывая путь к установленным шрифтам:

[root@server-1C ~]# cd /opt/1C/v8.2/x86_64/utils/[root@server-1C utils]# ./config_server /usr/share/fonts/msttcorefonts

Заметка

Утилита config_server зависит от 32х битных библиотек (которые будут необходимо и для драйвера hasp), поэтому необходимо доустановить пакет glib2.i686.Если вы устанавливаете (как в данном случае) или обновляетесь до платформы версии 8.2.15, то необходимо еще доустановить пакет glib2-devel.

Перезапустим службу сервера и на этом установка завершена.

Установка HASP

Если не использовать тонкий или веб-клиент, то установленный сервер 1С .8.2 позволяет использовать до 12 соединений без hasp-ключа, только это не совсем законно :). Поэтому есть 2 варианта, как использовать hasp-ключ: сетевой и локальный.Для использования сетевого ключа необходимо создать файл nethasp.ini в каталоге /opt/1C/v8.2/x86_64/conf с таким содержимым:[NH_COMMON] NH_TCPIP =Enabled ;протокол передачи данных(TCP или UDP)

[NH_TCPIP]NH_SERVER_ADDR = 192.168.0.232 ;ip-адрес компьютера, куда вставленNH_PORT_NUMBER = 475 ;порт, на котором слушает hasp-ключNH_TCPIP_METHOD = TCP ;протокол, по которому ведется обмен информации с ключом

Более подробную информацию о синтаксисе в nethasp.ini можно прочесть здесь, а также примеры файлов можно скачать с сайта Alladin.Для использования локального ключа необходимо установить драйвер для hasp-ключа. Стоит отметить, что на 64х битных драйверов для hasp не выпускается, поэтому будет устанавливаться 32х битный драйвер, для которого могут потребоваться дополнительные зависимости в виде 32х битных библиотек. Заходим на страницу Alladin и скачиваем файл Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer.tar.gz. Распакуем архив в каталог /root/install и установим пакет:

[root@server-1C ~]# wget ftp://ftp.aladdin.com/pub/hasp/Sentinel_HASP/Linux/Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer.tar.gz[root@server-1C ~]# tar -xzf Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer.tar.gz[root@server-1C ~]# cd /root/install/Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer[root@server-1C Sentinel_HASP_RedHat_and_SuSE_RPM_Run-time_Installer]# yum localinstall aksusbd-1.16-1.i386.rpm

Перезапустим службу драйвера hasp и добавим в автозагрузку(возможно придется перегрузить сервер, чтобы ключ определился):

[root@server-1C ~]# /etc/init.d/aksusbd restart[root@server-1C ~]# chkconfig aksusbd on

Программные лицензии

Помимо аппаратных лицензий в виде usb-ключей последнее время фирма 1C настоятельно рекомендует использовать программные лицензии(есть свои плюсы) и аппаратные ключи получить очень проблемно. Подробно описывать активацию программных ключей не представляет смысла, потому как вместе с этими ключами прилагается подробное руководство по активации, да и к тому же интерфейс активации довольно интуитивный. Единственное, на что я бы хотел обратить ваше внимание(хотя это и очевидно, но всё же) - производите активацию лицензий(и сервера, и многопользовательские) "на сервер"(в терминологии 1С). При такой активации ваши лицензии будут лежать на сервере и им же раздаваться. При такой активации возможен один глюк(это не связано с лицензиями и типом активации) - "слетает" лицензия и после повторной активации лицензии не применяются(активация проходит успешно, но при попытке войти клиентом или через веб пишет об отсутствии лицензии и снова просит активировать). Выход из данной ситуации простой. Файлы лицензий после активации лежат в каталоге /home/usr1cv82/.1cv82/1C/1Cv82/conf вашего сервера. Просто переместите их в каталог /opt/1C/v8.2/x86_64/conf и перзапустите сервис 1C:

[root@server-1C ~]# /etc/init.d/srv1cv82 restart

Если у вас возникли вопросы или замечания, пишите в комментариях. Также, обратите внимание на форум http://1clinux.org/

z1kk0.blogspot.com

Сборка PostgreSQL для платформы 1С под Linux и Windows : Компания Postgres Professional

На данной странице представлены для ознакомления собранные компанией Postgres Professional установочные пакеты новейшей версии PostgreSQL (9.6.5) под Windows 32bit и Windows 64bit и различные дистрибутивы Linux (только x86_64). В установочные пакеты включены изменения, предоставленные компанией 1C.

Представленное программное обеспечение предлагается для загрузки на бесплатной основе.

ПОДДЕРЖКА. Если вам необходимо обеспечение поддержки или консультация по представленным пакетам PostgreSQL, вы можете связаться с нашим отделом продаж по e-mail: [email protected]  или по телефону +7 (495) 150-06-91.

Если вы нашли баг, если у вас есть замечания или предложения, напишите на [email protected], мы обязательно ответим.

Postgres Professional оставляет за собой право без предварительного уведомления вносить изменения в положения данной страницы, поэтому мы настоятельно рекомендуем перед загрузкой программного обеспечения ознакомиться с положениями/изменениями/дополнениями по условиям использования, указанными на странице.

Загружая из нашего репозитория пакеты программного обеспечения, Вы выражаете согласие с настоящими условиями его использования.

ОТКАЗ ОТ ГАРАНТИЙ, УСЛОВИЯ ИСПОЛЬЗОВАНИЯ. Программное обеспечение компании Postgres Professional предоставляется на условиях “КАК ЕСТЬ”. Postgres Professional, ее аффилированные лица и поставщики не предоставляют никаких явных или подразумеваемых гарантий, в том числе подразумеваемых гарантий коммерческого качества и пригодности для конкретных целей; условий, заверений, подтверждений в каких бы то ни было положениях о качестве, характеристиках, совместимости, безопасности, достижении определенных результатов, соответствии определенному назначению, отсутствии авторских прав.

Ответственность за любые убытки, ущерб, предъявление претензий, которые могут быть нанесены пользователю (его техническим средствам, программному обеспечению и данным) в результате загрузки представленных материалов, полностью ложится на пользователя.

Компоненты и материалы, поддерживаемые фирмой 1С и входящие в установочные пакеты PostgreSQL, распространяются на условиях, определенных компанией 1С.

ВЕРСИИ PostgreSQL и 1С

Начиная с версии 8.3 платформа 1С поддерживает PostgreSQL версий 9.4 и 9.6. Для этого фирмой 1С был выпущен набор патчей для PostgreSQL 9.4.2 и 9.6.1. В предлагаемых пакетах используются более новые PostgreSQL 9.4.14 и 9.6.5. Эти версии СУБД имеют множество улучшений, прежде всего связанных с надежностью.

ДИСТРИБУТИВЫ

Поддерживаемые версии

Архив предыдущих версий

Экспериментальные версии

ГЕНЕРАТОР ИНСТРУКЦИЙ

Используйте генератор инструкций для получения актуальной и архивных сборок PostgreSQL для 1С: Архив PostgreSQL 1C.

PgAdmin3

ПОДКЛЮЧЕНИЕ ПАКЕТНЫХ РЕПОЗИТОРИЕВ И ИНСТАЛЛЯЦИЯ ПАКЕТОВ ДЛЯ LINUX (только x86_64)

Обращаем Ваше внимание на то, что для корректной работы дистрибутивов 1С, распространяемых на территории Российской Федерации, кластер PostgreSQL должен быть инициализирован с локалью ru_RU.UTF-8. Если при инициализации кластера локаль явно не задана, то кластер будет инициализирован с локалью, установленной в системе по умолчанию. C помощью утилит locale(Linux) и systeminfo(Windows)  можно узнать значение локали, установленное по умолчанию.

 

ОБНОВЛЕНИЕ МИНОРНОЙ ВЕРСИИ DEB ПАКЕТОВ C ВЕРСИЙ 9.5.3, 9.4.8, 9.3.14, 9.2.18:

Начиная с версий 9.5.4, 9.4.9 в нашу DEB сборку были внесены изменения. Пакет postgresql-pro-1c-[9.4|9.5] теперь является реальными именем пакета, а не виртуальным как раньше. Это было сделано, чтобы избежать некорректного разрешения зависимостей при установке наших пакетов, которое обусловлено наличием в APT механизма installation candidate, из-за которого становится невозможным гарантировать предсказуемое разрешение зависимостей. Минорное обновление до вышеуказанных версий осуществляется следующим образом:   apt-get update && apt-get install postgresql-pro-1c-[9.4|9.5]

Если у Вас при обновлении возникла ошибка неудовлетворенных зависимостей, необходимо предпринять следующие шаги:(На примере версии 9.4.8)1. Переименуйте директории с конфигами и данными:     mv /etc/postgresql/9.4 /etc/postgresql/9.4.upgrade    mv /var/lib/postgresql/9.4 /var/lib/postgresql/9.4.upgrade2. Удалите установленные пакеты из стандартного репозитория:    apt-get purge postgresql*9.4 postgresql-client-common3. Обновите мета-информацию о пакетах:    apt-get update4. Установите пакет:    apt-get install postgresql-pro-1c-9.45. Переименуйте обратно директории из шага 1:    rm -rf /etc/postgresql/9.4 /var/lib/postgresql/9.4    mv /etc/postgresql/9.4.upgrade /etc/postgresql/9.4    mv /var/lib/postgresql/9.4.upgrade /var/lib/postgresql/9.46. Запустите postgresql

Если у Вас возникли вопросы о процедуре обновления, Вы можете их задать по адресу [email protected]

 

Версия PostgreSQL 9.4.14 (для 1С версии начиная с 8.3 )

Подключение под centos 6/7:sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos94.noarch.rpm && sudo yum makecache && sudo yum install postgresql-pro-1c-9.4

 

Версия PostgreSQL 9.5.9 (для 1С версии начиная с 8.3 )

Подключение под centos 6/7:sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos95.noarch.rpm && sudo yum makecache  && sudo yum install postgresql-pro-1c-9.5

Подключение под debian 7/8/9, ubuntu 12.04/14.04/16.04/17.04/17.10:sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'wget --no-verbose -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update sudo apt-get install postgresql-pro-1c-9.5

 

Версия PostgreSQL 9.6.5 (для 1С версии начиная с 8.3 )

Подключение под centos 6/7:sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.noarch.rpm && sudo yum makecache && sudo yum install postgresql-pro-1c-9.6

Подключение под debian 7/8/9, ubuntu 12.04/14.04/16.04/17.04/17.10:sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'wget --no-verbose -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update sudo apt-get install postgresql-pro-1c-9.6

 

Исходные материалы, использованные при сборке:

Исходные коды PostgreSQL доступны на сайте http://postgresql.org/.Патчи 1С - на сайте фирмы 1С.

 

postgrespro.ru

1С:Предприятие 8.3 + PostgreSQL 9.4 на базе Debian 8 «Jessie»

В конце мая 2013 года компания 1С представила первый стабильный релиз платформы 1С:Предприятие версии 8.3. Главная особенность ветки 8.3 - это выпуск нативного клиента под *nix-подобные операционные системы. И вот спустя два года я решил написать новую статью посвященную этой теме. Я помню, что большая часть тех, кому была интересна моя прошлая статья просили и дальше брать в основу Ubuntu. Тем не менее, я решил взять за основу Debian 8 «Jessie». Основная причина в том, что производительность серверов 1С:Предприятие на Ubuntu оставляет желать лучшего. В то время как Debian и CentOS показывают более высокую производительность (CentOS даже опережает Debian, но я постараюсь исправить это положение). Сравнительные таблицы производительности серверов 1С:Предприятие вы можете поискать в интернете. Сам я пока ничего толкового не нашел.

Содержание

  1. Предисловие.
  2. Подготовка сервера.
  3. Установка PostgreSQL 9.4.
  4. Установка сервера 1С:Предприятие 8.3.
  5. Установка драйвера для аппаратной лицензии 1С (HASP).
  6. Установка клиента 1С:Предприятие 8.3.
  7. Публикация ИБ на веб-сервере Apache 2.4.
  8. Послесловие.

Предисловие. ↑

Новичкам в *nix рекомендую выполнять установку по порядку и согласно инструкции. Статья специально разбита на главы, чтобы читатели могли пошагово проходить процесс установки. Вопросы любителей сделать «по своему» в большинстве своем будут проигнорированы. Если же вы всё делали согласно статье, но тем не менее у вас возникла проблема, внимательно проверьте все свои действия. Скорее всего, вы допустили ошибку. В случае если проверка не выявила ошибок, то вы можете описать возникую проблему в комментариях или в теме на нашем форуме, где форумчане постараются вам помочь. При этом рекомендую подробно описывать возникшую у вас проблему.

Подготовка сервера. ↑

Основное отличие Debian от Ubuntu с которым очень часто сталкиваются пользователи Ubuntu, это отсутствие в стандартной конфигурации команды повышения привилегий sudo. Операции требующие прав root, выполняются от суперпользователя root. Тем же кто не хочет изменять своей привычке работать с sudo, достаточно при установке ОС не задавать пароль суперпользователю root и пакет sudo будет установлен и настроен. Для наглядности, перед каждой командой будет указан определенный символ, если это # - значит команда выполняется от имени суперпользователя root, если символ $ - то команда выполняется от имени текущего пользователя.

1. Итак у вас имеется установленный Debian 8. Если установка только предстоит, рекомендую выбрать пункты:

Как это указано на скриншоте:

Остальные пункты на ваше усмотрение.

2. Сразу же поставим последние обновления, предварительно получив права root:

1 2 3 4 $ su # apt-get update # apt-get upgrade # apt-get dist-upgrade

3. Архивы с установочными пакетами можно скачать из интернета сразу на сервер или скопировать заранее скачанные установочные пакеты в расшаренный каталог samba. Предположу, что samba настроена не у всех, потому воспользуемся USB-накопителем (флешкой). Создаем в корне флешки каталоги:

Раскидываем пакеты по каталогам, предварительно распаковав их.

4. Создаем директорию, к которой будем монтировать флешку:

5. Подключаем флешку к серверу, просматриваем как она подключилась:

1 2 3 4 5 6 7 8 9 10 11 # fdisk -l Disk /dev/sdb: 14,9 GiB, 16013852672 bytes, 31277056 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xcad4ebea Device Boot Start End Sectors Size Id Type /dev/sdb4 * 63 31277055 31276993 14,9G 7 HPFS/NTFS/exFAT

У меня это sdb4, теперь монтируем флешку сразу в каталог 1сinstall:

1 # mount /dev/sdb4 /mnt/1cinstall

6. Проверяем что намонтировали:

Т.к. на моей флешке ничего не было кроме папок с установочными пакетами, отобразились только они:

ПРИМЕЧАНИЕ! Если вы ставите 1С:Предприятие на удаленную машину, то для передачи файлов можете воспользоваться утилитой SCP, которая входит в состав пакета openssh-client.

Установка PostgreSQL 9.4. ↑

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

1. Для начала надо установить необходимые локали. Это en_US.UTF-8 и ru_RU.UTF-8. При этом локаль ru_RU.UTF-8 должна быть выбрана по умолчанию. Отредактировать список локалей можно командой:

1 # dpkg-reconfigure locales

2. Затем надо установить зависимости:

1 # apt-get install ssl-cert libossp-uuid16 libxslt1.1

3. К сожалению, мейнтейнеры работающие на 1С, не следят за порядком в зависимостях своих пакетов. По этой простой причине, нам надо скачать и установить пакет libicu48:

1 2 # wget http://ftp.ru.debian.org/debian/pool/main/i/icu/libicu48_4.8.1.1-12+deb7u3_amd64.deb # dpkg -i libicu48*.deb

4. Так же необходимо увеличить максимальный размер сегмента памяти до 64 Мб:

1 # echo kernel.shmmax = `echo 64*1024*1024 | bc` >> /etc/sysctl.conf

Дабы необходимые изменения вступили в силу, вводим:

Тут товарищ Vasiliy P. Melnik в своем комментарии пишет, что в данной процедуре необходимости нет. Я его утверждение не проверял, но вы можете попробовать пропустить 4 пункт. А если всё таки процедура потребуется, вы можете выполнить её позже.

5. В этой статье я решил использовать версию PostgreSQL от 1С. Переходим в каталог с пакетами PostgreSQL:

1 # cd /mnt/1cinstall/postgres

Проверяем что есть в каталоге:

1 2 3 4 5 6 7 8 9 # ls -l итого 5424 drwxr-xr-x 2 nihi1ist nihi1ist 4096 окт 6 09:50 addons -rwxr-xr-x 1 nihi1ist nihi1ist 120250 июн 2 12:41 libpq5_9.4.2-1.1C_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 3657036 июн 2 12:42 postgresql-9.4_9.4.2-1.1C_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 1069692 июн 2 12:42 postgresql-client-9.4_9.4.2-1.1C_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 72172 авг 11 19:47 postgresql-client-common_154.1.1C_all.deb -rwxr-xr-x 1 nihi1ist nihi1ist 163684 авг 11 19:47 postgresql-common_154.1.1C_all.deb -rwxr-xr-x 1 nihi1ist nihi1ist 457782 июн 2 12:42 postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

Всего 6 пакетов, которые и нужно установить. В каталоге addons, находятся дополнительные пакеты, их я ставить не буду.

После установки проверим, запустился ли сервис PostgreSQL:

1 # service postgresql status

Если пакеты были установлены правильно, то вы получите примерно следующее сообщение (выхлоп):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ● postgresql.service - LSB: PostgreSQL RDBMS server Loaded: loaded (/etc/init.d/postgresql) Active: active (running) since Вт 2015-11-10 20:52:32 ALMT; 16s ago Process: 14225 ExecStop=/etc/init.d/postgresql stop (code=exited, status=0/SUCCESS) Process: 14274 ExecReload=/etc/init.d/postgresql reload (code=exited, status=0/SUCCESS) Process: 14235 ExecStart=/etc/init.d/postgresql start (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service ├─14249 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql... ├─14251 postgres: checkpointer process ├─14252 postgres: writer process ├─14253 postgres: wal writer process ├─14254 postgres: autovacuum launcher process └─14255 postgres: stats collector process ноя 10 20:52:32 as1 postgresql[14235]: Starting PostgreSQL 9.4 database server: main.

Если же вы получите сообщение похожее на это:

1 2 3 4 5 ● postgresql.service - LSB: PostgreSQL RDBMS server Loaded: loaded (/etc/init.d/postgresql) Active: active (exited) since Вт 2015-11-10 20:28:40 ALMT; 10min ago ноя 10 20:28:40 as1 postgresql[11850]: No PostgreSQL clusters exist; see "man pg_createcluster" ... (warning).

Нас интересует последняя строчка, где сообщается, что кластер PostgreSQL не обнаружен. Чтобы исправить эту ситуацию, достаточно просто перезапустить сервис PostgreSQL:

1 # service postgresql restart

После чего снова проверьте статус сервиса. В итоге вы должны получить что-то похожее на первое сообщение.

6. После установки нужно еще немного подправить конфигурационный файл. Как ни странно PostgreSQL будучи установленным из пакетов 1С, содержит неправильные настройки для обработки экранирующих символов, и при создании базы выдает ошибку:

1 syntax error at or near "SECOND" at character 127

или

1 syntax error at or near "SECOND" at character 227

Чтобы избежать вышеуказанных ошибок нужно отредактировать настройки PostgreSQL:

1 # vim /etc/postgresql/9.4/main/postgresql.conf

Приведя нижеуказанные параметры к следующему виду:

1 2 3 backslash_quote = on escape_string_warning = off standard_conforming_strings = off

Обновим конфигурацию, не перезапуская сервис:

1 # service postgresql reload

7. Зададим пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под системным пользователем postgres. Итак, авторизация:

Переход в домашний каталог текущего пользователя:

Смена пароля у внутреннего пользователя PostgreSQL:

1 $ psql -U postgres -c "alter user postgres with password '123456';"

Где -U postgres - системный пользователь от имени которого будет запущен psql, user postgres - внутренний пользователь БД, ну а 123456 - произвольный пароль который будет задан внутреннему пользователю БД.

Если смена пароля прошла успешно, вы должны получить сообщение:

Выход из окружения системного пользователя postgres:

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

1 # apt-mark hold libpq5 postgresql-9.4 postgresql-client-9.4 postgresql-client-common postgresql-common postgresql-contrib-9.4

Если команда выполнена правильно, вы должны получить следующее сообщение:

1 2 3 4 5 6 libpq5 помечен как зафиксированный. postgresql-9.4 помечен как зафиксированный. postgresql-client-9.4 помечен как зафиксированный. postgresql-client-common помечен как зафиксированный. postgresql-common помечен как зафиксированный. postgresql-contrib-9.4 помечен как зафиксированный.

На этом установка PostgreSQL закончена. Вопросы настройки и оптимизации будут рассмотрены в отдельных статьях.

Установка сервера 1С:Предприятие 8.3. ↑

Теперь нам предстоит установка сервера 1С:Предприятие. Как и в случае с PostgreSQL нам предстоит ряд подготовительных работ необходимых для штатного функционирования сервера 1С:Предприятие.

1. Переходим в из каталога postgres в каталог 1c:

2. Устанавливаем дополнительные пакеты, которые необходимы для работы сервера:

1 # apt-get install imagemagick libglib2.0-0 libgsf-1-114 ttf-mscorefonts-installer t1utils unixodbc --no-install-recommends

3. Так как я не нашел достойной альтернативы пакету ttf2pt1, который не тянет кучу зависимостей. То я буду ставить его. В репозиториях его нету, скачаем из архива Debian:

1 # wget http://archive.debian.org/debian/pool/main/t/ttf2pt1/ttf2pt1_3.4.4-1.4_amd64.deb

Докачиваем libt1-5 от которого зависит ttf2pt1:

1 # wget http://ftp.ru.debian.org/debian/pool/main/t/t1lib/libt1-5_5.1.2-3.6_amd64.deb

Устанавливаем пакеты:

1 # dpkg -i ttf2pt1*.deb libt1*.deb

Кстати, жду предложений по возможной альтернативе пакету ttf2pt1.

4. Посмотрим, какие пакеты есть у нас в каталоге:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 # ls -l итого 628420 -rwxrwxrwx 1 nihi1ist nihi1ist 206202908 ноя 19 05:45 1c-enterprise83-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 19879626 ноя 19 05:45 1c-enterprise83-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 33830518 ноя 19 05:45 1c-enterprise83-common_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 1607830 ноя 19 05:45 1c-enterprise83-common-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 174945770 ноя 19 05:45 1c-enterprise83-server_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 60668720 ноя 19 05:45 1c-enterprise83-server-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 135750258 ноя 19 05:45 1c-enterprise83-thin-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 9980106 ноя 19 05:45 1c-enterprise83-thin-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 190046 ноя 19 05:45 1c-enterprise83-ws_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 11986 ноя 19 05:46 1c-enterprise83-ws-nls_8.3.7-1776_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 173740 фев 24 2013 libt1-5_5.1.2-3.6_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 236970 июн 8 2008 ttf2pt1_3.4.4-1.4_amd64.deb

Всего 8 пакетов, из которых нам для функционирования сервера 1С:Предприятия необходимы 3 пакета: 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-ws.

Небольшая таблица с пояснениями по назначению пакетов:
Название пакета Описание пакета
1c_enterprise83-client… Компоненты клиента 1С Предприятие 8.3 для Linux
1c_enterprise83-thin-client… Компоненты тонкого клиента 1С Предприятие 8.3 для Linux
1c_enterprise83-common… Общие компоненты 1С Предприятие 8.3 для Linux
1c_enterprise83-server… Сервер 1С Предприятие 8.2 для Linux
1c_enterprise83-ws… Компоненты интернет-сервисов 1С Предприятие 8.3 для Linux
1c_enterprise83-…-nls… Компоненты необходимые для ОС не поддерживающих кириллическую кодировку

 

5. Устанавливаем необходимые пакеты:

1 # dpkg -i 1c-enterprise83-common_8*.deb 1c-enterprise83-server_8*.deb 1c-enterprise83-ws_8.3*.deb

6. Даем пользователю usr1cv8 и группе grp1cv8 права на установочную директорию 1С:Предприятия:

1 # chown -R usr1cv8:grp1cv8 /opt/1C

7. В выхлопе установщика вы можете заметить предупреждение:

1 2 3 update-rc.d: using dependency based boot sequencing insserv: warning: script 'K01srv1cv83' missing LSB tags and overrides insserv: warning: script 'srv1cv83' missing LSB tags and overrides

Начиная с версий 8.3.7, данная проблема исправлена. Потому, если вышеуказанного сообщения вы не получали, можете пропустить пункты 8 и 9.

8. Сообщение описанное в пункте 7 мы получаем из-за отсутствия в скрипте запуска LSB-тегов. Ошибка не критична и никак не повлияет на работу сервера 1С:Предприятие. Но её легко можно решить, для этого добавим LSB-теги в сценарий сервиса 1С:Предприятие:

1 # vim /etc/init.d/srv1cv83

Находим строки:

#!/bin/bash #------------------------------------------------------------ # 1C:Enterprise server configuration parameters #------------------------------------------------------------ # 1C:Enterprise server keytab file.

Приводим к следующему виду:

#!/bin/bash #------------------------------------------------------------ # 1C:Enterprise server configuration parameters #------------------------------------------------------------ ### BEGIN INIT INFO # Provides: srv1cv83 # Required-Start: $remote_fs $network $syslog $named # Required-Stop: $remote_fs $network $syslog $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: 1C:Enterprise 83 server. ### END INIT INFO # 1C:Enterprise server keytab file.

После изменения сценария, запускаем:

1 # systemctl daemon-reload

9. Перезапускаем службу сервера 1С:Предприятие:

1 # service srv1cv83 restart

10. Проверяем запускаются ли при старте системы сервер 1С:Предприятие:

1 # netstat -atn|grep 0.0.0.0:15

Вы должны получить примерно такое сообщение:

1 2 3 tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN

11. Так же для профилактики можно проверить, все ли процессы сервера запущены:

От имени пользователя usr1cv8 должно быть запущено три процесса: ragent, rmngr и rphost. После имен процессов идут номера портов, через которые они работают:

1 2 3 4 usr1cv8 16832 0.3 1.8 357780 35668 ? Ssl 21:39 0:01 /opt/1C/v8.3/x86_64/ragent -daemon usr1cv8 16835 0.8 5.4 955616 104104 ? Sl 21:39 0:04 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host as1 -range 1560:1591 -clstid 96f2358c-87be-11e5-049f-080027e1f738 usr1cv8 16862 0.3 10.6 848588 204580 ? Sl 21:39 0:01 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost as1 -regport 1541 -pid 97c8c4c6-87be-11e5-049f-080027e1f738 root 16940 0.0 0.1 13968 2220 pts/0 S+ 21:48 0:00 grep 1c

Установка драйвера для аппаратной лицензии 1С (HASP). ↑

Большая часть новичков впервые столкнувшиеся с процессом установки 1С:Предприятие не могут понять о какой лицензии, ключе, HASP идет речь. Итак, лицензия 1С необходима для запуска продуктов 1С:Предприятие. Лицензии 1С можно разделить на аппаратные и программные. Мы рассмотрим аппаратную лицензию (USB-токен)). Аппаратные ключи 1С делятся на 3 вида и их можно отличить по цвету:

Клиентское приложение допускает использование следующих ключей HASP:

Причём на одном компьютере может быть установлено не более одного ключа одной серии. Подробнее о видах лицензии и ключей вы можете прочитать здесь.

Из вышеуказанного следует - нам нужны два типа лицензий. Лицензия для сервера 1С:Предприятие и лицензия для клиента 1С:Предприятие. После того как мы выяснили какие ключи нам необходимы, можно перейти к установке драйвера. Свежий драйвер можно скачать на официальном сайте. Большинству подойдет HASP 4, его и скачивайте.

1. Как вы помните, всё необходимое я уже скачал, потому просто переходим из каталога 1с, в каталог hasp:

Проверим, что есть в каталоге:

1 2 3 4 # ls -l итого 2872 -rw-r--r-- 1 nihi1ist nihi1ist 2918898 авг 26 14:08 aksusbd_7.40-1_i386.deb -rw-r--r-- 1 nihi1ist nihi1ist 16851 авг 26 14:08 readme.html

Установочный пакет есть, осталось установить его:

2. После установки сервис не запустился, запустим его:

1 # service aksusbd start

Если сервис запустился штатно, команда просто отработает не выдав сообщений. Проверить запущен ли сервис можно командой:

1 # service aksusbd status

Вы должны получить сообщение:

1 2 3 4 5 6 7 8 ● aksusbd.service - LSB: Sentinel LDK RTE Loaded: loaded (/etc/init.d/aksusbd) Active: active (exited) since Чт 2015-12-03 19:37:12 ALMT; 10s ago Process: 3848 ExecStart=/etc/init.d/aksusbd start (code=exited, status=0/SUCCESS) дек 03 19:37:12 hst1 aksusbd[3848]: Starting AKSUSB daemon: . дек 03 19:37:12 hst1 aksusbd[3848]: Starting WINEHASP daemon: . дек 03 19:37:12 hst1 aksusbd[3848]: Starting HASPLM daemon: .

ПРЕДУПРЕЖДЕНИЕ! Для 64-битного сервера 1С:Предприятие, нужен 64-битный серверный HASP-ключ. 32-битный серверный HASP-ключ с 64-битным сервером 1С:Предприятие работать не будет!

ПРИМЕЧАНИЕ! Сервер 1С:Предприятие под *nix-подобные операционные системы не требует наличия серверного ключа, если число пользользователей не превышает 12. В этом случае требуется наличие только клиентских лицензий. Тем не менее, согласно правилам лицензирования, организация должна приобрести серверный ключ.

На этом установка драйвера закончена.

Установка клиента 1С:Предприятие 8.3. ↑

Установка клиента.

Итак, дано: рабочая станция с Debian 8 «Jessie» + DE Cinnamon на борту. Я предпочел Cinnamon, но каждый может выбрать окружение (DE) себе по вкусу. Можно приступить к установке клиента 1С:Предприятие.

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

1 # apt-get install libwebkitgtk-1.0-0 imagemagick libglib2.0-0 libgsf-1-114 ttf-mscorefonts-installer t1utils unixodbc --no-install-recommends

2. На памятной флешке, имеются также пакеты клиента. Подключим флешку как указано в пунктах 4 и 5, главы Подготовка сервера и сразу перейдем в каталог с пакетами 1С:Предприятие:

Посмотрим, что имеется в каталоге:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 # ls -l итого 628420 -rwxrwxrwx 1 nihi1ist nihi1ist 206202908 ноя 19 05:45 1c-enterprise83-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 19879626 ноя 19 05:45 1c-enterprise83-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 33830518 ноя 19 05:45 1c-enterprise83-common_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 1607830 ноя 19 05:45 1c-enterprise83-common-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 174945770 ноя 19 05:45 1c-enterprise83-server_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 60668720 ноя 19 05:45 1c-enterprise83-server-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 135750258 ноя 19 05:45 1c-enterprise83-thin-client_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 9980106 ноя 19 05:45 1c-enterprise83-thin-client-nls_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 190046 ноя 19 05:45 1c-enterprise83-ws_8.3.7-1776_amd64.deb -rwxrwxrwx 1 nihi1ist nihi1ist 11986 ноя 19 05:46 1c-enterprise83-ws-nls_8.3.7-1776_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 173740 фев 24 2013 libt1-5_5.1.2-3.6_amd64.deb -rwxr-xr-x 1 nihi1ist nihi1ist 236970 июн 8 2008 ttf2pt1_3.4.4-1.4_amd64.deb

3. Есть два варианта установки клиента. Первый вариант - установка полноценного клиента (включает толстый и тонкий клиенты), второй вариант - установка тонкого клиента. В случае с установкой полноценного клиента, необходимо также устанавливать и серверную часть.

3.1. Сначала рассмотрим установку полноценного клиента:

1 # dpkg -i 1c-enterprise83-client_8*.deb 1c-enterprise83-common_8*.deb 1c-enterprise83-server_8*.deb ttf2pt1*.deb libt1*.deb

После чего надо выполнить процедуры указанные в пунктах с 6 по 9, главы Установка сервера 1С:Предприятие 8.3.

3.2. Тонкий клиент, можно устанавливать на те машины, где не планируется использование толстого клиента. Преимущество тонкого клиента, это отсутствие зависимостей от компонентов сервера 1С:Предприятие, а также возможность работать через интернет. Итак, установка тонкого клиента:

1 # dpkg -i 1c-enterprise83-thin-client_8*.deb

В каких случаях нам необходим толстый клиент?- Работа с конфигуратором,- Создание информационных баз,- Проведение объемных вычислений (в случае толстого клиента, все вычисления проводятся на стороне клиента).

Подробнее о тонких и толстых клиентах можно почитать здесь.

4. Теперь нам необходимо выбрать каким способом мы будем взаимодействовать с сервером. В зависимости от обстоятельств и предпочтений, вы можете установить DNS-сервер, или прописывать имя сервера на каждой клиентской машине вручную:

Надо добавить строку:

1 192.168.1.1 as1 as1.nixway.loc

Где 192.168.1.1 - IP-адрес сервера, as1 - имя сервера, as1.nixway.loc - имя сервера в локальном домене, его указывать не обязательно.

5. После того как вы добавили вышеуказанную строку, проверьте, доступен ли сервер по указанному имени:

1 # ping -c4 as1.nixway.loc

Вы должны получить примерно такой ответ:

1 2 3 4 5 6 7 8 9 PING as1.nixway.loc (192.168.56.101) 56(84) bytes of data. 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=1 ttl=64 time=0.212 ms 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=2 ttl=64 time=0.309 ms 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=3 ttl=64 time=0.315 ms 64 bytes from as1.nixway.loc (192.168.56.101): icmp_seq=4 ttl=64 time=0.258 ms --- as1.nixway.loc ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.212/0.273/0.315/0.045 ms

Установка клиента закончена, можно приступать к созданию информационной базы.

Создание информационной базы.

Для начала можно (но совсем необязательно) установить демонстрационную конфигурацию. Дабы продемострировать работую так называемого «Управляемого приложения». Демонстрационная конфигурация идет в комплекте с 1С:Предприятие 8.3. Установщик конфигурации представлен в виде простого скрипта. Потому, описывать процесс установки я не буду, просто выложу несколько скриншотов процесса установки:

1. Создание информационных баз на *nix-подобных ОС должно проходить из под толстого клиента. В противном случае вы рискуете получить ошибку:

Кроме вышеуказанной ошибки, встречается и другая, но уже в толстом клиенте. Когда при добавлении новой ИБ 1С:Предприятие выдает сообщение:

ИБ создается, но 1С:Предприятие некорректно обрабатывает её создание. В этом случае достаточно просто добавить ИБ в список:

Вышеуказанные ошибки будут рассмотрены в отдельной статье.

2. При первом запуске 1С:Предприятие сразу же предлагает нам добавить информационную базу (ИБ), жмем Да:

3. Выбираем пункт Создание новой информационной базы, жмем Далее >:

4. Выбраем шаблон конфигурации для создаваемой ИБ или же создаем ИБ без конфигурации, жмем Далее >:

5. Задаем имя ИБ и выбираем пункт На сервере 1С:Предприятия, жмем Далее >:

6. По порядку указываем: доменное имя или IP-адрес сервера 1С:Предприятие, имя ИБ, параметры соединения, тип СУБД, адрес сервера баз данных (БД), имя БД на сервере БД, имя пользователя сервера БД, пароль пользователя сервера БД, жмем Далее >:

7. Параметры запуска оставляем без изменений, жмем Готово:

8. Если вы всё сделали правильно, то через некоторое время ИБ будет создана и вы увидите её в списке:

9. Теперь, когда мы создали ИБ, можно её запустить. Как вы помните, я создавал ИБ из шаблона демонстрационной конфигурации. Так выглядит рабочее окно этой конфигурации:

Ну и конечно же конфигуратор:

Публикация ИБ на веб-сервере Apache 2.4. ↑

Хочу обрадовать тех, кому не хватало возможности публикации информационной базы на веб-сервере Apache. Добавление поддержки последней версии Apache, я заметил при установке 1С:Предприятие версии 8.3.8.1652. Может поддержка Apache 2.4 появилась и раньше. Но проверять мне было лень, а новостей на эту тему я не нашел. Даже на официальном сайте 1С, на данный момент устаревшая информация. Процесс публикации не изменился. Обращаю особое внимание, что процесс установки описан для Apache не ниже 2.4.

Создаем директорию для vrd-файла:

1 # mkdir -p /var/www/ib/ibname

А также файл конфигурации Apache:

1 # touch /etc/apache2/conf-available/ibname.conf

Переходим в каталог со утилитой публикации веб-клиента:

1 # cd /opt/1C/v8.3/x86_64/

Запускаем утилиту:

1 # ./webinst -apache24 -wsdir ibname -dir '/var/www/ib/ibname' -connstr 'Srvr="as1.nixway.loc";Ref="ibname";' -confPath /etc/apache2/conf-available/ibname.conf

Где /var/www/ib/ibname - директория где будет создан vrd-файл, ibname - имя ИБ, as1.nixway.loc - адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/ibname.conf - путь до конфигурационного файла Apache.

Подключаем конфигурацию:

Перечитываем конфигурацию Apache:

1 # service apache2 reload

Если процедура публикации была проведена корректно, ИБ будет доступна по адресу:

1 http[s]://server_ip|server_name/ibname

Послесловие ↑

Прошу в комментариях задавать вопросы только по статье. Если же вы найдете в статье ошибку или у вас есть предложения, просьбы, вопросы выходящие за рамки статьи, можете оставлять их на нашем форуме, в специально созданной теме.

Напоминаю копипастерам, использование прямой ссылки на оригинальную статью обязательно.

Статья обновлена 10 августа 2016 года.

nixway.org

Установка и настройка postgresql на debian 8 для работы с 1С

Сегодня хочу рассказать об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива. Существуют несколько модификаций postgresql для 1С. Я расскажу про установку двух из них — одна от самой компании 1С, вторая от postgrespro.

Введение

Расскажу немного о возможности работы 1С, при которой можно сэкономить деньги на лицензиях, используя дистрибутив linux и бесплатную бд postgresql. Сервер 1С обычно используют в одной из следующих связок:

Стандартная posgresql не будет нормально работать с базами 1С. В чем там проблема, я не знаю, не разбирался. Для работы с 1С используют отдельные сборки, специально под это заточенные. Мне известны 3 сборки posgresql для работы с 1С:

  1. От Etersoft — http://etersoft.ru/products/postgre
  2. От Postgrespro — https://postgrespro.ru/products/1c_build
  3. И от самой 1С. Скачать можно через портал поддержки пользователей.

Я установлю и настрою для сравнения сборку от 1С и от Postgrespro, чтобы попытаться понять, где будет выше производительность. Настраивать все будем на сервере Debian 8. Если у вас еще нет настроенного сервера, то рекомендую мои статьи по установке и настройке debian. Я создал 2 одинаковые виртуальные машины для теста и установил на каждую из них разную версию базы данных.

Подготовка сервера к установке postgresql

Если вы читали мою статью по настройке debian, то наверно уже обновили систему. Если нет, то сделаем это:

# apt-get update && apt-get upgrade

Скофнигурируем локали. Нам необходимо, чтобы в системе были 2 локали: en_US.UTF-8 и ru_RU.UTF-8. При этом русская должна быть установлена по-умолчанию. Выполняем конфигурацию с помощью команды:

# dpkg-reconfigure locales

Отмечаем указанные выше локали и выбираем ru_RU.UTF-8 дефолтной.

Проверить список установленных локалей можно командой:

# locale -a

Устанавливаем необходимые пакеты:

# apt-get install ssl-cert libossp-uuid16 libxslt1.1

Устанавливаем вручную еще один пакет:

# wget http://ftp.ru.debian.org/debian/pool/main/i/icu/libicu48_4.8.1.1-12+deb7u3_amd64.deb # dpkg -i libicu48*.deb

Редактируем системный параметр kernel.shmmax. Какое точно значение для наилучшей производительности выставлять, я не знаю. Не смог найти однозначного ответа. Видел рекомендацию, что в половину оперативной памяти на сервере. Я сделал у себя именно так. Вычислить размер параметра можно по формуле: Mb*1024*1024. У меня виртуальный сервер с 8Gb памяти, значение параметра получается 4096*1024*1024 = 4294967296. Добавляем это значение в /etc/sysctl.conf.

kernel.shmmax = 4294967296

Применяем внесенное изменение:

# sysctl -p

Проверить текущее значение параметра можно командой:

# cat /proc/sys/kernel/shmmax

У нас все готово для установки непосредственно postgresql.

Установка сборки PostgreSQL для платформы 1С от postgrespro

Будем устанавливать самую свежую сборку на момент написания статьи — PostgreSQL 9.6.1. Подключаем репозиторий:

# sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'

Устанавливаем gpg ключ

# wget --quiet -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add -

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

# apt-get update

Устанавливаем PostgreSQL

# apt-get install postgresql-pro-1c-9.6

Запускаем базу данных и добавляем в автозагрузку:

# systemctl start postgresql # systemctl enable postgresql

Установка сборки postgresql для работы с 1С от postgrespro закончена. Можно начинать работать с базой данных. Но перед этим необходимо задать пароль суперпользователя базы данных и выполнить небольшой тюнинг для увеличения быстродействия базы данных. С дефолтными настройками 1С будет работать очень медленно. Настройкой мы займемся позже, после того, как поставим вторую сборку от 1С.

Установка сборки PostgreSQL от 1С

Свежую версию postgresql от 1С можно скачать в пользовательском разделе на сайте 1С по адресу https://releases.1c.ru/total

Мы устанавливаем postgres на сервер Debian, поэтому скачиваем deb пакет для нашей системы.

Если у вас нет доступа к порталу 1С, можете забрать актуальный файл на момент написания статьи у меня — https://yadi.sk/d/lAujUgW_39gKMS.

Передаем файл на сервер, например через sftp или ssh. Распаковываем содержимое архива в отдельную папку:

# mkdir postgres # tar -xvf postgresql-9.4.2-1.1C_amd64_deb.tar.bz2 -C postgres

В архиве были следующие файлы:

# cd postgres # ls -l итого 5420 -rw-r--r-- 1 120250 июн 2 2015 libpq5_9.4.2-1.1C_amd64.deb -rw-r--r-- 1 3657036 июн 2 2015 postgresql-9.4_9.4.2-1.1C_amd64.deb -rw-r--r-- 1 1069692 июн 2 2015 postgresql-client-9.4_9.4.2-1.1C_amd64.deb -rw-r--r-- 1 72172 авг 11 2015 postgresql-client-common_154.1.1C_all.deb -rw-r--r-- 1 163684 авг 11 2015 postgresql-common_154.1.1C_all.deb -rw-r--r-- 1 457782 июн 2 2015 postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

Устанавливаем все пакеты:

# dpkg -i *.deb

Все, установка postgresql от 1С закончена. Запускаем и добавляем в автозагрузку:

# systemctl start postgresql # systemctl enable postgresql

Теперь приступаем к настройке для увеличения производительности базы 1С.

Настройка postgresql для увеличения производительности 1С

Настройка это, конечно, громко сказано. Я не занимался серьезно тюнингом postgresql и тестированием. Бегло поискал в интернете информацию и использовал наиболее популярные советы. Так что мои рекомендации не претендуют на реально проверенные и надежные решения. Используйте на свое усмотрение. Я просто делюсь тем, что сам нашел.

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

# su postgres

Меняем пароль внутреннего пользователя бд postgres:

# /usr/bin/psql -U postgres -c "alter user postgres with password 'postgrespwd';"

postgrespwd — пароль пользователя для административного доступа к базе данных. Эту учетную запись необходимо использовать для добавления новой базы в Сервер 1С.

Возвращаемся к тюнингу postgres. В первую очередь рекомендую сервис pgtune — http://pgtune.leopard.in.ua. В нем можно указать характеристики сервера и получить рекомендации по настройке. Так как у нас 2 сервера разных версий — первый 9.6, второй 9.4, рекомендации будут немного отличаться. Имейте это ввиду. Вот пример рекомендаций для первого сервера от postgrespro:

Укажите эти параметры в файле конфигураций. В моем случае это файл /etc/postgresql/9.6/main/postgresql.conf. Мне знакомый скинул готовый файл настроек с рекомендуемыми параметрами для 1С. Я не знаю происхождение этого файла, но настройками воспользовался. В итоге с учетом этого конфига и сайта pgtune я получил вот такой файл конфигурации postgres:

data_directory = '/var/lib/postgresql/9.6/main' hba_file = '/etc/postgresql/9.6/main/pg_hba.conf' ident_file = '/etc/postgresql/9.6/main/pg_ident.conf' external_pid_file = '/var/run/postgresql/9.6-main.pid' listen_addresses = '*' port = 5432 max_connections = 10 unix_socket_directories = '/var/run/postgresql' ssl = true ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem' ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key' shared_buffers = 2GB temp_buffers = 32MB work_mem = 104857kB maintenance_work_mem = 512MB autovacuum_work_mem = 64MB dynamic_shared_memory_type = posix shared_preload_libraries = 'online_analyze, plantuner' bgwriter_delay = 10ms bgwriter_lru_maxpages = 1000 bgwriter_lru_multiplier = 10 fsync = on synchronous_commit = off wal_buffers = 16MB checkpoint_timeout = 55min max_wal_size = 2GB min_wal_size = 1GB checkpoint_completion_target = 0.9 effective_cache_size = 6GB geqo = off default_statistics_target = 100 # range 1-10000 default_statistics_target = 10 cursor_tuple_fraction = 0.0001 from_collapse_limit = 2 join_collapse_limit = 2 log_line_prefix = '%t [%p-%l] %q%u@%d ' log_timezone = 'localtime' cluster_name = '9.6/main' stats_temp_directory = '/var/run/postgresql/9.6-main.pg_stat_tmp' log_autovacuum_min_duration = 0 autovacuum_max_workers = 3 autovacuum_naptime = 15s autovacuum_vacuum_threshold = 90 autovacuum_analyze_threshold = 9 autovacuum_vacuum_scale_factor = 0.0002 autovacuum_analyze_scale_factor = 0.0001 autovacuum_vacuum_cost_delay = 10ms autovacuum_vacuum_cost_limit = 10000 datestyle = 'iso, dmy' timezone = 'localtime' lc_messages = 'ru_RU.UTF-8' lc_monetary = 'ru_RU.UTF-8' lc_numeric = 'ru_RU.UTF-8' lc_time = 'ru_RU.UTF-8' default_text_search_config = 'pg_catalog.russian' max_locks_per_transaction = 150 max_pred_locks_per_transaction = 150 backslash_quote = on escape_string_warning = off standard_conforming_strings = off online_analyze.threshold = 50 online_analyze.scale_factor = 0.1 online_analyze.enable = on online_analyze.verbose = off online_analyze.min_interval = 10000 online_analyze.table_type = 'temporary' plantuner.fix_empty_table = false

Не забудьте перезапустить postgresql после изменения настроек:

# systemctl restart postgresql

Для версии 9.4 настройки будут немного отличаться. Там как минимум не будет параметров min_wal_size и max_wal_size. Но есть и другие отличия. Призываю не копировать мой конфиг и вставлять к себе, а сравнивать мои параметры и ваш дефолтный конфиг и изменять непосредственно значения параметров.

Есть хороший материал на тему оптимизации postgresql для работы с 1С — http://nixway.org/2015/12/06/optimizacija-postgresql-pod-server-1c-predpriyatiya. Я не буду повторяться и копировать информацию. Можете сами ознакомиться.

Заключение

В моем случае база 1С работала примерно одинаково в обоих случаях. В итоге я решил остановиться на сборке от postgrespro, так как там более свежая версия 9.6. У меня была база 10 гб. Работала она приемлемо, кроме некоторых операций — когда идет чтение по всей базе для построения каких-нибудь списков. Тюнинг различных параметров не привел к уменьшению времени выполнения подобных запросов. Так что этот вопрос остается открытый. Простого решения найти не удалось. Что точно нужно изменить для ускорения работы подобных запросов — не знаю. Разбор этой ситуации описал в отдельном материале — Ускорение работы 1С с postgresql и диагностика проблем производительности.

Заметил, что во время выполнения запроса на 100% нагружено одно ядро процессора. Погуглил тему, стало ясно, что это особенность архитектуры. Один запрос обрабатывает одно ядро. Простых способов решения данной проблемы не существует. Более подробно я не стал разбираться. На ум сразу пришло установить какой-то кэш, чтобы сохранять тяжелые запросы. Нашел информацию про pg_bouncer. Установить не получилось, он сходу из пакетов не встал с моей версией от postgrespro, ругнулся на зависимости. Надо разбираться и собирать из исходников. Нет уверенности, что это поможет, не стал заморачиваться, так как нет много времени на решение этой задачи. Буду рад любым подсказкам и комментариям по теме.

Если вы решите использовать описанное решение в продакшене, вам пригодится материал на тему бэкапа и восстановления баз postgresql.

Дополнительные материалы по Debian

Настройки системы Настройка программных комплексов Разное
Рекомендую полезные материалы по Debian:
  • Установка
  • Базовая настройка
  • Настройка сети
  • Обновление 8 до 9
  • Обновление 7 до 8
  • Включение логов cron
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика. Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования. Подробное описание настройки сети в Debian - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
 
  • Proxmox
  • Шлюз в интернет
  • Установка Asterisk
  • Asterisk+Freepbx
  • PostgreSQL для 1С
  • Настройка pptp
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке. Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk. Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива. Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.
  • Бэкап с помощью rsync
  • Тюнинг postgresl для 1C
Помогла статья? Есть возможность отблагодарить автора

serveradmin.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта