Различия
Показаны различия между двумя версиями страницы.
— | postgresql.conf [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== postgresql.conf ====== | ||
+ | ~~Title: PostgreSql postgresql.conf ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Соединения и аутентификация PostgreSql. Логирование PostgreSql (Error Reporting and Logging) | ||
+ | Настройка и использование Autovacuum Parameters. Тонкая настройка Tuning PostgreSQL) | ||
+ | }} | ||
+ | {{ :: | ||
+ | |||
+ | **Файл " | ||
+ | |||
+ | * **Вывести настройки сервера PostgreSQL: | ||
+ | SELECT pg_show_all_settings(); | ||
+ | SELECT name, source, setting, reset_val, context, category | ||
+ | FROM pg_show_all_settings() WHERE name = ' | ||
+ | SHOW ALL; | ||
+ | SHOW shared_buffers; | ||
+ | </ | ||
+ | SELECT | ||
+ | </ | ||
+ | ===== Соединения и аутентификация PostgreSql (Connections and Authentication) ===== | ||
+ | [[http:// | ||
+ | * listen_addresses = ' | ||
+ | * max_connections = 50 - число клиентов, | ||
+ | * superuser_reserved_connections = 3 Число соединений, | ||
+ | |||
+ | {{ :: | ||
+ | ===== Настройка потребление ресурсов PostgreSQL (Resource Consumption (Usage)) ===== | ||
+ | [[http:// | ||
+ | Resource Consumption(Usage) - за исключением WAL (write ahead log). | ||
+ | < | ||
+ | shared_buffers = 2GB # ~ 1/8 RAM and for Linux kernel.shmmax=4294967296 (1/4 of RAM) | ||
+ | work_mem = 128MB # ~ 1/20 RAM | ||
+ | maintenance_work_mem = 1GB # ~ 1/4 RAM | ||
+ | effective_cache_size = 4GB # ~ 2/3 RAM | ||
+ | max_prepared_transactions = 0 # zero disables the feature | ||
+ | </ | ||
+ | * **shared_buffers**. Объём совместно используемой памяти(разделяемой между процессами PostgreSQL памяти), | ||
+ | <note important> | ||
+ | * **work_mem**. Под каждый запрос можно выделить личный ограниченный объём памяти для работы. Этот объём может использоваться для сортировки, | ||
+ | * **effective_cache_size** Этот параметр сообщает PostgreSQL примерный объём файлового кэша операционной системы, | ||
+ | * **maintenance_work_mem**. Эта память используется для выполнения операций по сбору статистики (ANALYZE), сборке мусора (VACUUM), создания индексов (CREATE INDEX) и для добавления внешних ключей (FOREGIN KEY). Размер выделяемой под эти операции памяти должен быть сравним с физическим размером самого большого индекса на диске. Как и в случае work_mem эта переменная может быть установлена прямо во время выполнения запроса. | ||
+ | * **max_prepared_transactions**. Определяет максимальное число подготовленных транзакций (команда PREPARE TRANSACTION). Подготовленные транзакции выполняются, | ||
+ | ===== Логирование PostgreSql (Error Reporting and Logging) ===== | ||
+ | * [[http:// | ||
+ | < | ||
+ | logging_collector = on | ||
+ | log_directory = ' | ||
+ | log_filename = ' | ||
+ | log_truncate_on_rotation = on | ||
+ | log_rotation_age = 1d | ||
+ | log_rotation_size = 0 | ||
+ | log_line_prefix = '%t db=%d user=%u ' | ||
+ | # | ||
+ | log_statement = ' | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | * log_destination | ||
+ | * logging_collector = on - разрешить сбор статистики. Информация об активности базы данных собирается в специальных системных таблицах; | ||
+ | * log_directory - каталог для сохранения журналов; | ||
+ | * log_filename - шаблон имени файла журнала; | ||
+ | * log_rotation_age - максимальное время жизни файла журнала. По его достижению будет начат новый файл; | ||
+ | * log_rotation_size - размер файла, по достижению которого будет начата запись в новый файл, если значение 0 - опция не используется; | ||
+ | * log_statement - позволит выводить в лог все [[SQL]] запросы (по умолчанию отсутствует -none (off)), может принимать значения none (off), ddl, mod, и all (all statements). ddl будет выводить в лог CREATE, ALTER, DROP, automatic analyze значения. mod к выводу ddl будет добавлены INSERT, UPDATE, DELETE, TRUNCATE, COPY FROM, PREPARE, EXECUTE, [[EXPLAIN]] ANALYZE. | ||
+ | |||
+ | ===== Настройка и использование Autovacuum Parameters ===== | ||
+ | < | ||
+ | autovacuum = on | ||
+ | log_autovacuum_min_duration = 0 # -1 disables, 0 logs all actions and | ||
+ | autovacuum_max_workers = 3 | ||
+ | autovacuum_naptime = 10min | ||
+ | autovacuum_vacuum_threshold = 1800 | ||
+ | autovacuum_analyze_threshold = 900 | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | * autovacuum = on Если Вы лучше чем PostgreSQL знаете когда следует производить сборку мусора, | ||
+ | * log_autovacuum_min_duration = -1 Установка равная нулю регистрирует все действия autovacuum. Минус один (по умолчанию) запрещает вывод в лог. Например, | ||
+ | * autovacuum_naptime = 10min Время в секундах через которое база данных проверяется на необходимость в сборке мусора. По умолчанию это происходит раз в минуту. | ||
+ | * autovacuum_vacuum_threshold = 1800 Порог на число удалённых и изменённых записей в любой таблице по превышению которого происходит сборка мусора (VACUUM). | ||
+ | * autovacuum_analyze_threshold = 900 Порог на число вставленных, | ||
+ | * autovacuum_vacuum_scale_factor = 0.2 Процент изменённых и удалённых записей по отношению к таблице по превышению которого запускается сборка мусора. | ||
+ | * autovacuum_analyze_scale_factor = 0.1 То же, что и предыдущая переменная, | ||
+ | ====== Тонкая настройка Tuning PostgreSQL ====== | ||
+ | * **Выбор сервера для PostgreSQL** | ||
+ | Как и для всякой программы, | ||
+ | Избыток дисков так же позволит собрать из них [[RAID]]. Хоть никто и не отменяет бэкапа, | ||
+ | * Настройка ядра [[Linux]] и [[PostgreSQL]] | ||
+ | < | ||
+ | # echo " | ||
+ | |||
+ | # nano postgresql.conf | ||
+ | |||
+ | shared_buffers = 1GB | ||
+ | checkpoint_segments = 16 | ||
+ | effective_cache_size = 512MB | ||
+ | work_mem = 8MB | ||
+ | maintenance_work_mem = 256MB | ||
+ | </ | ||
+ | * [[http:// |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга