tocdepth

2

Доступные параметры

В таблице перечислены параметры PostgreSQL®, которыми можно управлять с помощью интерфейса Managed PostgreSQL®.

Параметр

Тип

Описание

archive_timeout

integer

Устанавливает интервал архивации журнала предзаписи (WAL). Зависит от соотношения между размером дискового пространства и временем отставания резервного сервера.

array_nulls

boolean

Управляет распознаванием элементов NULL в массиве. Используется для совместимости с PostgreSQL® 7.4.

Если параметр включен, элементы NULL без кавычек распознаются как пустые поля, равные NULL. Если выключен — как строки с текстом «NULL».

auto_explain.log_analyze

boolean

Включает и отключает автоматический вывод статистики плана запроса в лог PostgreSQL® без использования команды EXPLAIN. Позволяет отслеживать неоптимизированные запросы. Параметр использует расширение auto_explain, для которого необходимо подключить библиотеку auto_explain.

auto_explain.log_buffers

boolean

Включает и отключает вывод статистики использования буферного кеша в лог PostgreSQL®. Применяется только при включенном параметре auto_explain.log_analyze. Равнозначен параметру BUFFERS команды EXPLAIN.

auto_explain.log_min_duration

integer

Устанавливает минимальное время выполнения запроса в миллисекундах, при котором включается логирование плана запроса в расширении auto_explain. По умолчанию установлено значение -1, при котором логирование планов выключено. При значении 0 логируются все планы запросов.

auto_explain.log_nested_statements

boolean

Включает и отключает логирование вложенных запросов внутри SQL-функций. Если параметр выключен, логируются только планы верхнеуровневых запросов. Применяется только при включенном параметре auto_explain.log_analyze.

auto_explain.log_timing

boolean

Включает и отключает логирование времени выполнения отдельных этапов плана запроса. Равнозначен параметру TIMING в команде EXPLAIN. Применяется только при включенном параметре auto_explain.log_analyze.

auto_explain.log_triggers

boolean

Включает и отключает вывод статистики выполнения триггеров. Применяется только при включенном параметре auto_explain.log_analyze.

auto_explain.log_verbose

boolean

Включает и отключает детализацию логов в расширении auto_explain. Равнозначен параметру VERBOSE в команде EXPLAIN.

auto_explain.sample_rate

real

Определяет долю запросов, которые должны логироваться в каждой сессии. По умолчанию установлено значение 1, при котором логируются все запросы.

autovacuum_analyze_scale_factor

floating point

Определяет процент от размера таблицы, который будет добавлен в autovacuum_vacuum_threshold при выборе порога запуска команды ANALYZE. По умолчанию установлено значение 0,1 — 10% от размера таблицы. Для больших таблиц (более 1 млн строк) рекомендуется устанавливать меньшее значение — 5% или даже 1%.

autovacuum_max_workers

integer

Определяет максимальное количество процессов автоочистки, запущенных одновременно. Позволяет ускорить автоочистку в базах данных с большим количеством таблиц. Значение по умолчанию — 3.

autovacuum_naptime

integer

Устанавливает минимальный интервал между запусками автоочистки. Если значение указано без единиц измерения, оно считается заданным в секундах.

autovacuum_vacuum_cost_delay

floating point

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

autovacuum_vacuum_cost_limit

integer

Устанавливает лимит стоимости, который будет использоваться при автоматических операциях VACUUM.

autovacuum_vacuum_insert_scale_factor

floating point

Устанавливает процент от размера таблицы, добавляемый к значению параметра autovacuum_vacuum_insert_threshold, при котором запустится команда VACUUM.

autovacuum_vacuum_insert_threshold

integer

Устанавливает количество кортежей, вставка которых в любую таблицу запустит команду VACUUM.

autovacuum_vacuum_scale_factor

floating point

Устанавливает процент от размера таблицы, добавляемый к значению параметра autovacuum_vacuum_threshold, при котором запустится команда VACUUM.

autovacuum_work_mem

integer

Устанавливает объем максимальный объем памяти, который будет выделен каждому процессу автоочистки. Если значение указано без единиц измерения, оно считается заданным в килобайтах.

backend_flush_after

integer

Определяет максимальный объем данных, записываемых служебным процессом в страничный кэш ядра операционной системы. Если этот объем превышается, СУБД отдает команду ОС записать данные на диск. Чем выше параметр, тем меньше вероятность замедления при записи данных на диск командой fsync, в том числе, после завершения контрольной точки.

