Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Вначале, как всегда, немного теории. Следует помнить, что в силу особенностей реализации платформы 1С Предприятие PostgreSQL в версии "из коробки" работать не будет. Основная проблема заключается в различных механизмах блокировки, используемых СУБД и 1С. Подробнее об этом можно узнать из комментария сотрудника 1С Дмитрия Русанова:
"Применение табличных блокировок в PostgreSQL в автоматическом режиме не является искусственным. 1С:Предприятие 8 в автоматическом режиме блокировок реализует подход неизменности прочитанных в рамках транзакции данных. PostgreSQL, как типичный версионник, не накладывает никаких блокировок на прочитанные данные (в отличие от DB2 или SQL Server - блокировочников), то для обеспечения идентичной функциональности приходится использовать эти самые табличные блокировки.
В управляемом режиме блокировок управление целостностью данных в транзакции отдано на откуп разработчику конфигурации. Там, соответственно, табличные блокировки не используются. Конечно, блокировка на уровне таблицы - это довольно грубо. Но в данном случае было решено принести в жертву параллельность для того, чтобы обеспечить идентичную функциональность."
Для того, чтобы PostgreSQL умел накладывать табличные блокировки 1С выпускает набор специальных патчей и уже готовые сборки СУБД для Windows и RedHat-совместимых систем. Пользователям Debian-совместимых систем лучше всего использовать альтернативную сборку PostgreSQL от компании Etersoft, которую можно взять на их FTP-сервере. На текущий момент последней версией является 9.0.4 которая доступна в версиях для 32-битных и 64-битных систем.
ВАЖНО! Мы не рекомендуем использовать сборки PostgreSQL от Ethersoft новее, чем 9.0.x, так как они содержат ошибку в библиотеке fasttrun.so, что деалет невозможной работу с платформой 1С:Предприятие. На настоящий момент ошибка наблюдается в версиях 9.1.x и 9.2.x.
Будем считать что необходимые пакеты скачаны и расположены на сервере, а читатель обладает базовыми навыками работы в командной строке Linux. Для установки СУБД мы будем использовать Ubuntu Server 10.04.4 64-бита.
Прежде всего создадим нужные локали:
locale-gen en_US
locale-gen ru_RU
Если система была установлена с языком отличным от русского, то дополнительно необходимо сделать основной русскую локаль:
update-locale LANG=ru_RU.UTF8
Теперь переконфигурируем локали:
dpkg-reconfigure locales
И перезагрузим систему.
Затем перейдем в каталог с пакетами PostgreSQL (в нашем случае директория pgsql904 в домашней папке) и установим их:
cd ~/pgsql904
dpkg -i *.deb
Последняя команда установит все находящиеся в директории deb-пакеты, поэтому важно, чтобы там не было ничего лишнего. В процессе установки вы получите сообщение о неразрешенных зависимостях, для их исправления выполните команду:
apt-get install -f
После чего система сама найдет и установит недостающие пакеты. На этом установку PostgreSQL можно считать законченной, но, перед тем как его использовать, необходимо внести некоторые изменения в настройки системы. В файл /etc/sysctl.conf необходимо добавить две строки, отвечающие за размер разделяемого сегмента памяти:
kernel.shmall=134217728
kernel.shmmax=134217728
Сохраним файл и применим настройки:
sysctl -p
Теперь можно попробовать запустить PostgreSQL:
service postgresql start
Если все сделано правильно произойдет запуск и начальная инициализация сервера баз данных. Теперь зададим пароль суперпользователю СУБД postgres. Для этого в конфигурационном файле PostgreSQL /var/lib/pgsql/data/pg_hba.conf найдем следующую строку:
local all all ident
и заменим ident на trust. Сохраним файл и перезапустим СУБД:
service postgresql restart
и выполним следующую команду:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"
где password - желаемый пароль. После чего снова заменим trust на ident и еще раз перезапустим PostgreSQL.
На этом установку можно считать законченной. Не забудьте на всех машинах, которые будут работать с данным сервером, добавить в hosts запись связывающую ip-адрес сервера с его сетевым именем, либо добавьте соответствующую запись типа A на ваш DNS-сервер.
Для примера рассмотрим создание новой информационной базы на сервере 1С с использованием только что настроенного сервера БД. При создании базы выберем нужный шаблон и укажем что база будет располагаться на сервере 1С.
Затем укажем расположение серверов 1С и СУБД, а также желаемое имя базы данных и параметры доступа к серверу БД.
В результате этих несложных действий получим информационную базу работающую на указанном кластере серверов 1С и использующую наш сервер БД под управлением PostgreSQL.
В нашем примере мы использовали для сервера 1С и сервера БД разные физические сервера, для небольших баз с невысокой нагрузкой эти роли можно совместить на одной машине.
Дополнительные материалы:
- Сервер 1С Предприятия. Часть 1 - Общие вопросы.
- Сервер 1С Предприятия. Часть 2 - Установка на платформе Windows.
- Сервер 1С Предприятия. Часть 3 - Установка на платформе Linux (Ubuntu).
- Сервер 1С Предприятия. Часть 4 - Установка PostgreSQL на платформe Linux (Ubuntu).
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии