Tag Archives: postgresql

Автор:Dmitriy Altuhov

Конфиг postgresql 9.2.4 сервер 1С Linux

root@server1c:/etc/postgresql/9.2/main# cat postgresql.conf | egrep -v «^s*(#|$)»

data_directory = ‘/var/lib/postgresql/9.2/main’ # use data in another directory
hba_file = ‘/etc/postgresql/9.2/main/pg_hba.conf’ # host-based authentication file
ident_file = ‘/etc/postgresql/9.2/main/pg_ident.conf’ # ident configuration file
external_pid_file = ‘/var/run/postgresql/9.2-main.pid’ # write an extra PID file
listen_addresses = ‘*’ # what IP address(es) to listen on;
port = 5432 # (change requires restart)
unix_socket_directory = ‘/var/run/postgresql’ # (change requires restart)
ssl = true # (change requires restart)
ssl_cert_file = ‘/etc/ssl/certs/ssl-cert-snakeoil.pem’ # (change requires restart)
ssl_key_file = ‘/etc/ssl/private/ssl-cert-snakeoil.key’ # (change requires restart)
effective_io_concurrency = 2 # 1-1000; 0 disables prefetching
synchronous_commit = off # synchronization level;
wal_writer_delay = 2000ms # 1-10000 milliseconds
seq_page_cost = 3.0 # measured on an arbitrary scale
random_page_cost = 4.0 # same scale as above
log_line_prefix = ‘%t ‘ # special values:
log_timezone = ‘localtime’
autovacuum = on # Enable autovacuum subprocess? ‘on’
log_autovacuum_min_duration = 200 # -1 disables, 0 logs all actions and
autovacuum_naptime = 960 # time between autovacuum runs
autovacuum_vacuum_threshold = 1800 # min number of row updates before
autovacuum_analyze_threshold = 900 # min number of row updates before
datestyle = ‘iso, dmy’
timezone = ‘localtime’
lc_messages = ‘en_US’ # locale for system error message
lc_monetary = ‘ru_RU.UTF-8’ # locale for monetary formatting
lc_numeric = ‘ru_RU.UTF-8’ # locale for number formatting
lc_time = ‘ru_RU.UTF-8’ # locale for time formatting
default_text_search_config = ‘pg_catalog.russian’
deadlock_timeout = 2s
max_locks_per_transaction = 150 # min 10
backslash_quote = safe_encoding # on, off, or safe_encoding
escape_string_warning = off
standard_conforming_strings = off
online_analyze.threshold = 50
online_analyze.scale_factor = 0.1
online_analyze.enable = off
online_analyze.verbose = off
online_analyze.min_interval = 10000
online_analyze.table_type = ‘temporary’
plantuner.fix_empty_table = true
default_statistics_target = 50 # pgtune wizard 2013-12-15
maintenance_work_mem = 960MB # pgtune wizard 2013-12-15
constraint_exclusion = on # pgtune wizard 2013-12-15
checkpoint_completion_target = 0.9 # pgtune wizard 2013-12-15
effective_cache_size = 4GB # pgtune wizard 2013-12-15
work_mem = 96MB # pgtune wizard 2013-12-15
wal_buffers = 16MB # pgtune wizard 2013-12-15
checkpoint_segments = 32 # pgtune wizard 2013-12-15
shared_buffers = 7GB # pgtune wizard 2013-12-15
max_connections = 80 # pgtune wizard 2013-12-15

Автор:Dmitriy Altuhov

1C postgres upgrade 9.2.1 to 9.2.4

Установлен сервер postgresql 9.2.1 с патчами от 1С.
Требуется обновить postgresql 9.2.1 до версии 9.2.4

  1. Останавливаем кластер 1С: service srvcv83 stop
  2. Делаем полный дамп баз: pg_dumpall -U postgres -h localhost -f db.out
  3. Удаляем полностью postgresql 9.2.1: apt-get purge postgres*
  4. Удаляем оставшиеся файлы: /etc/postgresql и /var/lib/postgresql
  5. Устанавливаем версию 9.2.4: dpkg —force-depends -i *.deb
  6. Восстанавливаем все базы из бэкапа: psql -f db.out postgres

Конфиг для  postgresql 9.2.4 сервер 1С 8.3.4

Автор:Dmitriy Altuhov

1c 8.2 postgresql server backup sql bat windows