backslash_quote

enum

Управляет представлением кавычки в SQL-строке в виде \'. Возможные значения:

  • backslash_quote — кавычка может быть представлена как \' (эквивалентно значению on);

  • on — кавычка может быть представлена как \';

  • off — кавычка задается только обычным для SQL способом \';

  • safe_encoding — представление кавычки как \' допускается только для клиентских кодировок, не использующих присутствия ASCII-код \' в многобайтных символах.

bgwriter_delay

integer

Устанавливает задержку в миллисекундах между запусками процесса фоновой записи. Процесс записывает новые или измененные элементы буферного кеша PostgreSQL® на диск. Задержка позволяет избежать многократной перезаписи страницы при каждом изменении и снизить нагрузку на диск.

bgwriter_flush_after

integer

Устанавливает объем обрабатываемых процессом фоновой записи данных в килобайтах, при превышении которого СУБД дает команду операционной системе сохранить эти данные на диск. Параметр ограничивает объем «грязных» данных в страничном кеше ядра ОС и уменьшает вероятность замедления при выполнении команды fsync в конце контрольной точки или когда ОС в фоне сбрасывает данные на диск.

bgwriter_lru_maxpages

integer

Устанавливает максимальное число элементов буферного кеша PostgreSQL®, которое возможно сохранить за цикл активности процесса фоновой записи. При нулевом значении фоновая запись отключается.

bgwriter_lru_multiplier

floating point

Определяет множитель, на который при следующем запуске возрастет среднее количество буферов, сохраняемых процессом фоновой записи.

bytea_outputL

enum

Устанавливает формат вывода двоичных строковых значений типа bytea:

  • hex — каждый байт задается двумя шестнадцатеричными символами, например 'SELECT '\xDEADBEEF';';

  • escape — традиционный формат PostgreSQL®, только символы ASCII.

checkpoint_completion_target

floating point

Управляет частью интервала контрольной точки, определяющей максимальную продолжительность снятия контрольной точки. Например, при значении 0.5 PostgreSQL® завершит процедуру контрольной точки примерно за половину времени до следующей контрольной точки.

checkpoint_flush_after

integer

Устанавливает размер области памяти в блоках по 8 килобайт, занятой страницами для записи в контрольной точке. Если страницы выходят за пределы области, они будут сброшены на диск и удалены из страничного кеша операционной системы.

checkpoint_timeout

integer

Устанавливает максимальный интервал между автоматическими контрольными точками WAL. Если значение указано без единиц измерения, оно считается заданным в секундах.

client_connection_check_interval

integer

Устанавливает интервал между проверками клиентских соединений при выполнении запросов. Проверка выполняется путем опроса сокета сервера для подключения и позволяет быстрее прерывать длительные запросы, если обнаруживается, что соединение закрыто. Функциональность поддерживается PostgreSQL® 14 и выше.

Если значение указано без единиц измерения, оно считается заданным в миллисекундах.

client_min_messages

enum

Определяет, какие уровни сообщений логирования отправлять клиентским приложениям. Возможные значения: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, WARNING, ERROR.

constraint_exclusion

enum

Управляет возможностью планировщика использовать ограничения таблиц для оптимизации запросов. Возможные значения:

  • on — использовать ограничения для всех таблиц;

  • off — не использовать ограничения;

  • partition — использовать ограничения только для дочерних таблиц и подзапросов UNION ALL.

cursor_tuple_fraction

floating point

Устанавливает для планировщика оценку доли строк, которые будут получены через курсор.

deadlock_timeout

integer

Устанавливает время ожидания в миллисекундах перед проверкой состояния перекрестной блокировки.

default_statistics_target

integer

Устанавливает максимальное количество записей статистики по каждому столбцу таблиц базы данных. Планировщик использует статистику для оценки числа возвращаемых запросом строк, чтобы выбрать наиболее подходящий план запроса. Чем выше значение параметра, тем выше точность оценки планировщика.

default_transaction_isolation

enum

Устанавливает уровень изоляции по умолчанию для новых транзакций SQL.

