Конфигурационные параметры
Параметры парольных политик
В данном разделе более подробно описаны параметры механизма парольных политик.
Параметр | Описание | Тип | POSIX шаблон | Значение по умолчанию | Аналог в pg_pp_policy |
---|---|---|---|---|---|
password_policy.policy_enable | Включение/выключение парольной политики | boolean | on /off | on | policyenable |
password_policy.deny_default | Включение/выключение использования настроек из postgresql.conf | boolean | on /off | off | - |
password_policy.psql_encrypt_password | Засекречивание пароля при передаче от клиента к БД | boolean | on /off | - | - |
password_policy.deduplicate_ssl_no_ssl_fail_auth_attempts | Включение механизма исключения повторных попыток подключения psql | boolean | on /off | on | - |
password_policy.allow_hashed_password | Разрешить задание пароля в виде хеша | boolean | on /off | off | - |
Настройка хранения паролей
Параметр | Описание | Тип | POSIX шаблон | Ограничение значения | Значение по умолчанию | Специальные значения параметров | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|---|
password_policy.reuse_time | Время в секундах, в течение которого старый пароль сохраняется, и попытка сменить пароль на совпадающий со старым заканчивается ошибкой | string | \d+ s | неотрицательное | 365 days | - | reusetime |
password_policy.in_history | Максимальное количество сохраненных старых паролей | integer | [0-1000] | 0-1000 | 4 | 0 – Проверка на совпадение пароля с ранее использованным не проводится (при условии reuse_time = 0 ) | inhistory |
Если задан параметр password_policy.reuse_time
, то параметр password_policy.in_history
не используется.
Время жизни пароля
Параметр | Описание | Тип | POSIX шаблон | Ограничение значения | Значение по умолчанию | Специальные значения параметров | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|---|
password_policy.max_age | Время жизни пароля в секундах | string | \d+ s | неотрицательное | 0 | 0 – Проверка максимального времени жизни пароля не производится | maxage |
password_policy.min_age | Минимальное время между изменениями пароля | string | \d+ s | неотрицательное | 0 | 0 – Проверка максимального времени жизни пароля не производится | minage |
password_policy.grace_login_limit | Максимальное количество аутентификаций после истечения срока действия пароля | integer | [0-1000] | 0-1000 | 0 | - | graceloginlimit |
password_policy.grace_login_time_limit | Время, в течение которого пароль остается рабочим после окончания срока его действия | string | \d+ s | неотрицательное | 3 days | 0 – аутентификация не доступна по истечении времени жизни пароля | gracelogintimelimit |
password_policy.expire_warning | Время до истечения пароля, при котором выводится предупреждение | string | \d+ s | неотрицательное | 7 days | 0 – не выводит предупреждение | expirewarning |
Поведение при неудачной аутентификации
Параметр | Описание | Тип | POSIX шаблон | Ограничение значения | Значение по умолчанию | Специальные значения параметров | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|---|
password_policy.lockout | Блокировка аккаунта при достижении максимума неверных попыток аутентификации | boolean | on /off | on /off | on | - | lockout |
password_policy.max_failure | Максимальное количество неверных попыток аутентификации | integer | [1-1000] | 1-1000 | 6 | - | maxfailure |
password_policy.failure_count_interval | Время, после которого количество неверных попыток сбрасывается | string | \d+ s | >= 0 | 0 | 0 – счетчик не обнуляется | failurecountinterval |
password_policy.lockout_duration | Время блокировки аккаунта | string | \d+ s | неотрицательное | 24 hours | 0 – блокировка пользователя по количеству неудачных аутентификаций бессрочна | lockoutduration |
Синтаксические проверки пароля
Параметр | Описание | Тип | Ограничение значения | Значение по умолчанию | Специальные значения параметров | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|
password_policy.check_syntax | Включение синтаксической проверки пароля | boolean | on /off | on | – | checksyntax |
password_policy.alpha_numeric | Минимальное количество цифр в пароле | integer | 0-1000 | 3 | 0 – не проверять | alphanumeric |
password_policy.min_length | Минимальная длина пароля | integer | 0-1000 | 16 | 0 – не проверять | minlength |
password_policy.min_alpha_chars | Минимальное количество букв в пароле | integer | 0-1000 | 0 | 0 – не проверять | minalphachars |
password_policy.min_special_chars | Минимальное количество специальных символов | integer | 0-1000 | 0 | 0 – не проверять | minspecialchars |
password_policy.min_uppercase | Минимальное количество прописных букв | integer | 0-1000 | 1 | 0 – не проверять | minuppercase |
password_policy.min_lowercase | Минимальное количество строчных букв | integer | 0-1000 | 0 | 0 – не проверять | minlowercase |
password_policy.max_rpt_chars | Максимальное количество повторяющихся символов | integer | 0-1000 | 0 | 0 – не проверять | maxrptchars |
Проверка максимального времени неактивности пользователя
Параметр | Описание | Тип | Ограничение значения | Значение по умолчанию | Специальные значения параметров | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|
password_policy.track_login | Запоминать ли время последней аутентификации | boolean | on /off | off | – | tracklogin |
password_policy.max_inactivity | Время последней аутентификации, после которого аккаунт блокируется | string | неотрицательное | 0 | 0 – функциональность отключена | maxinactivity |
Использование библиотеки zxcvbn
Параметр | Описание | Тип | POSIX шаблон | Ограничение значения | Значение по умолчанию | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|
password_policy.use_password_strength_estimator | Включение использования библиотеки zxcvbn для оценки сложности пароля | boolean | on /off | on /off | on | usepasswordstrengthestimator |
password_policy.password_strength_estimator_score | Минимальная оценка сложности пароля | integer | [0-4] | 0-4 | 3 | passwordstrengthestimatorscore |
Использование пользовательской функции проверки пароля
Параметр | Описание | Тип | POSIX шаблон | Значение по умолчанию | Аналог в pg_pp_policy |
---|---|---|---|---|---|
password_policy.custom_function | Пользовательская функция проверки пароля | string | [\w\d]+ | - | customfunction |
Проверка вхождения пароля в черный список
Параметр | Описание | Тип | Ограничение значения | Значение по умолчанию | Аналог в pg_pp_policy |
---|---|---|---|---|---|
password_policy.illegal_values | Проверка, что пароль не входит в список часто используемых | boolean | on /off | on | illegalvalues |
Настройка кеширования
Параметр | Описание | Тип | POSIX шаблон | Ограничение значения | Значение по умолчанию | Аналог в pg_pp_policy |
---|---|---|---|---|---|---|
password_policy.pp_cache_dump_interval | Интервал сохранения данных кеша на диск | integer | \d+ | 1 - до максимального значения int в системе | 10 | - |
password_policy.pp_cache_init_size | Размер инициализированного кеша парольных политик | integer | \d+ | 1 - до максимального значения int в системе | 10 | - |
password_policy.pp_cache_soft_max_size | Предполагаемый максимальный размер кеша | integer | \d+ | 1 - до максимального значения int в системе | 60 | - |
password_policy.pp_cache_max_size | Ограничение сверху на размер кеша | integer | \d+ | 1 - до максимального значения int в системе | 1000 | - |
Параметры управления транспортными паролями
Параметр | Описание | Тип | Значение по умолчанию | Аналог в pg_pp_policy |
---|---|---|---|---|
password_policy.transport_password_mark_automatic | При значении true пароль становится транспортным автоматически при смене другим пользователем. При значении false пароль отмечается транспортным вручную | boolean | false | - |
transport_password_life_time | Определяет время жизни транспортного пароля | string | 0 | transportpasswordlifetime |
password_policy.is_temp_tuz_password | Определяет тип пароля (транспортный или нет) для указанных ТУЗ | boolean | true | - |
Параметры аудита
Основной параметр (pgaudit.log)
Настраиваемый параметр конфигурации pgaudit.log
указывает, какие классы операторов, событий, функций и команд будут регистрироваться при ведении журнала аудита сессии. Возможные значения:
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
;CONNECTION
: события, связанные с подключением к серверу. Существуют 4 типа таких событий:OPEN
,CLOSED
,FAILED
,CHANGE USER
. СобытиеFAILED
регистрируется в случае неудачной попытки аутентификации по паролю и независимо от значенияpgaudit.log
;PROTECTION
: функции настройки механизма защиты от привилегированных пользователей;RECOVERY
: события восстановления базы данных;INTEGRITY
: события нарушения целостности объектов контроля;ACTION
: события запуска/остановки базы данных с причиной остановки;PARAMETER
: события изменения конфигурации системы управления базами данных;ALL
: включить все вышеперечисленное.
Значение по умолчанию - ddl, role, connection, misc_set, protection
.
Для применения измененного значения данного параметра необходимо перечитать конфигурацию. Для добавления новых классов событий необходимо включить параметр pgaudit.legal
.
Можно включить несколько классов, перечислив их через запятую, или исключить определенные классы, поставив перед ними знак -
. С примером можно ознакомиться в подразделе «Ведение журнала аудита сессии» раздела «Журналирование и аудит» документа «Администрирование функциональностей».
Дополнительные параметры
Конфигурационные параметры аудита
Параметр | Описание | Тип | Значение |
pgaudit.legal | Включение/отключение расширенных возможностей аудита: запись логов аудита в отдельный файл, регистрация дополнительных событий аудита, использование нового формата событий аудита. Для активации указанных в таблице параметров аудита (и добавления в pgaudit.log новых классов событий) необходимо включить данный параметр (pgaudit.legal = on ) | boolean | Параметр может быть установлен в значения on/off , применяется при перезапуске сервера. Значение по умолчанию - off |
pgaudit.log_syslog | Включение/отключение записи логов аудита в системный журнал при включенной записи в файл | boolean | По умолчанию - off |
pgaudit.log_directory | Путь к каталогу для сохранения файлов аудита. Это может быть абсолютный путь или заданный относительно каталога данных ($PGDATA ) | string | Значение по умолчанию - audit Файлы аудита будут созданы в каталоге $PGDATA/audit |
pgaudit.log_filename | Используемый шаблон имен файлов для журналов событий | string | Шаблон может содержать спецпоследовательности, определяющие временную метку, которые начинаются со знака % . Значение по умолчанию audit-%Y-%m-%d_%H%M%S.log |
pgaudit.log_rotation_size | Максимальный размер файла CSV-журнала в килобайтах. При достижении установленного лимита для записи событий безопасности создается новый файл | integer | Если параметр равен 0 , новый файл в зависимости от размера текущего создаваться не будет. Значение по умолчанию 10240 (10 Мб) |
pgaudit.log_rotation_age | Максимальное время жизни файла журнала в минутах. По истечении этого времени создается новый файл для записи событий безопасности | integer | Если параметр равен 0 , создание новых файлов журналов по времени отключается. Значение по умолчанию - 1440 |
pgaudit.log_truncate_on_rotation | Определяет, должны ли усекаться файлы журналов при переключении записи на уже существующий файл журнала. Параметр учитывается только при ротации по времени. В остальных случаях запись всегда продолжается в конец файла | boolean | Если значение параметра off , запись продолжается в конец файла. Значение по умолчанию - off |
pgaudit.log_file_mode | Определяет права на файл аудита при создании и задается в восьмеричном виде | integer | Значение по умолчанию - 0600 |
pgaudit.log_recovery | Параметр включает или отключает обработку фатальных ошибок, которые могут возникнуть при работе с файлами аудита | boolean | Значение по умолчанию - off |
pgaudit.log_catalog | Указывает, должно ли быть включено ведение журнала сессии в том случае, если все отношения в операторе находятся в pg_catalog . Отключение этого параметра уменьшит шум в журнале от таких инструментов, как psql и pgAdmin , которые часто обращаются к каталогу | boolean | Значение по умолчанию - on |
pgaudit.log_client | Указывает, будут ли сообщения журнала видны клиентскому процессу, такому как psql . Этот параметр обычно следует оставить отключенным, но он может быть полезен для отладки или других целей | boolean | pgaudit.log_client активен только тогда, когда значение pgaudit.log_level задано. Значение по умолчанию - off |
pgaudit.log_level | Указывает уровень журналирования, который будет использоваться для записей журнала (см. «Уровни важности сообщений»). Обратите внимание, что значения ERROR , FATAL и PANIC не допускаются. Этот параметр используется для регрессионного тестирования, а также может быть полезен конечным пользователям для тестирования или других целей | string | Значениеpgaudit.log_level используется только тогда, когда pgaudit.log_client включен; в противном случае будет использоваться значение по умолчанию. Значение по умолчанию - log |
pgaudit.log_parameter | Указывает, что ведение журнала аудита должно включать параметры, переданные вместе с оператором. При наличии параметров они будут включены в формате CSV после текста оператора | boolean | Значение по умолчанию - off |
pgaudit.log_relation | Указывает, должно ли ведение журнала аудита сессии создавать отдельную запись журнала для каждого отношения (TABLE , VIEW и т.д.), на которое ссылается оператор SELECT или DML . Это полезный прием для исчерпывающего ведения журнала без использования журнала аудита объектов | boolean | Значение по умолчанию - off |
pgaudit.log_rows | Указывает, что журнал аудита должен включать количество строк, извлеченных или затронутых оператором. При включении ( on ) поле строк будет указан после поля параметра (при pgaudit.log_parameter = on ) | boolean | Значение по умолчанию - off |
pgaudit.log_statement | Указывает, будет ли в журнал аудита включаться текст запроса и параметры (если это разрешено). В зависимости от требований журнал аудита может не нуждаться в этом, и это делает журналы менее подробными | boolean | Значение по умолчанию - on |
pgaudit.log_statement_once | Указывает, будут ли текст и параметры оператора прикрепляться к первой записи в журнале для комбинации оператора и вложенных операторов или к каждой записи. Отключение этого параметра приведет к менее подробному ведению журнала, но может затруднить определение оператора, сгенерировавшего запись журнала, хотя пары оператора и вложенного оператора вместе с идентификатором процесса должно быть достаточно для идентификации текста оператора, записанного в предыдущей записи | boolean | Значение по умолчанию - off |
pgaudit.role | Указывает главную роль, используемую для ведения журнала аудита объектов. Можно определить несколько ролей аудита, закрепив их главной роли. Это позволяет нескольким группам отвечать за различные аспекты ведения журнала аудита | string | Значение по умолчанию отсутствует |
Параметры системного лога
Префикс строки системного журнала
Для добавления других полей, необходимых для удовлетворения требований к системному журналу логов, используйте префикс строки log_line_prefix
:
Спецсимвол | Назначение | Только для пользовательского процесса |
---|---|---|
%a | Имя приложения (application_name) | да |
%u | Имя пользователя | да |
%d | Имя базы данных | да |
%r | Имя удаленного узла или IP-адрес, а также номер порта | да |
%h | Имя удаленного узла или IP-адрес | да |
%p | Идентификатор процесса | нет |
%t | Штамп времени, без миллисекунд | нет |
%m | Штамп времени, с миллисекундами | нет |
%n | Штамп времени, с миллисекундами (в виде времени Unix) | нет |
%i | Тег команды: тип текущей команды в сессии | да |
%e | Код ошибки SQLSTATE | нет |
%c | Идентификатор сессии | нет |
%l | Номер строки журнала для каждой сессии или процесса. Начинается с 1 | нет |
%s | Штамп времени начала процесса | нет |
%v | Идентификатор виртуальной транзакции (backendID/localXID) | нет |
%x | Идентификатор транзакции (0 если не присвоен) | нет |
%q | Ничего не выводит. Непользовательские процессы останавливаются в этой точке. Игнорируется пользовательскими процессами | нет |
%% | Выводит % | нет |
Пример префикса строки журнала: "%m %u %d \[%p\]:
" - включить дату/время, имя пользователя, имя базы данных и идентификатор процесса для каждой записи журнала аудита.
В качестве идентификатора используется UUIDv4
(формируется случайным образом). Для получения идентификатора используется функция gen_random_uuid
. Формат идентификатора:
xxxxxxxxxxxxMxxxNxxxxxxxxxxxxxxx
Значения на позициях M и N определяют соответственно версию и вариант UUID
Параметры обфускации данных
Параметр | Значение по умолчанию | Описание |
anon.algorithm | sha256 | Алгоритм хеширования, применяемый методом псевдонимизации. Поддерживаются md5 , sha1 , sha224 , sha256 , sha384 и sha512 |
anon.allow_constraints_masking | false | Флаг, допускающий обфускацию для атрибутов, входящих в ограничение целостности |
anon.default_locale | en_US | Локаль инициализации таблиц подстановок, применяемых в методах фальсификации и псевдонимизации |
anon.k_anonymity_provider | k_anonymity | Имя SECURITY PROVIDER , используемого для метода K-Anonimity |
anon.masking_policies | anon | Схема БД, используемая расширением обфускации данных и содержащая таблицы и функции подстановок |
anon.maskschema | mask | Схема БД, используемая для генерации анонимизированных данных |
anon.privacy_by_default | off | Выбор стратегии маскирования атрибутов, не имеющих метки SECURITY LABEL . При включении параметра — для всех атрибутов, имеющих значения по умолчанию — будут использоваться они. Для атрибутов, допускающих NULL — подставлен NULL |
anon.restrict_to_trusted_schemas | on | Признак использования функций маскирования, расположенных только в схемах с атрибутом TRUSTED |
anon.salt | Отсутствует | Соль, используемая для метода псевдонимизации |
anon.sourceschema | public | Схема БД по умолчанию, содержащая исходные данные. В случае использования нескольких схем — каждая из них должна быть помечена атрибутом TRUSTED |
anon.strict_mode | on | Требования соответствия типа подстановочного значения типу исходного значения |
anon.transparent_dynamic_masking | off | Режим динамического маскирования |
Настроечные параметры KMS
Настроечные параметры, управляемые администраторами безопасности через KMS в режиме защищенного конфигурирования.
Параметр | Где ведется | Значение по умолчанию |
---|---|---|
allowed_servers | KMS | Пустая строка |
pg_ident_conf (локально файл pg_ident.conf ) | Должны совпадать на KMS и локально | NULL |
is_tde_on | KMS | off |
psql_encrypt_password | KMS | off |
enabled_extra_auth_methods | KMS | Пустая строка |
enabled_sec_admin_extra_auth_methods | KMS | Пустая строка |
encrypt_new_tablespaces | KMS | ddl |
masking_mode | KMS | disabled |
password_encryption | KMS | md5 |
password_policy.alpha_numeric | KMS | 1 |
password_policy.allow_hashed_password | KMS | off |
password_policy.check_syntax | KMS | on |
password_policy.custom_function | KMS | Пустая строка |
password_policy.deny_default | KMS | off |
password_policies_enable | KMS | off |
password_policy.expire_warning | KMS | 7 days |
password_policy.failure_count_interval | KMS | 0 |
password_policy.grace_login_limit | KMS | 5 |
password_policy.grace_login_time_limit | KMS | 0 |
password_policy.illegal_values | KMS | off |
password_policy.in_history | KMS | 0 |
password_policy.lockout | KMS | on |
password_policy.lockout_duration | KMS | 24 hours |
password_policy.min_age | KMS | 0 |
password_policy.max_age | KMS | 120 days |
password_policy.max_failure | KMS | 10 |
password_policy.max_inactivity | KMS | 0 |
password_policy.max_rpt_chars | KMS | 0 |
password_policy.min_alpha_chars | KMS | 0 |
password_policy.min_length | KMS | 5 |
password_policy.min_lowercase | KMS | 0 |
password_policy.min_special_chars | KMS | 0 |
password_policy.min_uppercase | KMS | 0 |
password_policy.password_strength_estimator_score | KMS | 3 |
password_policy.reuse_time | KMS | 0 |
password_policy.track_login | KMS | off |
password_policy.transport_password_life_time | KMS | 0 |
password_policy.transport_password_mark_automatic | KMS | off |
password_policy.use_password_strength_estimator | KMS | off |
performance_insights.masking | KMS | on |
sec_admin_default_auth | KMS | scram-sha-256 |
secure_config | KMS | Должно быть явно задано при настроенном подключении к KMS. Отсутствие значения является ошибкой. При значении on защищенные параметры считываются с KMS.При значении off защищенные параметры считываются из локальных файлов |
ssl | KMS | off |
Параметры автоочистки
Общие параметры настройки автоочистки
Параметр | Описание | Тип | Значение по умолчанию | Ограничение значения | Специальные значения параметров |
---|---|---|---|---|---|
autovacuum | Включает процесс автоочистки | bool | on | - | - |
autovacuum_naptime | Интервал в секундах между запусками автоочистки | int | 60 | 1 - 2147483 (0x7FFFFFFF/1000) | - |
autovacuum_max_workers | Максимальное количество одновременно запущенных процессов автоочистки | int | 3 | 1 - 262143 (0x7FFFF) | - |
autovacuum_work_mem | Максимальное количество используемой памяти в килобайтах для каждого процесса автоочистки | int | -1 | -1 - 2147483647 (0x7FFFFFFF) | -1 - Использование значения maintenance_work_mem |
log_autovacuum_min_duration | Минимальное время исполнения автоочистки в миллисекундах для вывода логов автоочистки | int | 600000 | -1 - 2147483647 (0x7FFFFFFF) | 0 - Выводить все; -1 - Логи отключены |
Параметры условий запуска автоочистки
Параметр | Описание | Тип | Значение по умолчанию | Ограничение значения | Специальные значения параметров |
---|---|---|---|---|---|
autovacuum_vacuum_threshold | Минимальное количество измененных строк (UDPATE или DELETE ) для запуска автоочистки | int | 50 | 0 - 2147483647 (0x7FFFFFFF) | - |
autovacuum_vacuum_scale_factor | Множитель к количеству строк в таблице применительно к autovacuum_vacuum_threshold | real | 0.2 | 0.0 - 100.0 | - |
autovacuum_vacuum_insert_threshold | Минимальное количество добавленных строк (INSERT ) для запуска автоочистки | int | 1000 | -1 - 2147483647 (0x7FFFFFFF) | -1 - Отключить автоочистку из-за добавления строк |
autovacuum_vacuum_insert_scale_factor | Множитель к количеству строк в таблице применительно к autovacuum_vacuum_insert_threshold | real | 0.2 | 0.0 - 100.0 | - |
autovacuum_analyze_threshold | Минимальное количество операций со строками (INSERT , UPDATE , DELETE ) для обновления статистики | int | 50 | 0 - 2147483647 (0x7FFFFFFF) | - |
autovacuum_analyze_scale_factor | Множитель к количеству строк в таблице применительно к autovacuum_analyze_threshold | real | 0.1 | 0.0 - 100.0 | - |
Параметры заморозки строк и таблиц
Параметр | Описание | Тип | Значение по умолчанию | Ограничение значения | Специальные значения параметров |
---|---|---|---|---|---|
vacuum_freeze_min_age | Возраст строк для заморозки при автоочистке | int64 | 50000000 | 0 - 0x7FFFFFFFFFFFFFFF | - |
vacuum_multixact_freeze_min_age | Возраст строк для заморозки MultiXactId | int64 | 50000000 | 0 - 0x7FFFFFFFFFFFFFFF | - |
vacuum_freeze_table_age | Возраст таблицы для сканирования всей таблицы и заморозки всех строк (агрессивная автоочистка) | int64 | 150000000 | 0 - 0x7FFFFFFFFFFFFFFF | - |
vacuum_multixact_freeze_table_age | Возраст мультитранзакций для агрессивной автоочистки | int64 | 150000000 | 0 - 0x7FFFFFFFFFFFFFFF | - |
autovacuum_freeze_max_age | Возраст для агрессивной автоочистки от переполнения xid («to prevent wraparound») | int64 | 10000000000 | 100000 - 0x7FFFFFFFFFFFFFFF | - |
autovacuum_multixact_freeze_max_age | Возраст мультитранзакций для агрессивной автоочистки от переполнения MultiXact («to prevent wraparound») | int64 | 20000000000 | 10000 - 0x7FFFFFFFFFFFFFFF | - |
Параметры для 32-битных счетчиков
Параметр | Описание | Тип | Значение по умолчанию | Ограничение значения | Специальные значения параметров |
---|---|---|---|---|---|
vacuum_multixact_failsafe_age | Возраст мультитранзакций для аварийной агрессивной автоочистки от переполнения MultiXact («to prevent wraparound») | int | 1600000000 | 0 - 2100000000 | - |
vacuum_failsafe_age | Возраст для аварийной агрессивной автоочистки от переполнения xid («to prevent wraparound») | int | 1600000000 | 0 - 2100000000 | - |
Параметры сквозной аутентификации
Настроить сквозную аутентификацию в СУБД Pangolin можно с помощью конфигурационных параметров, описанных в данном разделе.
Дополнительно, для настройки механизма сквозной аутентификации, потребуется реализация настроек в конфигурации приложения Pangolin Pooler.
Параметры аутентификации:
Параметр | Описание | Значение |
authentication_proxy (integer) | Параметр включает/выключает режим сквозной аутентификации | Возможные значения: - 0 — режим сквозной аутентификации выключен, не позволяет выполнять аутентификацию пользователей конкретной БД в отдельном потоке (значение по умолчанию); - 1 — режим сквозной аутентификации включен, позволяет выполнять аутентификацию пользователей конкретной БД в отдельном потоке |
authentication_max_workers (integer) | Параметр определяет максимальное число одновременных подключений для выполнения аутентификации пользователей | Значение по умолчанию 16 . При значении, равном 0 , сквозная аутентификация выполняться не будет. Параметр authentication_max_workers можно задать только при запуске сервера |
auth_handshake_timeout (integer) | Параметр определяет максимальное время, за которое должно произойти подтверждение аутентификации (в секундах). Если потенциальный клиент не сможет выполнить подтверждение аутентификации (рукопожатие) за это время, сервер закроет соединение | Значение по умолчанию 10 секунд |
auth_activity_period (integer) | Параметр определяет период активности аутентификации (в секундах). Это время, в течение которого ранее аутентифицированный клиент при подключении с идентичными параметрами (тип соединения, адрес клиента, база данных и имя пользователя), выполнит аутентификацию по token | Значение по умолчанию 60 Значение передается на Pangolin Pooler и используется для проведения более быстрой аутентификации. Возможные значения: - -1 — не используется период активности аутентификации; - 0 — период активности аутентификации не имеет ограничений по времени; - > 0 — имеет ограничение по времени |
auth_idle_period (integer) | Параметр определяет период простоя процесса сквозной аутентификации (в секундах). Отсчет периода начинается после обработки последнего полученного пакета. После окончания периода будет проверено, нужно ли продолжать работу процесса сквозной аутентификации. Процесс будет прерван, если связанной с ним базы данных нет, или она была удалена или переименована | Значение по умолчанию 60 |
auth_ete_cache_size (integet) | Параметр определяет размер кеша ключей засекречивания токенов аутентификации. При достижении максимального значения из кеша удаляется самая редко используемая запись. | Значение по умолчанию 1024. Параметр auth_ete_cache_size можно задать только при запуске сервера |
Не рекомендуется выставлять значение auth_activity_period = 0
, так как его нельзя сбросить в Pangolin Pooler без перезагрузки. Выставляемого значения должно хватить, чтобы запустить пул соединений между Pangolin Pooler и Pangolin DBMS.
Параметры подключений:
Параметр | Описание | Значение |
authentication_port (integer) | TCP-порт, открываемый сервером для выполнения аутентификации пользователей | По умолчанию порт — 5433 . Параметр authentication_port (integer) можно задать только при запуске сервера |
Параметры подготовленных запросов
В СУБД Pangolin реализованы следующие параметры для поддержки подготовленных запросов.
Параметр | Тип | Описание | Ограничение значения | Значение по умолчанию |
shared_prepared_statements | boolean | Управляет включением/выключением функциональности разделяемых подготовленных запросов | on /off | off |
max_client_sessions | integer | Максимальное количество клиентских сессий. Рекомендуется устанавливать с двухкратным запасом для демпфирования асинхронности удаления данных отключенных сессий | 3 - 2147483647 | 300 |
max_prepared_statements_per_session | integer | Максимальное количество именованных запросов на клиентскую сессию | 3 - 2147483647 | 25 |
max_shared_prepared_statements_names | integer | Предел количества хранимых в shared memory уникальных подготовленных запросов | 3 - 2147483647 | 50 |
max_local_prepared_statements_names | integer | Предел количества локально хранимых в памяти процессов бэкенда картированных наименований подготовленных запросов | 1 - 2147483647 | 100 |
max_local_prepared_statements | integer | Предел количества локально хранимых в памяти процессов бэкенда подготовленных запросов | 1 - 2147483647 | 50 |
shared_prepared_statements_search_path_length | integer | Максимальная длина значения search_path клиентской сессии, включая нулевой байт окончания строки | 16 - 1024 | 128 |
Параметры глобальных индексов
В СУБД Pangolin реализованы следующие параметры для поддержки глобальных индексов.
Параметры функций UNITE и autounite
Параметр | Тип | Описание | Ограничение значения | Значение по умолчанию |
unite_concurrently | boolean | Управляет включением/выключением конкурентного режим UNITE | on /off | on |
autounite_max_workers | boolean | Управляет автоматическим выполнением процесса Unite для конкретного глобального индекса | on /off | on |
autounite | boolean | Флаг включения процесса автообъединения | true /false | true |
autounite_naptime | integer | Интервал в секундах между запусками автообъединения на одной базе данных (в секундах) | 1 - INT_MAX / 1000 | 60 |
autounite_parent_children_size_ratio | integer | Соотношение суммарного размера саб-индексов к размеру родительского глобального индекса, при превышении которого выполняется автообъединение. Например, значение 0 - автобъединение без анализа соотношения размеров, 1 - соотношение предка к потомкам 1:1 (объединение будет выполнено, как только суммарный размер индексов потомков превысит размер глобального индекса предка); 2 - соотношение предка к потомкам 1:2 (объединение будет выполнено, как только суммарный размер индексов потомков превысит 1/2 от размера глобального индекса предка) и так далее | 0 – 1024 | 0 |
autounite_max_children_count | integer | Максимальное количество субиндексов, при котором автообъединение не выполняется | 0 – INT_MAX | 0 (автообъединение без учета количества потомков) |
autounite_pause_period | string | Временной интервал, в который автообъединение не выполняется | Формат ЧЧ-ЧЧ | '' (период бездействия отсутствует) |
Параметры процесса autovacuum
Параметр | Тип | Описание | Ограничение значения | Значение по умолчанию |
autovacuum_vacuum_threshold | integer | Задает целое положительное число, свободный коэффициент в неравенстве autovacuum launcher | 0 - INT_MAX | 50 |
autovacuum_vacuum_scale_factor | REAL | Задает коэффициент, определяющий суммарную долю записей в партициях | 0.0 - 100.0 | 0.2 |
autovacuum_enabled | boolean | Управляет включением/отключением autovacuum на уровне таблицы | true /false | true |
Параметры настройки планов сканирования
Параметр | Тип | Описание | Ограничение значения | Значение по умолчанию |
enable_globalindexonpartition | boolean | Управляет включением/отключением сканирования по глобальному индексу, при этом, если параметр включен, то при прямых запросах к разделам разбитой таблицы глобальный индекс может использоваться как «локальный» индекс раздела. Если параметр имеет значение off , то применяется seqscan и другие | true /false | true |
enable_globalindexscan | boolean | Управляет включением/отключением сканирования по глобальному индексу | true /false | true |
enable_globalindexonlyscan | boolean | Управляет включением/отключением сканирования только по глобальному индексу | true /false | true |
enable_globalindex_extensiveplan | boolean | разрешает использовать глобальный индекс напрямую при построении плана сканирования партиционированной таблицы. Это ускоряет этап планирования запросов и позволяет получить более точную оценку стоимости выполнения. Данный план строится только для запросов, которые используют WHERE field = ... | true /false | true |
Параметры параллелизма при построении и перестраивании глобальных индексов
Параметр | Тип | Описание | Ограничение значения | Значение по умолчанию | Контекст |
subindex_build_max_workers | integer | Определяет максимальное количество рабочих процессов, используемых при параллельном построении саб-индексов (локальных индексов партиций) | 1 - MAX_BACKENDS | 3 | postmaster |
partitioned_index_parallel_build | boolean | Управляет возможностью параллельного построения обычных (оригинальных) индексов на партиционированных таблицах по умолчанию | true /false | false | user |
global_index_parallel_build | boolean | Управляет возможностью параллельного построения глобальных индексов по умолчанию | true /false | true | user |