Имеется сервер ubuntu с установленным сервером 1С и БД Postgresql.
Имеется сервер windows 2008 R2.

Задача. Организовать автоматическое резервное копирование базы 1С из postgresql (с сервера 1С) на сервер Windows 2008 R2. Средствами pg_dump. С сохранением последних 7-и архивов.

@echo off & setLocal EnableDelayedExpansion
for /f "skip=14 tokens=* delims= " %%a in ('dir/b/o-d C:\WORK\backupALL\buhgaltery\*.zip') do (
del "C:\WORK\backupALL\buhgaltery\%%a"
)
for /f "skip=21 tokens=* delims= " %%a in ('dir/b/o-d C:\WORK\backupPG1C\*.backup') do (
del "C:\WORK\backupPG1C\%%a"
)
for /f "tokens=1-2 delims=:" %%a in ('echo %time%') do set hhmm=%%a%%b
for /f "tokens=1-3 delims=." %%D in ('echo %DATE%') do set yyyymmdd=%%F%%E%%D
set BACKUP_FILE=C:\WORK\backupPG1C\UPP_%yyyymmdd%_%hhmm%.backup
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD=password
echo on
"C:\Program Files\PostgreSQL\9.2.4-1.1C\bin\pg_dump.exe" --host server1c --port 5432 --username "postgres" --no-password --format custom --blobs --file %BACKUP_FILE% "upp"
@echo off
set BACKUP_FILE=C:\WORK\backupPG1C\APROIZV_%yyyymmdd%_%hhmm%.backup
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD=password
echo on
"C:\Program Files\PostgreSQL\9.2.4-1.1C\bin\pg_dump.exe" --host server1c --port 5432 --username "postgres" --no-password --format custom --blobs --file %BACKUP_FILE% "aproizv"
@echo off
set BACKUP_FILE=C:\WORK\backupPG1C\7PROIZV_%yyyymmdd%_%hhmm%.backup
echo backup file name is %BACKUP_FILE%
echo on
"c:\Program Files\7-zip\7z.exe" a -t7z -ssw -mx3 -r %BACKUP_FILE% D:\share\1CBases
@echo off

Автор:Dmitriy Altuhov

Конфиг postgresql 9.2.1 сервер 1С

data_directory = ‘/var/lib/postgresql/9.2/main’         # use data in another directory
hba_file = ‘/etc/postgresql/9.2/main/pg_hba.conf’       # host-based authentication file
ident_file = ‘/etc/postgresql/9.2/main/pg_ident.conf’   # ident configuration file
external_pid_file = ‘/var/run/postgresql/9.2-main.pid’                  # write an extra PID file
listen_addresses = ‘*’          # what IP address(es) to listen on;
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
unix_socket_directory = ‘/var/run/postgresql’           # (change requires restart)
shared_buffers = 512MB                  # min 128kB
temp_buffers = 16MB                     # min 800kB
work_mem = 64MB                         # min 64kB
maintenance_work_mem = 256MB            # min 1MB
effective_io_concurrency = 2            # 1-1000; 0 disables prefetching
synchronous_commit = off                # synchronization level;
effective_cache_size = 2048MB
log_line_prefix = ‘%t ‘                 # special values:
log_timezone = ‘localtime’
autovacuum = on                 # Enable autovacuum subprocess?  ‘on’
autovacuum_naptime = 10min              # time between autovacuum runs
autovacuum_vacuum_threshold = 5000      # min number of row updates before
autovacuum_analyze_threshold = 5000     # min number of row updates before
datestyle = ‘iso, dmy’
timezone = ‘localtime’
lc_messages = ‘en_US.UTF-8’                     # locale for system error message
lc_monetary = ‘ru_RU.UTF-8’                     # locale for monetary formatting
lc_numeric = ‘ru_RU.UTF-8’                      # locale for number formatting
lc_time = ‘ru_RU.UTF-8’                         # locale for time formatting
default_text_search_config = ‘pg_catalog.russian’
deadlock_timeout = 2s
max_locks_per_transaction = 250 # min 10
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 = true

Автор:Dmitriy Altuhov

Установка и настройка Ubuntu 32/64 1c 8.2 postgresql 9.1.2

Итак. Имеем Ubuntu Server 32/64 бит (разницы при установке и настройке почти никакой).
Устанавливать будем PostgreSQL 9.1.2 (сборку от 1С) и сервер 1С.