Допустимые значения:

  • read committed — запрос SELECT видит только те данные, которые были зафиксированы до начала выполнения запроса.

  • read uncommitted — поведение этого уровня изоляции в PostgreSQL® аналогично read committed.

  • repeatable read — все запросы в текущей транзакции видят только те данные, которые были зафиксированы перед началом выполнения транзакции.

  • serializable — самый строгий уровень изоляции транзакций из всех. Поведение этого уровня изоляции в PostgreSQL® аналогично repeatable read. Однако, если наложение операций чтения и записи параллельных сериализуемых транзакций несовместимо с их последовательным выполнением, произойдет откат одной из транзакций с ошибкой «Cбой сериализации».

default_transaction_read_only

boolean

Устанавливает режим «только чтение» для каждой новой транзакции для любых таблиц, кроме временных.

default_with_oids

boolean

Добавляет столбец OID с уникальным идентификатором строки. Параметр действует, если таблица создается:

  • либо без указания WITH OIDS и WITHOUT OIDS;

  • либо с помощью команды SELECT INTO.

Так как использование OID в пользовательских таблицах считается устаревшей практикой, рекомендуется использовать параметр только для совместимости со старыми приложениями.

effective_cache_size

integer

Устанавливает оценку эффективного размера дискового кеша, доступного для одного запроса. Чем выше значение, тем вероятнее планировщик применит сканирование по индексу. Более низкие значения повышают вероятность применения последовательного сканирования.

effective_io_concurrency

integer

Устанавливает максимальное число параллельных операций дискового ввода-вывода в отдельной сессии работы с базой данных. Чем больше это число, тем больше операций PostgreSQL® будет пытаться выполнить параллельно в отдельной сессии.

enable_async_append

boolean

Разрешает планировщику учитывать асинхронное выполнение плана запроса на разных узлах при добавлении данных из внешних источников. Функциональность поддерживается PostgreSQL® с версии 14.

enable_bitmapscan

boolean

Разрешает планировщику сканировать битовую карту индекса при просмотре таблиц.

enable_gathermerge

boolean

Разрешает планировщику использовать узел Gather Merge для слияния с сохранением порядка результатов выполнения запросов в параллельном плане запроса.

enable_hashagg

boolean

Разрешает планировщику строить хеш-таблицу из набора результатов.

enable_hashjoin

boolean

Разрешает планировщику строить объединения JOIN таблиц по хеш-значениям строк.

enable_incremental_sort

boolean

Разрешает планировщику использование инкрементной сортировки.

enable_indexonlyscan

boolean

Разрешает планировщику использовать сканирование индекса таблиц без обращения к данным.

enable_indexscan

boolean

Разрешает планировщику использовать сканирование индекса таблиц, даже если это явно не указано в запросе.

enable_material

boolean

Разрешает планировщику использовать запросы материализации.

enable_mergejoin

boolean

Разрешает планировщику использовать слияние операций JOIN при объединении таблиц.

enable_nestloop

boolean

Разрешает планировщику использовать объединения JOIN с вложенными циклами. При выключенном параметре планировщик будет использовать другие методы.

enable_parallel_append

boolean

Разрешает планировщику использовать распараллеливание при добавлении данных.

enable_parallel_hash

boolean

Разрешает планировщику строить объединения по хешу строк с распараллеливанием хеширования. Действует при включенном параметре enable_hashjoin.

enable_partition_pruning

boolean

Разрешает планировщику удалять ненужные партиции из планов запроса к партиционированным таблицам.

enable_partitionwise_aggregate

boolean

Разрешает планировщику группировать или агрегировать данные с учетом партиций, чтобы запросы выполнялись для каждой партиции отдельно.

enable_partitionwise_join

boolean

Разрешает планировщику использовать партиционирование таблиц при планировании запросов. Параметр позволяет выполнять запросы объединения партиционированных таблиц через объединение соответствующих партиций.

enable_seqscan

boolean

Разрешает планировщику использовать планы последовательного сканирования таблиц.

enable_sort

boolean

Разрешает планировщику использовать шаги с явной сортировкой.

enable_tidscan

boolean

Разрешает планировщику использовать планы сканирования TID (tuple identifier) для ускорения выполнения запросов.

escape_string_warning

boolean

Включает предупреждение о наличии в запросе символа \ в обычной строковой константе (с синтаксисом '...'). Работает только при отключенном параметре standard_conforming_strings.

exit_on_error

boolean

Включает прерывание сессии в случае любой ошибки в запросе.

force_parallel_mode

enum

Позволяет распараллеливать запрос для тестирования:

  • off — использовать параллельный режим, только когда ожидается увеличение производительности.

  • on — принудительно распараллеливать все запросы, для которых это безопасно.

  • regress — эквивалентен on, но стандартный вывод такой же, как при выполнении в режиме off.

