# Путь к конфигам:

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