Комментарии

Галерея

Опрос

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

PostgreSQL c патчами 1С для SuSE Linux

Аватар пользователя isn

Достаточно давно сделал сборку PostgreSQL для сервера 1С 8.2 с патчами 1c и Etersoft для дистрибутивов SuSe (OpenSuSE). Казалось, что кроме меня это никому не интересно. Однако нашлись заинтересованные в этой сборке. Было высказано замечание, что проект никак не выделяется в общей массе домашних репозиториев на Open Build Service.

Оказалось, что сборок конкретно 9-й версии postgresql для 1с не так уж много, а для SuSE их практически нет. На официальных сайтах 1с и Etersoft выложены пакеты для RHEL, установка которых на чужой дистрибутив чревата множеством неприятностей. Начиная отличиями в скриптах запуска и заканчивая возможными несовместимостями по части разделяемых библиотек.

Поэтому выкладываю здесь ссылку на репозиторий OBS 1c_PostgreSQL. На данный момент там представлена сборка postgresql-9.0.3 с набором родных патчей от SuSE, а также ряд изменений от 1с и Etersoft. Пакеты доступны для дистрибутивов OpenSUSE 11.4 и 12.1, SLES 11SP1 и 11SP2.

Данная сборка нормально работает с сервером 1с 8.2.13 - 8.2.15. Тестировались конфигурации "Бухгалтерия Предприятия" 2.0 и "Зарплата и Управление Персоналом" версии 2.5.

Однако, если предполагается использовать данную БД для работы с другими базами (не 1с), нужно иметь ввиду некоторые особенности этой сборки. В отличии от официальной дистрибутивной версии здесь используется опция --disable-integer-datetimes. Поэтому перед установкой пакетов из OBS 1c_PostgreSQL следует сделать бэкап существующих баз с помощью pg_dumpall. Так как после установки патченной postgresql потребуется пересоздать базу.


Spoiler: Highlight to view
##### postgresql.conf (4Gb RAM) ##############
listen_addresses = '192.168.1.215'
max_connections = 100
shared_buffers = 512MB
temp_buffers = 32MB
work_mem = 256MB
maintenance_work_mem = 1024MB
effective_io_concurrency = 10
fsync = on
effective_cache_size = 512MB
default_statistics_target = 100
log_destination = 'stderr'
logging_collector = on
silent_mode = on
log_line_prefix = '%t %d %u '
 
autovacuum = on
autovacuum_max_workers = 3
autovacuum_naptime = 5min
autovacuum_vacuum_threshold = 50
autovacuum_analyze_threshold = 50
autovacuum_vacuum_scale_factor = 0.2
autovacuum_analyze_scale_factor = 0.1
autovacuum_freeze_max_age = 200000000
autovacuum_vacuum_cost_delay = 20ms
autovacuum_vacuum_cost_limit = -1
 
datestyle = 'iso, dmy'
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'
 
deadlock_timeout = 2s
max_locks_per_transaction = 600
default_with_oids = on
escape_string_warning = off
join_collapse_limit = 1 
##### pg_hba.conf ##############
 
# "local" is for Unix domain socket connections only
local   all             all                                     trust
 
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
 
# IPv4 remote connections:
host	all		all		192.168.1.1/24		md5