from_collapse_limit

integer

Пока количество элементов в списке FROM не превышает значение настройки, планировщик будет объединять вложенные запросы с внешним запросом. При уменьшении значения сокращается время планирования, но план запроса может стать менее эффективным.

geqo

boolean

Включает генетическую оптимизацию запросов (GEQO).

geqo_effort

integer

Задает соотношение между временем на планирование запроса и качеством плана запроса в алгоритме GEQO. Чем выше значение, тем дольше происходит планирование запроса, но в то же время повышается вероятность того, что будет выбран эффективный план запроса. Не влияет на работу алгоритма напрямую, а используется для расчета значений по умолчанию для других настроек.

geqo_generations

integer

Задает количество итераций алгоритма GEQO. Полезные значения находятся в диапазоне от 100 до 1000. Если значение настройки равно 0 (по умолчанию), то количество итераций алгоритма выбирается на основании настройки geqo_pool_size.

geqo_pool_size

integer

Задает количество особей в генетической популяции в алгоритме GEQO. Не может равняться 1. Полезные значения находятся в диапазоне от 100 до 1000. Если значение равно 0 (по умолчанию), то количество особей выбирается в зависимости от настройки Geqo effort и количества таблиц в запросе.

geqo_seed

floating point

Задает начальное значение для генератора случайных чисел, используемого алгоритмом GEQO при выборе путей в пространстве поиска порядка соединений. Изменение параметра изменяет набор исследуемых путей соединений и может как улучшить, так и ухудшить эффективность найденного пути.

geqo_selection_bias

floating point

Задает избирательное давление отбора внутри популяции, используемое в алгоритме GEQO.

geqo_threshold

integer

Алгоритм GEQO будет использоваться для планирования только таких запросов, в которых количество таблиц в предложении FROM больше или равно значению данного параметра. Для выполнения небольших запросов обычно лучше использовать стандартный планировщик, работающий методом полного перебора. Но для запросов с большим количеством таблиц метод полного перебора может занять больше времени, чем использование не самого оптимального плана.

gin_pending_list_limit

integer

Максимальный размер (в килобайтах) очереди записей индекса GIN. Очередь используется, когда включен режим fastupdate. Если размер очереди превышает заданный предел, записи из нее массово переносятся в основную структуру данных индекса GIN, а очередь очищается.

hash_mem_multiplier

floating point

Определяет максимальный объем памяти, доступный для операций с хеш-таблицами. Объем вычисляется умножением значения параметра на значение work_mem.

idle_in_transaction_session_timeout

integer

Время простоя открытой транзакции (в миллисекундах), при превышении которого будет завершена сессия с этой транзакцией.

jit

boolean

Включает JIT-компиляцию запросов (just-in-time compilation) для PostgreSQL®. Если настройка включена, то SQL-запросы компилируются в машинный код прямо во время выполнения. Это ускорит выполнение сложных запросов, которые требовательны к ресурсам CPU.

join_collapse_limit

integer

Пока количество элементов в списке FROM не превышает значение параметра, планировщик будет переносить в список явные инструкции JOIN (за исключением FULL JOIN). При уменьшении значения сокращается время планирования, но план запроса может стать менее эффективным.

lo_compat_privileges

boolean

Отключает проверку прав доступа для больших объектов. До версии 9.0 права доступа не действовали на большие объекты, и они были доступны для чтения и записи всем пользователям. Включите настройку, если требуется совместимость с версиями PostgreSQL® ниже 9.0.

lock_timeout

integer

Определяет, сколько ждать освобождения блокировки (в миллисекундах). Заблокированными могут быть: таблица, индекс, строка или другие объекты базы данных. Если время ожидания для какой-либо операции истекло, то она прерывается.

log_checkpoints

boolean

Включает логирование выполнения контрольных точек и точек перезапуска сервера.

log_connections

boolean

Включает логирование всех попыток подключения к серверу PostgreSQL®, в том числе тех, для которых была успешно завершена аутентификация клиентов.

log_disconnections

boolean

Включает логирование завершения сессий.

log_duration

boolean

Включает логирование длительности каждой завершенной команды.

log_error_verbosity

enum

