Настройка postgresql.conf под 1С

#В сети уже есть большое количество статей о настройке Postgresql под 1С,
#но я решил собрать для себя все в одном месте. Итак поехали…


#Секция — Расположение файлов FILE LOCATIONS

#data_directory = ‘ConfigDir’
#hba_file = ‘ConfigDir/pg_hba.conf’
#ident_file = ‘ConfigDir/pg_ident.conf’
#external_pid_file = ‘(none)’

#Секция — Подключение и аутентификация CONNECTIONS AND AUTHENTICATION

listen_addresses = ‘*’
#port = 5432
#max_connections = 100
#superuser_reserved_connections = 3
#unix_socket_directory = »
#unix_socket_group = »
#unix_socket_permissions = 0777
#bonjour_name = »
#authentication_timeout = 1min
#ssl = off
#ssl_ciphers = ‘ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH’
#ssl_renegotiation_limit = 512MB
#password_encryption = on
#db_user_namespace = off
#krb_server_keyfile = »
#krb_srvname = ‘postgres’
#krb_caseins_users = off
#tcp_keepalives_idle = 0
#tcp_keepalives_interval = 0
#tcp_keepalives_count = 0

#Секция — Использование ресурсов RESOURCE USAGE

shared_buffers = 512MB
#Так как данные умеет кешировать не только postgresql, но и операционная система, то считаю,
#что нет необходимости выделять под postgresql всю имеющуюся оперативную память

temp_buffers = 32MB
#Тут указываем буфер под временные данные, т.к. они временные то много и не надо 🙂

#max_prepared_transactions = 0
#В 1с данный параметр не используется

work_mem = 256MB
#Количество выделяемой памяти под каждый запрос,
#при превышении этого значения сервер использует временные файлы на диске,
#что замедляет работу

maintenance_work_mem = 512MB
#Данная память используется для операций сбора статистики, очистки мусора
#и создания индексов(ANALYZE,VACUUM,CREATE INDEX)
#Рекомендуют ставить значение большее чем work_mem

#max_stack_depth = 2MB
#max_files_per_process = 1000
#shared_preload_libraries = »
#vacuum_cost_delay = 0ms
#vacuum_cost_page_hit = 1
#vacuum_cost_page_miss = 10
#vacuum_cost_page_dirty = 20
#vacuum_cost_limit = 200
#bgwriter_delay = 200ms
#bgwriter_lru_maxpages = 100
#bgwriter_lru_multiplier = 2.0
#effective_io_concurrency = 1
#bgwriter_delay = 200ms
#bgwriter_lru_maxpages = 100
#bgwriter_lru_multiplier = 2.0
#effective_io_concurrency = 1

#Секция — Журнал транзакций WRITE AHEAD LOG

fsync = on
#Данный параметр влияет на то будет ли сбрасываться кеш на диск, если у Вас нет ИБП,
#или стоит Винда, то данный параметр рекомендуют включить

#synchronous_commit = on
#wal_sync_method = fsync
#Метод который будет использоваться при сбросе даных на диск,
#не все методы могут поддерживаться вашим сервером
#open_datasync – запись данных методом open() с параметром O_DSYNC
#fdatasync – вызов метода fdatasync() после каждого commit
#fsync_writethrough – вызывать fsync() после каждого commit игнорирую паралельные процессы
#fsync – вызов fsync() после каждого commit
#open_sync – запись данных методом open() с параметром O_SYNC

full_page_writes = on
#Если fsync у нас off, то данный параметр рекомендутся установить в off

wal_buffers = 2048kB
#Количество памяти для ведения транзакционных логов

#wal_writer_delay = 200ms
#commit_delay = 0
#commit_siblings = 5
#checkpoint_segments = 3
#checkpoint_timeout = 5min
#checkpoint_completion_target = 0.5
#checkpoint_warning = 30s
#archive_mode = off
#archive_command = »
#archive_timeout = 0

#Секция — Настройки запроса QUERY TUNING

#enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on

#Секция — Планирование запросов Planner Cost Constants

#seq_page_cost = 1.0
#random_page_cost = 4.0
#cpu_tuple_cost = 0.01
#cpu_index_tuple_cost = 0.005
#cpu_operator_cost = 0.0025
effective_cache_size = 512MB
#geqo = on
#geqo_threshold = 12
#geqo_effort = 5
#geqo_pool_size = 0
#geqo_generations = 0
#geqo_selection_bias = 2.0
#default_statistics_target = 100
#constraint_exclusion = partition
#cursor_tuple_fraction = 0.1
#from_collapse_limit = 8
#join_collapse_limit = 8