Нам потребуется скачать с сайта 1С:
postgresql_9_1_2_deb_x86_64_tar.gz (архив с deb-пакетами PostgreSQL для 64-битной ubuntu)
postgresql_9_1_2_deb_i386_tar.gz (архив с deb-пакетами PostgreSQL для 32-битной ubuntu)
deb64.tar.gz (архив с deb-пакетами сервера 1С для 64-битной ubuntu)
deb.tar.gz (архив с deb-пакетами сервера 1С для 32-битной ubuntu)

  1. Устанавливаем Ubuntu Server 32 или 64 бит (какую — на ваше усмотрение), не забываем про SSH-сервер
  2. В файле hosts должно быть прописано это FQDN-имя хоста с привязкой к ip-адресу сетевой карты, подключенной к локальной сети. ОБЯЗАТЕЛЬНО! Иначе не запустится сервер 1с. По умолчанию в файле прописано 127.0.1.1     server1c.localnet.local    server1c. Так работать не будет, нужно например так: 192.168.56.102  server1c.localnet.local    server1c
  3. Настраиваем сеть, чтобы был доступ в интернет (ну и прочие общисистемные параметры: iptables, nut, ntp, dns, …)
  4. В процессе установки postgresql и сервера 1С нам потребуется поставить дополнительные пакеты (зависимости):
  5. sudo apt-get install mc libssl0.9.8 imagemagick unixodbc libgsf-bin t1utils ttf-mscorefonts-installer libt1-5 tcl8.5 p ostgresql-common libossp-uuid16 libxslt1.1 l ibfreetype6 krb5-user libkrb53 krb5-config
  6. wget » http://interface31.ru/tech_it/file s/1c/ttf2pt1_3.4.4-1.3_amd64.deb» или wget » http://interface31.ru/tech_it/files/1c/ttf2pt1_3.4.4-1.3_i386.deb«
  7. locale-gen en_US
  8. locale-gen ru_RU
  9. dpkg-reconfigure locales
  10. ln -s /usr/lib/libMagickWand.so.4 /usr/lib/libWand.so
  11. ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.s o.2 /usr/lib/libgssapi_krb5.so
  12. в файл /etc/ environment добавляем SYSTEM_LIB_P ATH=»/usr/lib/x86_64-linux-gnu»
  13. export SYSTEM_LIB_PATH=»/usr/lib/x86_64-l inux-gnu»
  14. распаковываем архивы с помощью tar xvf
  15. Устанавливаем все пакеты 1С и PostgreSQL и ttf2pt1 (все файлы deb в одной папке) кроме файлов *dev*,*dbg* (нужны ли пакеты для разработки?), postgresql-plperl (не понятно что делать с зависимость libperl5.10) (их убрать в другую папку): dpkg -i *.deb
  16. sudo chown -R usr1cv82:grp1cv82 /opt/1C
  17. update-rc.d srv1cv82 defaults
  18. /opt/1C/v8.2/x86_64/utils/config_server

Если нужен файлсервер с поддержкой Active Directory
1. sudo apt-get install samba samba-common winbind libpam-winbind

Полезная информация:
http://interface31.ru/tech_it/2012/04/se rver-1s-predpriyatiya-chast-3-ustanovka-n a-platforme-linux-ubuntu.html
http://help.ubuntu.ru/wiki/%D1%83%D1%81%D 1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0 _1%D1%81_8_1
http://linuxforum.ru/viewtopic.php?id=11 116&p=2
http://infostart.ru/public/89592/
http://www.lissyara.su/archive/1c_8.2+postgresql/
http://www.gilev.ru/1c/app/

Автор:Dmitriy Altuhov

А у нас тест Гилёва даёт 40,5 пунктов на PostgreSQL, а у Вас?

Скачать тест можно тут: http://www.gilev.ru/tpc1cgilv/
Тест работает со всеми режимами работы (файловый, MSSQL, PostgreSQL, Linux/Windows).

Протестируйте быстродействие вашего сервера 1С.

На момент написания статьи использовался сервер:

Intel Core  i7-3770, 12 GB RAM, Software Linux RAID1, PostgreSQL 9.1.2, платформа 1С 8.2.17.143

gilevtest

 

Новая версия теста и результаты: http://it74.net/techblog/test-tpc-g1c-komandy-gilev-na-servere-1c-8-3-ubuntu-12-04-postgresql-9-2-4-1-1c/
TPCG1C83-1