Задает уровень детализации информации в логе PostgreSQL® для каждого сообщения. Уровни детализации лога в порядке увеличения информативности:

  • terse — из сообщения об ошибке исключаются поля DETAIL, HINT, QUERY и CONTEXT.

  • default — по умолчанию.

  • verbose — в сообщение об ошибке включается код ошибки SQLSTATE, а также имя файла с исходным кодом, имя функции и номер строки, сгенерировавшей ошибку.

log_lock_waits

boolean

Управляет логированием продолжительных ожиданий блокировки. При включенном параметре в логе делается запись, когда в сессии PostgreSQL® время ожидания получения блокировки превышает значение параметра deadlock_timeout.

log_min_duration_sample

integer

Параметр работает так же, как log_min_duration_statement, но применяется только к командам, указанным в параметре log_statement_sample_rate. При значении 0 логируется время работы всех указанных команд.

log_min_duration_statement

integer

Задает минимальное время работы команды (в миллисекундах), при котором команда будет записана в лог. При значении 0 логируется время работы всех команд.

log_min_error_statement

enum

Определяет уровень логирования ошибок выполнения команд SQL. Сообщение о выполнении команды будет записано в лог, если он завершится ошибкой с указанным уровнем важности или выше. Возможные значения: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL и PANIC. По умолчанию используется ERROR. Это означает, что в лог PostgreSQL® будут записаны все команды, завершившиеся сообщением с уровнем важности ERROR, LOG, FATAL и PANIC. Чтобы отключить запись большинства команд с ошибками, выберите значение PANIC.

log_min_messages

enum

Определяет уровень логирования PostgreSQL®. Записываются все сообщения выбранного уровня важности и выше. Возможные значения (по возрастанию важности): DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL и PANIC. По умолчанию используется WARNING. Это означает, что в лог PostgreSQL® будут записаны все сообщения с уровнем важности WARNING, ERROR, LOG, FATAL и PANIC. Чтобы отключить запись большинства сообщений, выберите значение PANIC.

log_parameter_max_length

integer

Сокращает до указанного количества байтов значение каждого привязанного SQL-параметра, которые выводятся вместе с SQL-операторами при логировании всех сообщений, кроме сообщений об ошибках.

log_parameter_max_length_on_error

integer

Сокращает до указанного количества байтов значение каждого привязанного SQL-параметра, которые выводятся вместе с SQL-операторами при логировании сообщений об ошибках.

log_recovery_conflict_waits

boolean

Управляет логированием длительных ожиданий конфликтов восстановления при чтении WAL для продолжения репликации. При включенном параметре в логе создается запись, когда в сессии PostgreSQL® время ожидания разрешения конфликтов восстановления превышает значение настройки deadlock_timeout. Функциональность поддерживается PostgreSQL® с версии 14.

log_statement

enum

Фильтр команд SQL, которые должны записываться в лог PostgreSQL:

  • none — фильтр отключен, команды SQL не записываются в лог.

  • ddl — в лог записываются команды SQL, которые позволяют изменять определения структур данных (CREATE, ALTER, DROP и т. п.).

  • mod — в лог записываются команды SQL, попадающие под фильтр ddl, и команды, позволяющие изменять данные (INSERT, UPDATE и т. п.).

  • all — в лог записываются все команды SQL.

log_statement_sample_rate

floating point

Доля команд SQL, которые будут записываться в лог дополнительно, помимо команд, записываемых по другим причинам.

log_temp_files

integer

Задает минимальный размер временного файла (в килобайтах), при удалении которого информация о нем будет записана в лог PostgreSQL®.

log_transaction_sample_rate

floating point

Доля транзакций, команды из которых будут записываться в лог дополнительно, помимо команд, записываемых по другим причинам.

logical_decoding_work_mem

integer

Определяет максимальный объем памяти (в килобайтах), выделяемый для логического декодирования перед записью на локальный диск. Параметр ограничивает объем памяти, используемый в соединении для логической репликации.

maintenance_io_concurrency

integer

Определяет максимальное число параллельных операций дискового ввода-вывода при обслуживании PostgreSQL® командами VACUUM, CREATE INDEX и ALTER TABLE ADD FOREIGN KEY, в отдельной сессии работы с базой данных. Чем больше это число, тем больше команд обслуживания PostgreSQL® будет пытаться выполнить параллельно в отдельной сессии.

maintenance_work_mem

integer

Определяет максимальный объем памяти (в килобайтах) для операций обслуживания PostgreSQL®, таких как VACUUM, CREATE INDEX и ALTER TABLE ADD FOREIGN KEY.