#Секция — Сообщения об ошибках ERROR REPORTING AND LOGGING

#log_destination = ‘stderr’
#logging_collector = off
#log_directory = ‘pg_log
#log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’
#log_truncate_on_rotation = off
#log_rotation_age = 1d
#log_rotation_size = 10MB
#syslog_facility = ‘LOCAL0’
#syslog_ident = ‘postgres’
#silent_mode = off
#client_min_messages = notice
#log_min_messages = warning
#log_error_verbosity = default
#log_min_error_statement = error
#log_min_duration_statement = -1
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_hostname = off
#log_line_prefix = »
#log_lock_waits = off
#log_statement = ‘none’
#log_temp_files = -1
#log_timezone = unknown

#Секция — Статистика RUNTIME STATISTICS

#track_activities = on
#track_counts = on
#track_functions = none
#track_activity_query_size = 1024
#update_process_title = on
#stats_temp_directory = ‘pg_stat_tmp’
#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off

#Секция — Очистка от мусора AUTOVACUUM PARAMETERS

autovacuum = on
#включаем автоматическую чистку мусора

#log_autovacuum_min_duration = -1
#autovacuum_max_workers = 3
autovacuum_naptime = 10min
#устанавливаем паузу между запуском очистки, зависит от того как часто у Вас меняются данные

autovacuum_vacuum_threshold = 5000
#порог после которого происходит запуск очистки

autovacuum_analyze_threshold = 5000
#порог после которого происходит запуск анализа

#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

#Секция — Настройки клиентских подключений CLIENT CONNECTION DEFAULTS

#search_path = ‘»$user»,public’
#default_tablespace = »
#temp_tablespaces = »
#check_function_bodies = on
#default_transaction_isolation = ‘read committed’
#default_transaction_read_only = off
#session_replication_role = ‘origin’
#statement_timeout = 0
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
#xmlbinary = ‘base64’
#xmloption = ‘content’
#datestyle = ‘iso, mdy’
#intervalstyle = ‘postgres’
#timezone = unknown
#timezone_abbreviations = ‘Default’
#extra_float_digits = 0
#client_encoding = sql_ascii
#lc_messages = ‘C’
#lc_monetary = ‘C’
#lc_numeric = ‘C’
#lc_time = ‘C’
#default_text_search_config = ‘pg_catalog.simple’
#dynamic_library_path = ‘$libdir’
#local_preload_libraries = »

#Секция — Управление блокировками LOCK MANAGEMENT

deadlock_timeout = 2s
#время жизни взаимных блокировок

max_locks_per_transaction = 600
#Количество блокировок в предела транзации, раньше у меня стояло 300, но вылетали ошибки

#Секция — Совместимость VERSION/PLATFORM COMPATIBILITY

#add_missing_from = off
#array_nulls = on
#backslash_quote = safe_encoding
#default_with_oids = off
#escape_string_warning = on
#regex_flavor = advanced
#sql_inheritance = on
#standard_conforming_strings = off
#synchronize_seqscans = on
#transform_null_equals = off

#Секция — Индивидуальные опции CUSTOMIZED OPTIONS

#custom_variable_classes = »

#Если У Вас есть замечания или рекомендации, то буду рад услышать их в комментариях

(Просмотров 1 418, 1 за сегодня)
  • 8.3
    база на 22Гб
    Е5 и 24 Гб ОЗУ
    подойдет такой конфиг??

  • Максим

    3 базы по 2гб:
    1. Бухгалтерия
    2. Зуп
    3. Бухгалтерия КОРП
    по 10 пользователей в каждой

    • yavasilek

      я правильно понимаю что работать будет всего 10 пользователей, просто поочередно?

      на серваке крутится только база или еще контролер домена, днс … ?

      поставь еще как минимум 4ре гиги оперативки.

      • Максим

        ну да, 10 пользователей то в зупе то в бухгалтерии, нет сервер только под 1с

        • yavasilek

          конфиг подойдет точно, но все побалуй сервачек, поставь памяти еще чуток 🙂

          • Максим

            спасибо за ответы, поставлю!

  • Максим

    Добрый день, а этот конф постгре под какой сервер? у меня:
    Xeon e5504 4 ядра, оперативная память 4 гб, виндовс 2008 р2 х64.

    • yavasilek

      это типовой конфиг. думаю много зависит еще и от самой базы.
      У тебя должно заработать!
      Оперативки тебе надо будет побольше поставить (смотри на размер своей базы)