client_min_messages (enum)
#
Определяет, какие
уровни сообщений
передаются клиенту.
Допустимые значения: DEBUG5,
DEBUG4, DEBUG3, DEBUG2,
DEBUG1, LOG, NOTICE,
WARNINGи ERROR.
Каждый уровень включает в себя все последующие уровни. Чем выше уровень,
тем меньше сообщений будет отправлено. Значение по умолчанию —
NOTICE. Обратите внимание, что параметр LOG имеет здесь иной
ранг, чем в log_min_messages.
INFO сообщения данного уровня всегда передаются клиенту.
search_path (string)
#Данный параметр определяет порядок поиска в схемах, когда обращение к объекту (таблице, типу данных, функции и т. д.) происходит по простому имени без указания схемы. При наличии объектов при наличии идентичных имен в различных схемах используется то имя, которое было обнаружено первым в пути поиска. К объекту, который не входит ни в одну из схем, указанных в пути поиска, можно обратиться только путем указания содержащей его схемы с использованием квалифицированного (точечного) имени.
Значение параметра search_path должно представлять собой разделенный запятыми
список имен схем. Любое имя, которое не соответствует существующей схеме или
относится к схеме, на которую у пользователя отсутствует USAGE
право доступа, игнорируется без уведомления.
Если одним из элементов списка является специальное имя
$user, то подставляется схема, имя которой возвращается функцией,
CURRENT_USER при условии наличия такой схемы
и наличия у пользователя USAGE соответствующих прав доступа.
(В противном случае, $user игнорируется.)
Схема системного каталога, pg_catalog, всегда
просматривается независимо от того, указана она в пути или нет. Если она
указана в пути, то поиск в ней будет производиться в заданном
порядке. Если pg_catalog отсутствует в пути, то поиск в ней будет
выполняться перед просмотром остальных элементов пути.
Аналогичным образом, схема временных таблиц текущего сеанса,
pg_temp_, всегда просматривается при условии её
существования. Её можно явно указать в пути, используя
псевдоним nnnpg_temp. Если она не указана в пути, то
она просматривается первой (даже перед pg_catalog). Однако
поиск во временной схеме осуществляется только для имен отношений (таблиц, представлений,
последовательностей и т. д.) и имен типов данных. Поиск в ней никогда не выполняется для
имен функций или операторов.
Если объекты создаются без указания конкретной целевой
схемы, они будут помещены в первую допустимую схему, указанную в
search_path. Если путь поиска
пуст, возвращается ошибка.
Значение по умолчанию для данного параметра —
"$user", public.
Данная настройка поддерживает совместное использование базы данных (когда пользователи
не имеют частных схем и совместно используют схему public),
частные пользовательские схемы, а также их комбинации. Другие
результаты могут быть достигнуты путем изменения значения параметра пути поиска по умолчанию
либо на глобальном уровне, либо для отдельного пользователя.
Дополнительные сведения о работе со схемами приведены в Раздел 2.2.10. В частности, конфигурация по умолчанию подходит только в тех случаях, когда в базе данных имеется единственный пользователь или несколько взаимно доверяющих пользователей.
Текущее действующее значение пути поиска можно проверить
с помощью SQL функции
current_schemas
(см. Раздел 2.6.27).
Это не совсем то же самое, что
проверка значения параметра search_path, так как
current_schemas показывает, каким образом элементы,
указанные в search_path были разрешены.
row_security (boolean)
#
Данный параметр определяет, следует ли выдавать ошибку вместо применения
политики безопасности строк. При установке значения on, политики применяются
в обычном режиме. Если же задано значение off, запросы, которые должны были бы
в противном случае применяется как минимум одна политика. Значение по умолчанию — on.
Изменить на off в случаях, когда ограничение видимости строк может привести к
некорректным результатам; например, pg_dump делает данное
изменение стандартным. Данный параметр не влияет на роли, обладающие правом обхода
всех политик защиты строк, а именно: суперпользователи и роли с
конфигурационном BYPASSRLS атрибутом.
Для получения дополнительных сведений о политиках защиты строк см. CREATE POLICY.
default_table_access_method (string)
#
Данный параметр определяет используемый по умолчанию метод доступа к таблице при
создании таблиц или материализованных представлений, если в CREATE
команде явно не указан метод доступа, или при использовании
SELECT ... INTO , которая не позволяет
указывать метод доступа к таблице. Значение по умолчанию — куча.
default_tablespace (string)
#
Данная переменная определяет табличное пространство по умолчанию для создания
объектов (таблиц и индексов), когда в CREATE команде
явным образом не указано табличное пространство.
Значение представляет собой имя табличного пространства или пустую строку
для использования табличного пространства по умолчанию текущей базы данных.
Если значение не соответствует имени ни одного из существующих табличных пространств,
Digital Q.DataBase автоматически будет использовано табличное пространство
по умолчанию текущей базы данных. Если указано табличное пространство,
отличное от значения по умолчанию, пользователь должен иметь CREATE соответствующую привилегию
на него, иначе попытки создания объектов завершатся ошибкой.
Данная переменная не используется для временных таблиц; для них temp_tablespaces вместо неё проверяется значение другого параметра.
Данная переменная также не используется при создании баз данных. По умолчанию новая база данных наследует настройку табличного пространства от шаблонной базы данных, на основе которой она создается.
Если данному параметру присвоено значение, отличное от пустой строки,
при создании секционированной таблицы её
табличному пространству будет присвоено это значение, которое будет использоваться в качестве
табличного пространства по умолчанию для секций, создаваемых в будущем,
даже если default_tablespace с тех пор данное значение изменилось.
Для получения дополнительной информации о табличных пространствах см. см. Раздел 3.7.6.
default_toast_compression (enum)
#
Данная переменная определяет используемый по умолчанию
TOAST
метод сжатия для значений в сжимаемых столбцах.
(Данное значение можно переопределить для отдельных столбцов, указав
конфигурационном COMPRESSION в качестве параметра столбца в команде
CREATE TABLE или
ALTER TABLE.)
Поддерживаются следующие методы сжатия: pglz и
(если Digital Q.DataBase был скомпилирован с
--with-lz4) lz4.
Значение по умолчанию — pglz.
temp_tablespaces (string)
#
Данный параметр определяет табличные пространства, в которых создаются временные
объекты (временные таблицы и индексы для временных таблиц), когда в
CREATE команде не указывается табличное пространство явным образом.
Временные файлы для таких целей, как сортировка больших наборов данных,
также создаются в данных табличных пространствах.
Значение представляет собой список имен табличных пространств. Если в списке указано более одного имени, Digital Q.DataBase выбирается случайный элемент списка при каждом создании временного объекта; за исключением того, что внутри транзакции последовательно создаваемые временные объекты размещаются в последовательных табличных пространствах из списка. Если выбранный элемент списка является пустой строкой, то используется Digital Q.DataBase автоматически будет использовано табличное пространство табличное пространство текущей базы данных.
В случае когда temp_tablespaces устанавливается в интерактивном режиме, указание
несуществующего табличного пространства является ошибкой, равно как и указание табличного пространства,
на которое у пользователя нет прав CREATE привилегиями. Однако
при использовании ранее заданного значения несуществующие табличные пространства
игнорируются, как и табличные пространства, на которые у пользователя нет
CREATE прав доступа. В частности, это правило применяется при
использовании значения, заданного в postgresql.conf.
По умолчанию установлена пустая строка, что приводит к созданию всех временных объектов в табличном пространстве по умолчанию текущей базы данных.
См. также default_tablespace.
check_function_bodies (boolean)
#
Обычно этот параметр включен. При значении off, он
отключает проверку строки тела функции во время CREATE FUNCTION и CREATE PROCEDURE. Отключение проверки позволяет избежать побочных
эффектов процесса проверки, в частности, предотвращая ложные
срабатывания из-за таких проблем, как опережающие ссылки.
Установите этот параметр
в off перед загрузкой функций от имени других
пользователей; pg_dump выполняется автоматически.
default_transaction_isolation (enum)
#Каждая SQL-транзакция имеет уровень изоляции, который может принимать значение либо «read uncommitted», «read committed», «repeatable read»или «serializable». Данный параметр определяет уровень изоляции по умолчанию для каждой новой транзакции. Значение по умолчанию — не является «read committed».
См. раздел Глава 2.10 и SET TRANSACTION для получения дополнительной информации.
default_transaction_read_only (boolean)
#
SQL-транзакция в режиме «только для чтения» не может изменять постоянные таблицы.
Данный параметр управляет состоянием «только для чтения» по умолчанию для каждой новой
транзакции. Значение по умолчанию — off (чтение/запись).
См. раздел SET TRANSACTION для получения дополнительной информации.
default_transaction_deferrable (boolean)
#
При работе на serializable уровне изоляции,
откладываемая SQL-транзакция в режиме «только чтение» может быть задержана перед
тем, как ей будет разрешено продолжить выполнение. Однако после начала выполнения
она не несет накладных расходов, необходимых для обеспечения
сериализуемости; поэтому у кода сериализации не будет причин
принудительно прервать её из-за параллельных обновлений, что делает этот
вариант подходящим для длительных транзакций в режиме «только чтение».
Данный параметр определяет состояние откладываемости по умолчанию для каждой
новой транзакции. В настоящее время он не влияет на транзакции в режиме «чтение-запись»
или на транзакции, работающие на более низких уровнях изоляции
чем serializable. Значение по умолчанию — off.
См. раздел SET TRANSACTION для получения дополнительной информации.
transaction_isolation (enum)
#Данный параметр отражает текущий уровень изоляции транзакции. В начале каждой транзакции данному параметру присваивается текущее значение параметра default_transaction_isolation. Любая последующая попытка изменения этого параметра эквивалентна выполнению SET TRANSACTION команды.
transaction_read_only (boolean)
#Данный параметр отражает статус «только для чтения» текущей транзакции. В начале каждой транзакции данному параметру присваивается текущее значение параметра default_transaction_read_only. Любая последующая попытка изменения этого параметра эквивалентна выполнению SET TRANSACTION команды.
transaction_deferrable (boolean)
#Данный параметр отражает статус откладываемости текущей транзакции. В начале каждой транзакции данному параметру присваивается текущее значение параметра default_transaction_deferrable. Любая последующая попытка изменения этого параметра эквивалентна выполнению SET TRANSACTION команды.
session_replication_role (enum)
#
Управляет срабатыванием триггеров и правил, связанных с репликацией, для
текущего сеанса.
Допустимые значения: origin (значение по умолчанию),
replica и local.
Установка данного параметра приводит к удалению всех ранее кэшированных
планов запросов.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
Данная настройка предназначена для использования системами логической репликации,
которые устанавливают её в значение replica при применении реплицируемых
изменений. В результате этого триггеры и правила (конфигурация которых
не была изменена по умолчанию) не будут срабатывать
на реплике. См. ALTER TABLE предложения
ENABLE TRIGGER и ENABLE RULE
для получения дополнительных сведений.
Внутренние механизмы Digital Q.DataBase обрабатывают параметры origin и
local идентичным образом. Сторонние системы репликации
могут использовать эти два значения для внутренних целей, например,
применяя значение local для обозначения сеанса, в котором
изменения не подлежат репликации.
Поскольку внешние ключи реализованы в виде триггеров, установка данного параметра
в replica также отключает все проверки внешних ключей,
что при некорректном использовании может привести к нарушению целостности данных.
statement_timeout (integer)
#
Прерывание любого оператора, время выполнения которого превышает заданное значение.
Если log_min_error_statement установлен
в ERROR или ниже, оператор, время ожидания которого истекло,
также будет зафиксирован в журнале.
Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах.
Нулевое значение (по умолчанию) отключает ограничение по времени.
Измерение времени ожидания производится с момента поступления команды на сервер до момента завершения ее выполнения сервером. Если несколько SQL- операторов содержатся в одном сообщении простого запроса, время ожидания применяется к каждому оператору по отдельности. (Digital Q.DataBase в версиях до 13 обычно время ожидания применялось ко всей строке запроса в целом.) В протоколе расширенных запросов отсчет времени ожидания начинается при поступлении любого сообщения, связанного с запросом (Parse, Bind, Execute, Describe), и он прекращается по завершении сообщения Execute или Sync.
Установка значения параметра statement_timeout в
postgresql.conf не рекомендуется, поскольку это
затронет все сеансы.
transaction_timeout (integer)
#
Завершение любого сеанса, время нахождения которого в транзакции превышает указанное
количество времени. Данное ограничение применяется как к явным транзакциям
(начатым с помощью BEGIN) так и к неявно начатой
транзакции, соответствующей одному оператору.
Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах.
Нулевое значение (по умолчанию) отключает ограничение по времени.
Если transaction_timeout меньше или равно
idle_in_transaction_session_timeout или statement_timeout
тогда более длительное значение времени ожидания игнорируется.
Установка значения параметра transaction_timeout в
postgresql.conf не рекомендуется, поскольку это
затронет все сеансы.
На подготовленные транзакции данное время ожидания не распространяется.
lock_timeout (integer)
#
Прерывание любого оператора, время ожидания которого превышает указанное значение
времени при попытке получения блокировки таблицы, индекса,
строки или иного объекта базы данных. Данный лимит времени применяется отдельно к
каждой попытке получения блокировки. Ограничение распространяется как на явные
запросы на блокировку (такие как LOCK TABLE, или SELECT
FOR UPDATE без NOWAIT), так и на неявно полученные
блокировки.
Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах.
Нулевое значение (по умолчанию) отключает ограничение по времени.
В отличие от statement_timeout, данное время ожидания может возникать только
в процессе ожидания блокировок. Обратите внимание: если statement_timeout
имеет ненулевое значение, установка для данного параметра lock_timeout для
такого же или большего значения нецелесообразна, так как время ожидания выполнения оператора всегда будет
истекать первым. Если значение log_min_error_statement установлено в значение
ERROR или ниже, оператор, время ожидания которого истекло, будет
записан в журнал.
Установка значения параметра lock_timeout в
postgresql.conf не рекомендуется, поскольку это
затронет все сеансы.
idle_in_transaction_session_timeout (integer)
#Завершение любого сеанса, находящегося в состоянии простоя (то есть в ожидании запроса клиента) в рамках открытой транзакции в течение времени, превышающего заданное значение. Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Нулевое значение (по умолчанию) отключает ограничение по времени.
Данный параметр может использоваться для предотвращения удержания неактивными сеансами блокировок в течение избыточного времени. Даже если значимые блокировки не удерживаются, открытая транзакция препятствует очистке недавно удалённых кортежей, которые могут быть видимы только для этой транзакции; вследствие чего длительный простой может приводить к раздуванию таблиц. См. Раздел 3.9.1 для получения более подробных сведений.
idle_session_timeout (integer)
#Завершение любого сеанса, находящегося в состоянии простоя (то есть в ожидании запроса клиента), но не в рамках открытой транзакции, в течение времени, превышающего заданное значение. Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах. Нулевое значение (по умолчанию) отключает ограничение по времени.
В отличие от ситуации с открытой транзакцией, неактивный сеанс без
транзакции не создает значительной нагрузки на сервер, поэтому имеется меньше
необходимо активировать данный параметр времени ожидания
чем idle_in_transaction_session_timeout.
Следует соблюдать осторожность при принудительном применении данного времени ожидания для соединений, устанавливаемых через программное обеспечение для пула соединений или иное связующее ПО, так как этот уровень может некорректно реагировать на непредвиденное закрытие соединения. Целесообразно активировать данный параметр времени ожидания только для интерактивных сеансов, например, путем его применения только к определенным пользователям.
vacuum_freeze_table_age (integer)
#
VACUUM выполняет агрессивное сканирование, если значение поля
pg_class.relfrozenxid таблицы достигло
возраста, определенного данной настройкой. Агрессивное сканирование отличается от
обычного сканирования VACUUM тем, что при нем проверяется каждая страница, которая может
содержать незамороженные идентификаторы XID или MXID, а не только страницы с неактуальными
кортежами. Значение по умолчанию составляет 150 миллионов транзакций. Хотя пользователи могут
устанавливать это значение в диапазоне от нуля до двух миллиардов, VACUUM
эффективное значение будет неявно ограничено до 95% от
autovacuum_freeze_max_age, чтобы
периодическая ручная очистка VACUUM имеет возможность выполниться до того, как
для таблицы будет запущен процесс autovacuum для предотвращения закольцовывания (anti-wraparound). Для получения дополнительной
информации см.
Раздел 3.9.1.5.
vacuum_freeze_min_age (integer)
#
Определяет предельный возраст (в транзакциях), который параметр
VACUUM должен использовать для принятия решения о необходимости
запуска заморозки страниц, имеющих более старый идентификатор XID.
Значение по умолчанию составляет 50 миллионов транзакций. Хотя
пользователи могут устанавливать данный параметр в диапазоне от нуля до одного миллиарда,
VACUUM система будет негласно ограничивать эффективное значение половиной значения
значение autovacuum_freeze_max_age, чтобы
между принудительными запусками процесса
autovacuum не возникало неоправданно коротких интервалов времени. Для получения дополнительной информации см. Раздел 3.9.1.5.
vacuum_failsafe_age (integer)
#
Определяет максимальный возраст (в транзакциях), которого может
pg_class.relfrozenxid
поле может достичь до того, как система VACUUM предпримет
чрезвычайные меры во избежание критического сбоя из-за закольцовывания идентификаторов транзакций (wraparound)
в масштабе всей системы. Данный параметр VACUUM's
стратегия «последней надежды». Защитный механизм обычно срабатывает,
когда процесс автоочистки для предотвращения зацикливания идентификаторов транзакций (transaction ID wraparound)
уже выполняется в течение некоторого времени, хотя активация
защитного механизма возможна в ходе любой VACUUM.
При срабатывании защитного механизма любая действующая задержка на основе стоимости (cost-based delay)
перестает применяться, прочие второстепенные
задачи по обслуживанию (такие как очистка индексов) игнорируются, а любые
Buffer Access Strategy
используемые компоненты отключаются, в результате чего VACUUM обеспечивается возможность
беспрепятственного использования всех
разделяемые буферы.
Значение по умолчанию составляет 1,6 млрд транзакций. Хотя пользователи могут
установить этот параметр в диапазоне от 0 до 2,1 млрд,
VACUUM система автоматически скорректирует фактическое
значение до уровня не менее 105% от autovacuum_freeze_max_age.
vacuum_multixact_freeze_table_age (integer)
#
VACUUM выполняет агрессивное сканирование, если значение поля
pg_class.relminmxid таблицы достигло
возраста, определенного данной настройкой. Агрессивное сканирование отличается от
обычного сканирования VACUUM тем, что при нем проверяется каждая страница, которая может
содержать незамороженные идентификаторы XID или MXID, а не только страницы с неактуальными
кортежами. Значение по умолчанию составляет 150 миллионов мультитранзакций (multixacts).
Хотя пользователи могут устанавливать значение этого параметра в диапазоне от нуля до двух миллиардов,
VACUUM эффективное значение будет неявно ограничено на уровне 95% от
autovacuum_multixact_freeze_max_age, чтобы
периодическая ручная очистка VACUUM имеет возможность выполниться до того, как
для таблицы запускается процесс предотвращения зацикливания идентификаторов.
Для получения дополнительной информации см. Раздел 3.9.1.5.1.
vacuum_multixact_freeze_min_age (integer)
#
Определяет предельный возраст (в мультитранзакциях), на основании которого VACUUM
принимается решение о необходимости запуска заморозки страниц с
более старым идентификатором мультитранзакции (multixact ID). По умолчанию значение составляет 5 миллионов мультитранзакций.
Хотя пользователи могут устанавливать значение этого параметра в диапазоне от нуля до одного миллиарда,
VACUUM система будет негласно ограничивать эффективное значение половиной значения
значение autovacuum_multixact_freeze_max_age,
чтобы интервал времени между принудительными запусками
процесса автоматической очистки (autovacuum) не был неоправданно коротким.
Для получения дополнительной информации см. Раздел 3.9.1.5.1.
vacuum_multixact_failsafe_age (integer)
#
Определяет максимальный возраст (в мультитранзакциях, multixacts), которого может
pg_class.relminmxid
поле может достичь до того, как система VACUUM предпримет
экстренные меры во избежание зацикливания идентификаторов мультитранзакций (multixact ID) в масштабе всей системы
в масштабе всей системы. Данный параметр VACUUM's
стратегия «последней надежды». Аварийный механизм (failsafe) обычно срабатывает в случаях, когда
процесс автоматической очистки для предотвращения зацикливания идентификаторов транзакций уже
выполняется в течение некоторого времени, однако допускается срабатывание
аварийного механизма в ходе выполнения любой VACUUM.
При срабатывании защитного механизма любая действующая задержка на основе стоимости (cost-based delay) действующие ограничения более не применяются, а выполнение дальнейших второстепенных задач по обслуживанию (таких как очистка индексов) пропускается.
Значение по умолчанию составляет 1,6 миллиарда мультитранзакций (multixacts). Хотя пользователи могут устанавливать
данное значение в диапазоне от нуля до 2,1 миллиарда,
VACUUM система автоматически скорректирует фактическое
значение до уровня не менее 105% от autovacuum_multixact_freeze_max_age.
bytea_output (enum)
#
Устанавливает выходной формат для значений типа bytea.
Допустимые значения: hex (значение по умолчанию)
и escape (традиционный формат
PostgreSQL). См. Раздел 2.5.4 для получения дополнительной
информацию. Тип bytea данных всегда
принимает оба формата на входе независимо от данной настройки.
xmlbinary (enum)
#
Определяет способ кодирования двоичных значений в XML. Данный параметр применяется,
например, когда bytea значения преобразуются в
XML при помощи функций xmlelement или
xmlforest. Допустимые значения:
base64 и hex, который
определены в стандарте XML Schema. Значение по умолчанию —
base64. Для получения дополнительных сведений о
функциях для работы с XML см. Раздел 2.6.15.
Фактический выбор здесь во многом является вопросом предпочтения и обусловлен только возможными ограничениями в клиентских приложениях. Оба метода поддерживают все возможные значения, хотя кодирование hex будет несколько больше по размеру, чем кодирование base64.
xmloption (enum)
#
Определяет, какой вариант использовать: DOCUMENT или
CONTENT подразумевается неявно при преобразовании между
значениями XML и строковыми значениями. См. Раздел 2.5.13 для получения описания данного поведения. Допустимыми
значениями являются DOCUMENT и
CONTENT. Значение по умолчанию —
CONTENT.
Согласно стандарту SQL, команда для установки данного параметра имеет вид
SET XML OPTION { DOCUMENT | CONTENT };
Данный синтаксис также поддерживается в Digital Q.DataBase.
gin_pending_list_limit (integer)
#
Задает максимальный размер списка ожидания (pending list) GIN-индекса, который используется, когда параметр
в случае когда fastupdate включен. Если размер списка превышает
указанное максимальное значение, он очищается путем переноса
всех содержащихся в нем записей в основную структуру данных GIN-индекса.
Если данное значение указано без единиц измерения, оно измеряется в килобайтах.
Значение по умолчанию составляет четыре мегабайта (4MB). Данный параметр
может быть переопределен для отдельных GIN-индексов путем изменения
параметров хранения индекса.
См. Раздел 7.14.4.4.1 и Раздел 7.14.4.5
для получения дополнительных сведений.
createrole_self_grant (string)
#
Если пользователь, обладающий CREATEROLE но не
SUPERUSER создает роль, и если для данного параметра
установлено непустое значение, вновь созданная роль будет предоставлена
создавшему ее пользователю с указанными опциями. Значение должно быть
set, inherit, либо
список этих значений через запятую. Значением по умолчанию является пустая строка,
что отключает данную функциональность.
Назначение этого параметра заключается в том, чтобы позволить CREATEROLE
пользователю, не являющемуся суперпользователем, автоматически наследовать права или автоматически
получать возможность выполнять команду SET ROLE в отношении любых созданных пользователей.
Поскольку CREATEROLE пользователю всегда неявно предоставляется
ADMIN OPTION на создаваемые роли, благодаря чему пользователь мог бы
всегда выполнять оператор GRANT для достижения
того же результата, что и при использовании данного параметра. Однако из соображений практичности может быть удобно,
если предоставление прав происходит автоматически. Суперпользователь
автоматически наследует привилегии каждой роли и всегда имеет доступ
SET ROLE к любой роли, и данный параметр может быть использован
для обеспечения аналогичного поведения CREATEROLE пользователей
в отношении создаваемых ими пользователей.
event_triggers (boolean)
#
Возможность временного отключения выполнения событийных триггеров для
поиска неисправностей и восстановления поврежденных событийных триггеров. Все событийные триггеры будут
отключены при установке данного параметра в значение false. Установка значения
в true разрешает срабатывание всех событийных триггеров; это
значение используется по умолчанию. Изменять данный параметр могут только суперпользователи и пользователи с соответствующими
SET данная привилегия позволяет изменять этот параметр.
restrict_nonsystem_relation_kind (string)
#
Определяет типы отношений, для которых запрещен доступ к несистемным отношениям.
Значение задается в виде списка типов отношений через запятую.
В настоящее время поддерживаются следующие типы отношений: view и
foreign-table.
DateStyle (string)
#
Устанавливает формат отображения значений даты и времени, а также
правила интерпретации неоднозначных входных значений дат. По
историческим причинам данная переменная содержит два независимых
компонента: спецификацию выходного формата (ISO,
Postgres, SQL, или German)
и спецификацию ввода-вывода для порядка следования года, месяца и дня
(DMY, MDY, или YMD). Данные параметры
можно устанавливать отдельно или вместе. Ключевые слова Euro
и European являются синонимами для DMY; the
ключевые слова US, NonEuro, а также
NonEuropean являются синонимами для MDY. См. раздел
Раздел 2.5.5 для получения дополнительной информации.
встроенным значением по умолчанию является ISO, MDY, однако
initdb инициализирует
конфигурационный файл с параметром, соответствующим
поведению выбранной lc_time локали.
IntervalStyle (enum)
#
Задает формат отображения значений типа interval.
Значение sql_standard формирует
вывод, соответствующий SQL стандартным литералам интервалов.
Значение postgres (значение по умолчанию) формирует
вывод, соответствующий Digital Q.DataBase версиях до 8.4
когда DateStyle
параметр был установлен в значение ISO.
Значение postgres_verbose формирует вывод
соответствующий Digital Q.DataBase версиях до 8.4
когда DateStyle
параметру было присвоено значение, отличное отISO вывод.
Значение iso_8601 обеспечивает формирование вывода, соответствующего формату времени
интервал «формат с использованием обозначений,» определенных в разделе
4.4.3.2 стандарта ISO 8601.
Команда IntervalStyle параметр также влияет на
интерпретацию неоднозначных входных данных типа interval. См.
Раздел 2.5.5.4 для получения дополнительной информации.
TimeZone (string)
#
Устанавливает часовой пояс для отображения и интерпретации меток времени.
Встроенное значение по умолчанию — GMT, однако обычно оно
переопределяется в postgresql.conf; initdb
установит там значение, соответствующее параметрам системного окружения.
См. Раздел 2.5.5.3 для получения дополнительной информации.
qdb_server_timezone_only (boolean)
#
Включает режим серверного времени. При значении on все вызовы
SET TIMEZONE игнорируются, а временные функции используют
значение параметра TimeZone.
Значение по умолчанию — off.
timezone_abbreviations (string)
#
Задает набор сокращений часовых поясов, которые будут распознаваться
сервером во входных данных типа datetime. Значение по умолчанию — 'Default',
представляющее собой набор, применимый для большинства регионов мира; также существуют
также 'Australia' и 'India',
а также для конкретной установки могут быть определены другие наборы (collections).
См. Раздел 8.2.4 для получения дополнительной информации.
extra_float_digits (integer)
#
Данный параметр регулирует количество цифр, используемых при текстовом выводе
значений с плавающей точкой, включая float4, float8,
и геометрические типы данных.
Если значение параметра равно 1 (по умолчанию) или выше, то значения с плавающей точкой выводятся в
кратчайшем точном формате; см. Раздел 2.5.1.3. The
фактическое количество формируемых цифр зависит только от выводимого
значения, а не от значения данного параметра. Максимум 17 цифр
требуется для float8 значений и 9 для float4
вариантов. Данный формат является одновременно быстрым и точным, сохраняя исходное
двоичное значение с плавающей точкой в точности при условии корректного считывания. Из соображений обратной
целях совместимости допускаются значения до 3 включительно.
Если значение параметра является нулевым или отрицательным, результат округляется до
заданной десятичной точности. Используемая точность представляет собой стандартное количество
знаков для типа (FLT_DIG
или DBL_DIG соответственно), уменьшенное в соответствии со
значением данного параметра. (Например, при указании значения -1
float4 выводимые значения будут округляться до 5 значащих
цифр, а float8 значения
будут округляться до 14 цифр.) Данный формат работает медленнее и не сохраняет все
биты двоичного значения с плавающей точкой, но может быть более удобным для восприятия.
Смысл данного параметра и его значение по умолчанию были изменены в Digital Q.DataBase 12; см. Раздел 2.5.1.3 для дальнейшего обсуждения.
client_encoding (string)
#Устанавливает клиентскую кодировку (набор символов). По умолчанию используется кодировка базы данных. Наборы символов, поддерживаемые Digital Q.DataBase сервером, описаны в Раздел 3.8.3.1.
lc_messages (string)
#Устанавливает язык вывода сообщений. Допустимые значения являются системно-зависимыми; см. Раздел 3.8.1 для дополнительную информацию. Если для данного параметра установлена пустая строка (что является значением по умолчанию), то значение наследуется из среды выполнения сервера системно-зависимым способом.
В некоторых системах данная категория локали отсутствует. Установка данного параметра останется возможной, но не даст никакого эффекта. Также существует вероятность, что переведенные сообщения для требуемого языка отсутствуют. В этом случае сообщения по-прежнему будут выводиться на английском языке.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
lc_monetary (string)
#
Устанавливает локаль для форматирования денежных значений, например,
для использования с to_char семейством функций
функций. Допустимые значения зависят от операционной системы; см. Раздел 3.8.1 для получения дополнительных сведений. Если значение этой переменной
установлено в виде пустой строки (что является значением по умолчанию), то значение
наследуется из среды выполнения сервера
системно-зависимым способом.
lc_numeric (string)
#
Устанавливает локаль, используемую для форматирования чисел, например
с использованием функции to_char семейством функций
функций. Допустимые значения зависят от операционной системы; см. Раздел 3.8.1 для получения дополнительных сведений. Если значение этой переменной
установлено в виде пустой строки (что является значением по умолчанию), то значение
наследуется из среды выполнения сервера
системно-зависимым способом.
lc_time (string)
#
Устанавливает локаль, используемую для форматирования даты и времени, например
с использованием функции to_char семейством функций
функций. Допустимые значения зависят от операционной системы; см. Раздел 3.8.1 для получения дополнительных сведений. Если значение этой переменной
установлено в виде пустой строки (что является значением по умолчанию), то значение
наследуется из среды выполнения сервера
системно-зависимым способом.
icu_validation_level (enum)
#
При возникновении проблем с проверкой локали ICU определяет,
уровень важности сообщения, заменяется
используемый для информирования о проблеме. Допустимые значения:
DISABLED, DEBUG5,
DEBUG4, DEBUG3,
DEBUG2, DEBUG1,
INFO, NOTICE,
WARNING, ERROR, а также
LOG.
При установке значения DISABLED, отключающее вывод сообщений о проблемах проверки
совсем. В противном случае отчеты выводятся на указанном уровне
сообщений. Значение по умолчанию — WARNING.
default_text_search_config (string)
#
Выбирает конфигурацию текстового поиска, используемую теми вариантами
функций текстового поиска, в которых не задан явный аргумент
задание параметров конфигурации.
См. Глава 2.9 для получения дополнительных сведений.
Встроенное значение по умолчанию — pg_catalog.simple, однако
initdb инициализирует
конфигурационный файл с параметром, соответствующим
выбранного lc_ctype локаль, если конфигурация,
соответствующая данной локали, может быть определена.
Для предварительной загрузки разделяемых библиотек в сервер предусмотрено несколько параметров, позволяющих расширить функциональность или повысить производительность. Например, задание значения
'$libdir/mylib' приведет к предварительной загрузке файла
mylib.so (или, на некоторых платформах,
mylib.sl) из стандартного каталога библиотек установленной системы. Параметры различаются моментом вступления в силу и правами доступа, необходимыми для их изменения.
Digital Q.DataBase библиотеки процедурных языков могут быть загружены аналогичным образом, обычно с использованием синтаксиса '$libdir/plXXX' где
XXX выполняется pgsql, perl,
tcl, или python.
Этим способом могут быть загружены только те разделяемые библиотеки, которые специально предназначены для использования с PostgreSQL. Каждая библиотека с поддержкой PostgreSQL имеет ««магический блок»» который проверяется для обеспечения совместимости. По этой причине сторонние библиотеки (не относящиеся к PostgreSQL) не могут быть загружены таким способом. Для этого можно использовать средства операционной системы, такие как LD_PRELOAD для этой цели.
В общем случае для определения рекомендуемого способа загрузки конкретного модуля следует обращаться к документации этого модуля.
local_preload_libraries (string)
#
Данный параметр определяет одну или несколько разделяемых библиотек, которые должны быть
предварительно загружены при установке соединения.
Он содержит список имен библиотек, разделенных запятыми, где каждое имя
интерпретируется аналогично параметрам команды LOAD команды.
Пробелы между записями игнорируются; имя библиотеки следует заключать в
двойные кавычки при необходимости включения в него пробелов или запятых.
Значение данного параметра вступает в силу только при установке соединения.
Последующие изменения значения не будут иметь силы. Если указанная библиотека не будет
найдена, попытка установления соединения завершится ошибкой.
Данный параметр может быть задан любым пользователем. В связи с этим перечень
библиотек, доступных для загрузки, ограничен теми, которые находятся в
plugins подкаталоге
стандартного каталога библиотек текущей установки. (Обеспечение установки
исключительно «безопасных» библиотек
в данный каталог является обязанностью администратора БД.) Записи в local_preload_libraries
могут содержать явное указание этого каталога, например,
$libdir/plugins/mylib, или просто укажите
имя библиотеки — mylib будет иметь
такой же результат, как и $libdir/plugins/mylib.
Назначение данной функции заключается в предоставлении непривилегированным пользователям возможности загрузки
библиотек отладки или измерения производительности в рамках конкретных сеансов
без необходимости выполнения явной LOAD команды. Для этого
данный параметр обычно устанавливается с помощью
конфигурационном PGOPTIONS переменной окружения на стороне клиента или посредством
использования команды
ALTER ROLE SET.
Однако, если модуль не предназначен специально для использования обычными пользователями (не являющимися суперпользователями), данный параметр обычно не применяется. Обратитесь к session_preload_libraries вместо этого.
session_preload_libraries (string)
#
Данный параметр определяет одну или несколько разделяемых библиотек, которые должны быть
предварительно загружены при установке соединения.
Он содержит список имен библиотек, разделенных запятыми, где каждое имя
интерпретируется аналогично параметрам команды LOAD команды.
Пробелы между записями игнорируются; имя библиотеки следует заключать в
двойные кавычки при необходимости включения в него пробелов или запятых.
Значение данного параметра вступает в силу только при установке соединения.
Последующие изменения значения не будут иметь силы. Если указанная библиотека не будет
найдена, попытка установления соединения завершится ошибкой.
Только суперпользователи и пользователи, обладающие соответствующими SET
привилегиями, могут изменять данный параметр.
Назначение данной функции заключается в обеспечении возможности загрузки библиотек отладки или
библиотек измерения производительности в конкретные сеансы
без необходимости явного выполнения
LOAD команды. Например,
параметр auto_explain может быть активирован для всех
сеансов под определенным именем пользователя путем настройки данного параметра
с ALTER ROLE SET. Кроме того, данный параметр можно изменить
без перезапуска сервера (однако изменения вступают в силу только при запуске нового
сеанса), что упрощает добавление новых модулей,
даже если они должны применяться ко всем сеансам.
В отличие от shared_preload_libraries, существенного преимущества в производительности при загрузке библиотеки в начале сеанса по сравнению с загрузкой при ее первом использовании не наблюдается. Тем не менее, определенное преимущество имеется при использовании пула соединений.
shared_preload_libraries (string)
#
Данная переменная определяет одну или несколько разделяемых библиотек для предварительной загрузки при
запуске сервера.
Он содержит список имен библиотек, разделенных запятыми, где каждое имя
интерпретируется аналогично параметрам команды LOAD команды.
Пробелы между записями игнорируются; имя библиотеки следует заключать в
двойные кавычки при необходимости включения в него пробелов или запятых.
Данный параметр может быть установлен только при запуске сервера. Если указанный
библиотека не найдена, произойдет ошибка при запуске сервера.
Некоторым библиотекам требуется выполнение определенных операций, которые могут быть выполнены только при запуске процесса postmaster, таких как выделение разделяемой памяти, резервирование легковесных блокировок (LWLock) или запуск фоновых рабочих процессов. Такие библиотеки должны загружаться при запуске сервера через этот параметр. См. подробности в документации к каждой библиотеке.
Другие библиотеки также могут быть загружены предварительно. При предварительной загрузке разделяемой библиотеки удается избежать затрат времени на ее запуск при первом использовании. Однако время запуска каждого нового серверного процесса может немного увеличиться, даже если этот процесс никогда не использует данную библиотеку. В связи с этим данный параметр рекомендуется использовать только для библиотек, которые будут применяться в большинстве сеансов. Кроме того, изменение этого параметра требует перезапуска сервера, поэтому это не лучший вариант для решения кратковременных задач по отладке, к примеру. Используйте параметр session_preload_libraries для этой цели взамен.
В операционных системах Windows предварительная загрузка библиотеки при запуске сервера не сокращает
время, необходимое для запуска каждого нового процесса сервера; каждый процесс сервера
будет повторно загружать все библиотеки предварительной загрузки. Тем не менее, shared_preload_libraries
это остается полезным в ОС Windows для библиотек, которым необходимо
выполнять операции во время запуска процесса postmaster.
jit_provider (string)
#
Данный параметр определяет имя используемой библиотеки JIT-провайдера
(см. Раздел 3.15.4.2).
Значение по умолчанию — llvmjit.
Данный параметр может быть задан только при запуске сервера.
Если в параметре указана несуществующая библиотека, JIT не будут будет доступно, однако ошибка не возникнет. Это позволяет обеспечить поддержку JIT, устанавливаемую отдельно от основного Digital Q.DataBase пакета.
dynamic_library_path (string)
#
Если необходимо открыть динамически загружаемый модуль и
имя файла, указанное в команде CREATE FUNCTION или
LOAD команды
не содержит указания каталога (т. е. если
имя не содержит косую черту), система выполнит поиск в данном
пути для нахождения требуемого файла.
Значение параметра dynamic_library_path параметр должен представлять собой
список абсолютных путей к каталогам, разделенных двоеточиями (или точкой с запятой
в ОС Windows). Если элемент списка начинается
со специальной строки $libdir
вместо неё подставляется вкомпилированный Digital Q.DataBase путь к каталогу библиотек
пакета $libdir; именно здесь
установлены модули, входящие в состав стандартного
Digital Q.DataBase дистрибутива.
(Используйте команду pg_config --pkglibdir для получения имени этого
каталога.) Например:
dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
или в среде Windows:
dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
Значение по умолчанию для данного параметра —
'$libdir'. Если в качестве значения параметра установлена пустая
строка, автоматический поиск по путям отключается.
Данный параметр может быть изменен во время выполнения суперпользователями и пользователями,
обладающими соответствующими SET привилегиями, однако
установленное таким образом значение будет сохраняться только до завершения
клиентского соединения, поэтому данный метод следует использовать только в
целях разработки. Данный параметр рекомендуется
задавать в postgresql.conf конфигурационном
файле.
gin_fuzzy_search_limit (integer)
#Мягкое верхнее ограничение размера набора данных, возвращаемого при сканировании GIN-индексов. Дополнительную информацию см. в разделе Раздел 7.14.4.5.