max_connections

integer

Определяет максимальное число одновременных подключений к узлу PostgreSQL®.

max_locks_per_transaction

integer

Устанавливает среднее количество объектов, которые могут быть заблокированы одной транзакцией. Отдельные транзакции могут блокировать больше объектов, если общее количество объектов, заблокированных всеми транзакциями, помещается в таблицу блокировок.

max_logical_replication_workers

integer

Определяет максимальное число работающих процессов логической репликации PostgreSQL®.

max_parallel_maintenance_workers

integer

Максимальное число параллельно работающих процессов PostgreSQL®, инициированных одной служебной командой, например, CREATE INDEX.

max_parallel_workers

integer

Устанавливает максимальное число параллельно работающих процессов PostgreSQL®.

max_parallel_workers_per_gather

integer

Устанавливает максимальное число параллельно работающих процессов, которые могут запускаться одним узлом Gather.

max_pred_locks_per_transaction

integer

Определяет среднее количество объектов, которые могут быть заблокированы предикатными блокировками за одну транзакцию. Отдельные транзакции могут блокировать больше объектов, чем указано в настройке, если общее количество объектов, заблокированных всеми транзакциями, помещается в таблицу блокировок.

max_prepared_transactions

integer

Устанавливает максимальное число транзакций, которые могут одновременно находиться в подготовленном состоянии.

max_replication_slots

integer

Определяет максимальное число слотов репликации. Слоты репликации автоматически обеспечивают механизм сохранения файлов журнала предзаписи WAL (Write-Ahead Log), пока они не будут получены всеми репликами.

max_slot_wal_keep_size

integer

Определяет максимальный размер (в мегабайтах) файлов журнала предзаписи WAL (Write-Ahead Log), который хранится на мастер-узле при репликации.

max_standby_streaming_delay

integer

Устанавливает время ожидания (в миллисекундах), по истечении которого реплика в режиме горячего резерва начнет отменять запросы, конфликтующие с очередными изменениями в WAL.

max_wal_senders

integer

Определяет максимальное число параллельных соединений от узлов-источников потока репликации.

max_wal_size

integer

Определяет максимальный размер (в мегабайтах) файла WAL, при достижении которого запускается снятие автоматических контрольных точек.

max_worker_processes

integer

Определяет максимальное число фоновых процессов PostgreSQL®, которое можно запустить в текущей системе.

min_wal_size

integer

Устанавливает объем дискового пространства (в мегабайтах), занимаемый WAL, при превышении которого старые файлы WAL в контрольных точках удаляются.

old_snapshot_threshold

integer

Определяет минимальное время (в минутах), в течение которого можно пользоваться снимком состояния для выполнения запроса без риска получить ошибку.

operator_precedence_warning

boolean

Разрешает анализатору запроса выдавать предупреждение для всех конструкций, которые поменяли поведение после версии 9.4 в результате изменения приоритетов команд. Функциональность не поддерживается PostgreSQL® с версии 14.

parallel_leader_participation

boolean

Разрешает ведущему процессу выполнять план запроса ниже узлов Gather и Gather Merge, не ожидая рабочие процессы.

pg_hint_plan.debug_print

enum

Параметр вывода и детализации отладочной информации расширением pg_hint_plan. Действует при включенной настройке pg_hint_plan_enable_hint.

pg_hint_plan.enable_hint

boolean

Включает использование расширения pg_hint_plan для корректировки автоматических планов выполнения запросов, применяя так называемые указания в виде простых описаний в особых SQL-комментариях.

pg_hint_plan.enable_hint_table

boolean

Включает использование таблицы hint_plan.hints. Она содержит указания для расширения pg_hint_plan и применяется, если нет возможности редактировать запросы. Таблица содержит столбцы:

  • id — уникальный номер строки с указанием. Этот столбец заполняется автоматически.

  • norm_query_string — шаблон для выбора запросов, к которым будет относиться указание. Вместо констант используйте символ ?. Пробельные символы в шаблоне являются значимыми.

  • application_name — приложение-инициатор сессий, в которых будет действовать указание.

  • hint — указания без обрамляющей разметки комментариев.

pg_hint_plan.message_level

enum

Уровень отладочных сообщений модуля pg_hint_plan, которые будут попадать в лог PostgreSQL®. Действует при включенной настройке pg_hint_plan_enable_hint.

pg_qualstats.enabled

boolean

