# Путь к конфигам:
data_directory = '/usr/local/pgsql/data'
hba_file = '/usr/local/pgsql/data/pg_hba. conf'
ident_file = '/usr/local/pgsql/data/pg_ident. conf'
listen_addresses = '*'
max_connections = 100
# Дополнительный буфер между диском и процессами Postgre SQL.
# Не следует указывать слишком большой объем,
# т. к. еще существует системный Кэш, контролируемый ОС.
# Значения:
# Средний объём данных и 256–512 МБ доступной памяти: 16–32 МБ
# Большой объём данных и 1–4 ГБ доступной памяти: 64–256 МБ
shared_buffers = 64MB
# Буфер под временные объекты, в основном для временных таблиц.
# Можно установить порядка 16 МБ
temp_buffers = 16MB
# Количество одновременно подготавливаемых транзакций.
# Для работы 1С этот параметр значения не имеет.
max_prepared_transactions = 5
# Специальная память, используется для сортировки и
# кэширования таблиц, для одного запроса.
# При задании этого параметра следует учитывать количество
# конкурентых запросов, выполняемых в один момент времени.
# При памяти 1–4Gb рекомендуется устанавливать 32–128MB
work_mem = 64MB
# Память использующаяся для операций VACUUM, CREATE INDEX,
# ALTER TABLE и FOREGIN KEY.
# Следует устанавливать большее значение, чем для work_mem.
# Слишком большие значения приведут к использованию свопа.
# При памяти 1–4Gb рекомендуется устанавливать 128–512MB
maintenance_work_mem = 256MB
# Специальный стек для сервера, в идеале он должен совпадать
# с размером стека, выставленном в ядре ОС. Установка большего значения
# чем в ядре может привести к ошибкам. Рекомендуется устанавливать 2–4MB
max_stack_depth = 2MB
# Максимальное количество таблиц, для которых будет отслеживаться
# свободное место. Выставите параметр в соответствии с количеством
# таблиц в вашей базе с запасом.
#max_fsm_relations = 1000
# Количество блоков, для которых будет хранится информация о свободном месте.
# Информация хранится в разделяемой памяти, для каждой записи требуется
# по 6 байт. Использование этого параметра позволяет избежать использования
# VACUUM FULL для базы, достаточно будет VACUUM. Этот параметр должен быть
# не меньше чем 16*max_fsm_relations. Данный параметр задается автоматически
# при создании базы утилитой initdb. Можно задать его и вручную: в качестве
# начального приближения можно взять половину от среднего количества записей,
# изменяемых (UPDATE или DELETE) между запусками команды VACUUM.
max_fsm_pages = 204800
# Данный параметр отвечает за сброс данных из кэша на диск при завершении
# транзакций. Если установить его значение fsync=off, то данные не будут
# записываться на дисковые накопители сразу после завершения операций.
# Это может существенно повысить скорость операций insert и update, но
# есть риск повредить базу, если произойдет сбой (неожиданное отключение
# питания, сбой ОС, сбой дисковой подсистемы). Используйте эту возможность
# только если у вас имеются надежные ИБП и программное обеспечение,
# завершающее работу системы при низком заряде батарей.
#fsync = on
# Метод который используется для принудительной записи данных на диск.
# Если fsync=off, то этот параметр не имеет значения. Возможные значения:
# open_datasync – запись данных методом open() с опцией O_DSYNC
# fdatasync – вызов метода fdatasync() после каждого commit
# fsync_writethrough – вызывать fsync() после каждого commit игнорирую
# паралельные процессы
# fsync – вызов fsync() после каждого commit
# open_sync – запись данных методом open() с опцией O_SYNC
# Не все методы доступны на определенных платформах. По умолчанию устанавливается
# первый, который доступен в системе.
#wal_sync_method = fsync
# Установите данный параметр в off, если fsync=off
#full_page_writes = on
# Количество памяти используемое в SHARED MEMORY для ведения транзакционных логов.
# При доступной памяти 1–4GB рекомендуется устанавливать 256–1024kb
wal_buffers = 512kB
# Передает данные планировщику запросов об объеме памяти, которая используется
# ОС для кэширования файлов, для одного запроса. (Устанавливаем в половину оперативки)
effective_cache_size = 512MB
# Устанавливает глубину статистики по таблицам. БОльшие значения могут повысить
# время выполения команды ANALYZE, но улучшат построение плана запроса.
# Рекомендуется устанавливать порядка 100
default_statistics_target = 100
# Включает или отключает использование планером ограничений CONSTRAINT в таблицах
# при построении запросов. Рекомендуется установить значение on, при этом, если
# Вы изменяете CONSTRAINT у таблиц, необходимо обновить их статистику выполнив
# ANALYZE, в противном случае будут построены неверные планы запросов.
constraint_exclusion = on
# Ниже логи
log_destination = 'syslog'
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
# Включать ли автовакуум, устанавливать on
autovacuum = on
# Пауза между запусками Автовакуума. Зависит от того, как часто обновляются данные
# в ваших таблицах. Может соствлять порядка 5min, по умолчанию 1min
autovacuum_naptime = 5min
# Данный параметр нужен для корректной работы с базой 1С
escape_string_warning = off
# Формат даты
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'
# Время жизни взаимных блокировок. Установить порядка 2 секунд.
deadlock_timeout = 2s
# Количество блокировок за одну транзакцию: установить порядка 200-250
max_locks_per_transaction = 200
# Также необходимо добавить:
default_with_oids = on
stats_row_level = off
# end of file