Включает использование расширения pg_qualstats для сбора статистики по предикатам в операторах WHERE и блоках JOIN. Применяется для анализа наиболее часто вычисляемых предикатов запросов.

pg_qualstats.max

integer

Максимальное число отслеживаемых предикатов для модуля pg_qualstats. Действует при включенной настройке pg_qualstats_enabled.

pg_qualstats.resolve_oids

boolean

Включает восстановление имен таблиц по идентификатору OID в процессе сбора статистики запроса для модуля pg_qualstats. Параметр облегчает анализ данных, но требует больше дискового пространства для хранения статистики. Действует при включенной настройке pg_qualstats_enabled.

pg_qualstats.sample_rate

double

Определяет долю запросов (число от 0 до 1), для которых выполняется сбор статистики расширением pg_qualstats. Действует при включенной настройке pg_qualstats_enabled. Особые значения параметра:

  • 0 — отключает настройку;

  • 1 — анализируются все запросы;

  • -1 — автоматический режим, доля запросов обратна к значению параметра max_connections.

pg_qualstats.track_constants

boolean

Включает отслеживание уже встреченных предикатов в последующих запросах при сборе статистики модулем pg_qualstats. Действует при включенной настройке pg_qualstats_enabled.

plan_cache_mode

enum

Определяет, какой тип плана запроса (общий или специализированный) будет использован при выполнении подготовленных команд. Допустимые значения:

  • auto — автоматический выбор;

  • force_custom_plan — принудительно использовать специализированные планы;

  • force_generic_plan — принудительно использовать общие планы.

plantuner.fix_empty_table

boolean

Разрешает расширению plantuner скрывать от планировщика отдельные индексы, чтобы они не использовались в планах запросов.

quote_all_identifiers

boolean

Включает принудительное обрамление кавычками всех идентификаторов при формировании SQL-запросов из базы данных, например, при выполнении операции EXPLAIN.

random_page_cost

floating point

Задает планировщику примерную стоимость чтения одной произвольной страницы с диска. Если значение этого параметра меньше, чем у seq_page_cost, планировщик отдаст предпочтение сканированию по индексу.

row_security

boolean

Управляет обработкой запросов, к которым применима как минимум одна политика защиты строк. При выключении параметра такие запросы будут выдавать ошибку.

search_path

string

Список имен схем базы данных через запятую. При обращении к объектам, размещенным в перечисленных схемах, можно не указывать имя схемы.

seq_page_cost

floating point

Задает планировщику примерную стоимость чтения одной страницы с диска при выполнении серии последовательных чтений.

shared_buffers

integer

Устанавливает объем памяти (в блоках по 8 килобайт), который PostgreSQL® может использовать для буферов в разделяемой памяти (shared memory).

standard_conforming_strings

boolean

Включает прочтение символа \ в обычных строковых константах '...' не как спецсимвола, а как обычного символа согласно стандарту SQL.

statement_timeout

integer

Определяет максимальную длительность (в миллисекундах) выполнения команды, при превышении которой команда прерывается.

synchronize_seqscans

boolean

Включает синхронизацию обращений при последовательном сканировании больших таблиц, чтобы эти операции читали один блок примерно в одно и то же время. При выключении последовательное сканирование всегда будет начинаться с начала таблицы, как это было принято до версии 8.3.

synchronous_commit

enum

Определяет, после какого этапа обработки WAL сервер посчитает транзакцию завершенной.

temp_buffers

integer

Определяет максимальный объем памяти (в блоках по 8 килобайт), выделяемой для временных буферов в каждой сессии.

temp_file_limit

integer

Определяет максимальный объем дискового пространства (в килобайтах), который один процесс сможет использовать для временных файлов. Транзакция, которая попытается превысить этот предел, будет отменена. Большие запросы выполняются не в оперативной памяти, а на диске. Слишком большие запросы нагружают диск и мешают выполнению других запросов. Параметр предотвращает выполнение запросов, которые снижают производительность, ограничивая размер временных файлов.

timezone

string

Устанавливает часовой пояс для вывода и ввода значений времени.

track_activity_query_size

integer

Определяет объем памяти (в байтах), резервируемой в каждой активной сессии для хранения текста выполняемой в данной момент команды.

transform_null_equals

boolean

Включает интерпретацию условия выражение = NULL как выражение IS NULL. Условие истинно, если выражение имеет значение NULL, и ложно в противном случае. Согласно стандарту SQL, сравнение выражение = NULL всегда возвращает NULL (неизвестное значение).

vacuum_cleanup_index_scale_factor

floating point

Определяет долю кортежей в индексе, попавших в предыдущий срез статистики. При выполнении операции VACUUM статистика индекса считается устаревшей, если отношение числа кортежей, добавляемых в индекс, к текущему числу кортежей в индексе превышает указанную долю. В этом случае будет выполнено новое сканирование индекса. Функциональность не поддерживается PostgreSQL® с версии 14.

vacuum_cost_delay

floating point

Определяет время (в миллисекундах), в течение которого будет простаивать процесс выполнения команд VACUUM и ANALYZE, превысивший предел стоимости (см. параметр vacuum_cost_limit).

vacuum_cost_limit

integer

Устанавливает предел стоимости, при накоплении которой процесс очистки VACUUM будет приостанавливаться (переходить в спящий режим)

vacuum_cost_page_dirty

integer

Устанавливает условную стоимость такой операции очистки VACUUM, при которой изменяется блок, не модифицированный ранее.

vacuum_cost_page_hit

integer

Устанавливает условную стоимость очистки буфера, оказавшегося в общем кеше.

vacuum_cost_page_miss

integer

Устанавливает условную стоимость очистки буфера, который нужно прочитать с диска.

vacuum_failsafe_age

integer

Определяет максимальный возраст «замороженной» (уже завершенной) транзакции, который измеряется в количестве транзакций, запущенных после нее. При достижении этого показателя запускается процесс очистки VACUUM, чтобы избежать переполнения счетчика транзакций. Функциональность поддерживается PostgreSQL® с версии 14.

vacuum_multixact_failsafe_age

integer

Определяет максимальный возраст «замороженной» (уже завершенной) мультитранзакции, который измеряется в количестве мультитранзакций, запущенных после нее. При достижении этого показателя запускается процесс очистки VACUUM, чтобы избежать переполнения счетчика мультитранзакций. Функциональность поддерживается PostgreSQL® с версии 14.

wal_keep_size

integer

Определяет минимальный размер устаревших сегментов лога (в мегабайтах), сохраняемых в папке WAL, чтобы реплики могли их загрузить при необходимости.

work_mem

integer

Устанавливает базовый объем памяти (в килобайтах), который будет использоваться во внутренних операциях при обработке запросов (например, для сортировки или хеш-таблиц), прежде чем будут задействованы временные файлы на диске.

xmlbinary

enum

Определяет способ кодирования двоичных данных в XML.

xmloption

enum

Устанавливает тип преобразования XML-данных в символьные по умолчанию. Допустимые значения:

  • document — XML-документ;

  • content — фрагмент XML-документа.

pool_mode

enum

Режим, в котором работает менеджер подключений PgBouncer. Допустимые значения:

  • session — соединение с сервером назначается клиенту при подключении и сохраняется за ним. Соединение возвращается в пул в момент отключения клиента.

  • transaction — соединение с сервером назначается клиенту только на время выполнения транзакции. Соединение возвращается в пул в момент завершения транзакции.

  • statement — соединение с сервером возвращается в пул сразу после выполнения запроса. В этом режиме запрещены многооператорные транзакции.

pgaudit.log

enum

Определяет, какие запросы пользователя попадут в лог для аудита. Параметр функционирует, только если:

  • к кластеру подключена библиотека pgaudit;

  • к базе данных подключено расширение pgaudit.

Допустимые значения:

  • read — в лог попадут запросы SELECT и COPY, когда источником данных выступает отношение или запрос.

  • write — в лог попадут запросы INSERT, UPDATE, DELETE, TRUNCATE и COPY, когда приемником данных выступает отношение.

  • function — в лог попадут вызовы функций и блоки DO.

  • role — в лог попадут выражения, связанные с управлением ролями и привилегиями: GRANT, REVOKE, CREATE/ALTER/DROP ROLE.

  • ddl — в лог попадут все DDL, которые не входят в класс ROLE.

  • misc — в лог попадут вспомогательные команды: DISCARD, FETCH, CHECKPOINT, VACUUM, SET.

  • misc_set — в лог попадут вспомогательные команды SET, например, SET ROLE.

Можно выбрать несколько значений.

wal_sender_timeout

integer

Устанавливает время (в миллисекундах), по истечении которого прерываются неактивные соединения репликации.

Запустили Evolution free tier
для Dev & Test
Получить