Параметры подключения клиента

В этом разделе описываются параметры конфигурации категории Параметры подключения клиента.

Примечание!
Ручное изменение этих параметров следует выполнять с осторожностью, чтобы обеспечить стабильность и безопасность системы.


Поведение операторов

bytea_output


Задает формат вывода значений типа bytea.

  • Поддерживаемые значения: hex (по умолчанию) и escape (традиционный формат PostgreSQL).
Тип данных Значение по умолчанию Возможные значения Категория
enum hex hex / escape segments; session; reload

check_function_bodies


Управляет проверкой тела функции на синтаксис и ссылки на объекты при создании с помощью оператора CREATE FUNCTION.

  • Эта опция включена по умолчанию.
  • При отключении тело функции не проверяется при создании, что может помочь избежать ошибок, вызванных ссылками на объекты, еще не созданные. Однако синтаксические ошибки в теле функции будут обнаружены только при вызове функции.
Тип данных Значение по умолчанию Категория
boolean on master; session; reload

client_min_messages


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

  • Примечание: Значение уровня log здесь отличается от его значения в параметре log_min_messages.
Тип данных Значение по умолчанию Возможные значения Категория
enum notice debug5 / debug4 / debug3 / debug2 / debug1 / log / notice / warning / error
Каждый уровень включает все последующие уровни.
Более высокие уровни приводят к отправке меньшего количества сообщений.
master; session; reload

default_tablespace


Задает таблицу по умолчанию для создания таблиц и индексов, если в команде CREATE явно не указано иное.

  • Также определяет таблицу, используемую для будущих партиций партиционированных таблиц.
  • Если значение пусто, в качестве таблицы по умолчанию используется текущая база данных. Если значение совпадает с именем существующей таблицы, и пользователь имеет привилегию CREATE, настройка применяется; иначе используется текущая база данных.
  • Эта переменная не применяется к временным таблицам; используйте вместо неё temp_tablespaces.
  • Эта настройка также используется при создании новой базы данных. По умолчанию новая база данных наследует настройку таблицы из шаблонной базы данных.
  • Дополнительную информацию о таблицах пространств хранения см. в разделе CREATE TABLESPACE.
Тип данных Значение по умолчанию Категория
string master; session; reload

default_transaction_read_only


Определяет, является ли каждая новая транзакция только для чтения.

  • SQL-транзакции только для чтения не могут изменять нетемпоральные таблицы.
  • По умолчанию: off, разрешающая как чтение, так и запись.
Тип данных Значение по умолчанию Категория
boolean off master; session; reload

gin_fuzzy_search_limit


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

Тип данных Значение по умолчанию Возможные значения Категория
int 0 0 ~ INT_MAX master; session; reload

gin_pending_list_limit


Задает максимальный размер списка ожидания для индексов GIN при включении fastupdate.

  • Если список превышает этот размер, записи пакетно перемещаются в основную структуру GIN.
  • Эта настройка может быть переопределена для каждого индекса через параметры хранения.
Тип данных Значение по умолчанию Возможные значения Категория
int 4096 64 ~ (INT_MAX/1024) master; session; reload

gp_vmem_idle_resource_timeout


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

  • Позволяет поддерживать большее количество одновременных соединений.
  • Значение 0 отключает эту функцию.
Тип данных Значение по умолчанию Возможные значения Категория
int 18000 0 ~ INT_MAX master; system; reload

idle_in_transaction_session_timeout


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

  • Освобождает удерживаемые блокировки, высвобождает слоты соединений и позволяет очистить кортежи, видимые только для транзакции.
  • Значение по умолчанию: 0, отключающее таймаут.
Тип данных Значение по умолчанию Возможные значения Категория
int 0 0 ~ INT_MAX master; session; reload

lc_collate


Возвращает настройку локали, используемую для сортировки текстовых данных.

  • Определяется при инициализации кластера базы данных YMatrix.
Значение по умолчанию Возможные значения Категория
system-dependent read only

lc_ctype


Возвращает настройку локали, используемую для классификации символов.

  • Определяется при инициализации кластера базы данных YMatrix.
Значение по умолчанию Возможные значения Категория
system-dependent read only

lock_timeout


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

  • Применяется независимо к каждой попытке получения блокировки.
  • Применяется как к явным (например, LOCK TABLE, SELECT FOR UPDATE без NOWAIT), так и к неявным блокировкам.
  • В отличие от statement_timeout, этот таймаут применяется только во время ожидания блокировки.
  • Примечание: Если statement_timeout не равен нулю, установка lock_timeout в то же или большее значение неэффективна, так как таймаут транзакции сработает раньше.
  • Операторы, превысившие таймаут, регистрируются, если log_min_error_statement установлен в error или ниже.
  • Установка lock_timeout в postgresql.conf не рекомендуется, так как она влияет на все сессии.
  • Значение по умолчанию: 0, отключающее таймаут.
Тип данных Значение по умолчанию Возможные значения Категория
int 0 0 ~ INT_MAX master; session; reload

row_security


Управляет применением политик безопасности на уровне строк или вызовом ошибки.

  • При значении on политики применяются нормально.
  • При значении off любой запрос, затронутый политикой, завершается ошибкой.
  • Устанавливается в off, если ограниченная видимость строк может привести к некорректным результатам. pg_dump по умолчанию делает это изменение.
  • Эта настройка не влияет на роли, которые обходят безопасность на уровне строк (суперпользователи и роли с атрибутом BYPASSRLS).
  • Дополнительную информацию см. в разделе CREATE POLICY.
Тип данных Значение по умолчанию Категория
boolean on master; system; restart

search_path


Задает порядок поиска схем при ссылке на объект (таблицу, тип, функцию и т.д.) по неполному имени.

  • При наличии нескольких схем с объектами одинакового имени используется первый совпадающий объект в пути.
  • Объекты, не находящиеся ни в одной из схем в пути, должны ссылаться с квалифицированным именем (schema.object).
  • search_path должен быть списком имен схем, разделенных запятыми. Любая несуществующая схема или схема без привилегии USAGE игнорируется без сообщения об ошибке.
  • Специальное имя $user заменяется именем схемы, заданным в CURRENT_USER. Эта схема включается только если у пользователя есть привилегия USAGE на неё; иначе $user игнорируется.
  • Системная схема каталога pg_catalog всегда ищется. Если она указана в пути, она ищется в порядке; иначе она ищется перед любыми другими схемами.
  • Временная схема сессии pg_temp_nnn также всегда ищется (если существует). Её можно явно указать с помощью псевдонима pg_temp. Если она не указана, она ищется первой (даже до pg_catalog). Однако временная схема используется только для отношений (таблиц, представлений, последовательностей) и типов данных, никогда для функций или операторов.
  • Новые объекты без явного указания целевой схемы помещаются в первую допустимую схему в search_path.
  • Ошибка возникает, если путь поиска пуст.
  • Значение по умолчанию: "$user", public. Это поддерживает базы данных, где пользователи либо разделяют схему public, либо имеют частные схемы, либо сочетание обоих.
  • Это значение по умолчанию подходит только для баз данных с одним пользователем или несколькими доверенными пользователями.
  • Эффективный путь поиска можно проверить с помощью SQL-функции current_schemas. Это отличается от проверки search_path, так как current_schemas показывает, как разрешаются элементы в search_path.
Тип данных Значение по умолчанию Возможные значения Категория
string "$user", public список имен схем, разделенных запятыми master; session; reload

session_replication_role


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

  • Требует привилегий суперпользователя и приводит к сбросу ранее закэшированных планов запросов.
  • Предназначен для систем логической репликации: установка в ENABLE TRIGGER при применении реплицированных изменений, чтобы триггеры и правила (если не изменены) не срабатывали на репликах. См. пункты ENABLE RULE и origin в ALTER TABLE.
  • YMatrix обрабатывает local и local одинаково. Сторонние системы репликации могут использовать эти значения внутренне, например, replica для маркировки сессий, изменения которых не должны реплицироваться.
  • Внешние ключи реализованы как триггеры; установка в log_min_error_statement отключает проверку внешних ключей. Неправильное использование может привести к несогласованности данных.
Тип данных Значение по умолчанию Возможные значения Категория
enum origin origin / replica / local segments; session; reload; superuser

statement_timeout


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

  • Операторы, превысившие таймаут, регистрируются, если error установлен в postgresql.conf или ниже.
  • Таймаут начинается, когда команда достигает сервера, и завершается при завершении обработки. В расширенном протоколе запросов таймаут начинается при любом сообщении, связанном с запросом (parse, bind, execute, describe), и завершается при sync или завершении.
  • Не рекомендуется устанавливать в 0, так как это влияет на все сессии.
  • Значение по умолчанию: CREATE, отключающее таймаут.
Тип данных Значение по умолчанию Возможные значения Категория
int 0 0 ~ INT_MAX master; session; reload

temp_tablespaces


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

  • Эти таблицы могут также использоваться для хранения временных файлов при больших сортировках.
  • Значение — список имен таблиц, разделенных запятыми. YMatrix выбирает одну случайным образом при создании временных объектов.
  • В пределах транзакции последовательные временные объекты размещаются в последовательных таблицах из списка.
  • Если выбранный элемент — пустая строка, YMatrix использует таблицу по умолчанию текущей базы данных.
  • Не рекомендуется указывать несуществующие таблицы или таблицы без привилегии CREATE. Пользователи, не являющиеся суперпользователями, должны иметь привилегию CREATE на временную таблицу, которую предоставляет суперпользователь.
  • Несуществующие или недоступные таблицы игнорируются при использовании сохраненных значений (например, из postgresql.conf).
  • По умолчанию — пустая строка, что помещает все временные объекты в таблицу по умолчанию текущей базы данных.
Тип данных Значение по умолчанию Возможные значения Категория
string одно или несколько имен таблиц пространства хранения master; session; reload

vacuum_cleanup_index_scale_factor


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

  • В настоящее время применяется только к индексам B-tree.
  • Если из кучи не удалено ни одного кортежа, сканирование индекса B-tree все равно происходит во время очистки VACUUM, если: статистика индекса устарела или индекс содержит удаляемые страницы.
  • Статистика индекса считается устаревшей, если количество недавно вставленных кортежей превышает vacuum_cleanup_index_scale_factor от общего числа кортежей кучи на момент последнего сбора статистики.
  • Общее количество кортежей кучи хранится в метастранице индекса. Примечание: Эти данные отсутствуют, пока VACUUM не обнаружит отсутствие мертвых кортежей. Таким образом, пропуск сканирования индекса во время очистки возможен только со второго цикла VACUUM и далее, если мертвых кортежей не обнаружено.
  • При установке vacuum_cleanup_index_scale_factor в 0 сканирование индекса никогда не пропускается во время очистки VACUUM.
Тип данных Значение по умолчанию Возможные значения Категория
floating point 0.1 0 ~ 10000000000 segments; session; reload

vacuum_freeze_min_age


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

Тип данных Значение по умолчанию Возможные значения Категория
int 50000000 0 ~ 100000000000 segments; system; restart

vacuum_freeze_table_age


Когда поле pg_class.relfrozenxid таблицы достигает этого возраста, VACUUM выполняет агрессивное сканирование.

  • Агрессивное сканирование отличается от обычного VACUUM тем, что посещает каждую страницу, которая может содержать незамороженные XID или MXID, а не только страницы с мертвыми кортежами.
  • Ручной VACUUM можно запускать периодически до срабатывания автоматического автовакуума против переполнения.
Тип данных Значение по умолчанию Возможные значения Категория
int 150000000 0 ~ 200000000 segments; session; reload

vacuum_multixact_freeze_min_age


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

  • Не допускается слишком частое выполнение принудительных автовакуумов.
Тип данных Значение по умолчанию Возможные значения Категория
int 5000000 0 ~ 100000000 segments; session; reload

vacuum_multixact_freeze_table_age


Если поле pg_class.relminmxid таблицы превышает этот возраст, VACUUM выполняет агрессивное сканирование.

  • Агрессивное сканирование посещает каждую страницу, которая может содержать незамороженные XID или MXID, в отличие от обычного VACUUM, который сканирует только страницы с мертвыми кортежами.
  • Ручной VACUUM можно запускать периодически до срабатывания автоматического автовакуума против переполнения.
Тип данных Значение по умолчанию Возможные значения Категория
int 150000000 0 ~ 200000000 segments; session; reload


Локаль и форматирование

client_encoding


Устанавливает кодировку клиента (набор символов).

  • По умолчанию используется кодировка базы данных.
Тип данных Значение по умолчанию Возможные значения Категория
string SQL_ASCII Поддерживаемые наборы символов master; session; reload

datestyle


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

  • По историческим причинам эта переменная состоит из двух частей: формат вывода (ISO, Postgres, SQL или German) и порядок следования года/месяца/дня при вводе/выводе (DMY, MDY или YMD). Эти части могут задаваться независимо или вместе. Ключевые слова Euro и European являются синонимами для DMY; US, NonEuro и NonEuropean — синонимы для MDY.
  • Значение по умолчанию — ISO, MDY, но initdb инициализирует настройку на основе выбранного поведения локали lc_time.
Тип данных Значение по умолчанию Возможные значения Категория
string iso, mdy <формат вывода>,<порядок года/месяца/дня> master; system; restart

default_text_search_config


Выбирает конфигурацию текстового поиска, используемую функциями текстового поиска, если она явно не указана.

  • По умолчанию — pg_catalog.simple, но initdb инициализирует её на основе выбранной локали lc_ctype, если существует соответствующая конфигурация.
Тип данных Значение по умолчанию Возможные значения Категория
string pg_catalog.english имя конфигурации текстового поиска master; session; reload

extra_float_digits


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

  • При значении 1 (по умолчанию) или выше числа с плавающей запятой выводятся в формате кратчайшей точности. Фактическое количество цифр зависит от значения, а не от параметра.
  • Значения float8 требуют до 17 цифр; float4 — до 9.
  • Этот формат быстрый и точный, обеспечивая точное восстановление исходного двоичного представления при парсинге.
  • Для обратной совместимости допускаются значения до 3.
  • При значении 0 или отрицательном значении вывод округляется до заданной десятичной точности.
Тип данных Значение по умолчанию Возможные значения Категория
int 1 -15 ~ 3 master; session; reload

intervalstyle


Устанавливает формат отображения значений интервала.

  • sql_standard создаёт вывод, совместимый с литералами интервалов стандарта SQL.
  • iso_8601 создаёт вывод, соответствующий формату продолжительности ISO 8601 duration format.
  • intervalstyle может также влиять на интерпретацию неоднозначных входных данных интервала.
Тип данных Значение по умолчанию Возможные значения Категория
enum postgres sql_standard / postgres / iso_8601 / postgres_verbose master; session; reload

lc_messages


Устанавливает язык отображения сообщений.

  • Доступные локали зависят от операционной системы — то есть те, которые перечислены в locale -a.
  • Если пусто (по умолчанию), значение наследуется от среды сервера способом, зависящим от системы.
  • На некоторых системах эта категория локали не существует. Переменную можно задать, но она не будет иметь эффекта. Переводы также могут отсутствовать, в результате чего сообщения будут на английском языке.
  • Изменять эту настройку могут только суперпользователи, так как она влияет как на журналы сервера, так и на сообщения клиентов. Некорректные значения могут снизить читаемость журналов.
Тип данных Значение по умолчанию Возможные значения Категория
string локали, перечисленные в locale -a segments; system; restart; superuser

lc_monetary


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

  • Доступные локали зависят от ОС — то есть те, которые перечислены в locale -a.
  • Значение по умолчанию наследуется от среды сервера.
Тип данных Значение по умолчанию Возможные значения Категория
string локали, перечисленные в locale -a segments; system; restart

lc_numeric


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

  • Доступные локали зависят от ОС — то есть те, которые перечислены в locale -a.
  • Значение по умолчанию наследуется от среды сервера.
Тип данных Значение по умолчанию Возможные значения Категория
string локали, перечисленные в locale -a segments; system; restart

lc_time


Устанавливает локаль для форматирования дат и времени, например, с помощью функций to_char.

  • Доступные локали зависят от ОС — то есть те, которые перечислены в locale -a.
  • Значение по умолчанию наследуется от среды сервера.
Тип данных Значение по умолчанию Возможные значения Категория
string локали, перечисленные в locale -a segments; system; restart

timezone


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

  • По умолчанию используется часовой пояс из системной среды. Подробности см. в разделе Time Zones.
Тип данных Значение по умолчанию Возможные значения Категория
string GMT аббревиатуры часовых поясов segments; restart

timezone_abbreviations


Устанавливает набор аббревиатур часовых поясов, принимаемых при вводе даты и времени.

  • Варианты — имена конфигурационных файлов, хранящихся в $GPHOME/share/postgresql/timezonesets/. Вы можете создавать пользовательские файлы в этой директории. Пример: чтобы использовать файл custom, содержащий стандартные зоны плюс WIB (Waktu Indonesia Barat):
    1. Скопируйте Default из $GPHOME/share/postgresql/timezonesets/ в custom. Добавьте информацию о часовом поясе WIB в custom.
    2. Скопируйте custom в директорию $GPHOME/share/postgresql/timezonesets/ на хостах MXMaster и MXSegment.
    3. Установите параметр сервера timezone_abbreviations в значение custom.
    4. Перезагрузите конфигурацию сервера (mxstop -u).
Тип данных Значение по умолчанию Возможные значения Категория
enum Default Default / Australia / India / master; session; reload


Предварительная загрузка общих библиотек

Несколько параметров позволяют предварительно загружать общие библиотеки в сервер для добавления функциональности или повышения производительности. Например, параметр $libdir/mylib может вызвать предварительную загрузку mylib.so (или mylib.sl на некоторых платформах) из стандартной директории библиотек. Эти параметры различаются по моменту применения и требуемым привилегиям.

Библиотеки процедурных языков YMatrix могут быть предварительно загружены с использованием синтаксиса $libdir/plXXX, где XXX — это pgsql, perl, tcl или python.

Таким способом можно загружать только библиотеки, специально разработанные для YMatrix. Каждая поддерживаемая библиотека содержит «магический блок» для проверки совместимости. Поэтому библиотеки, не предназначенные для YMatrix, не могут быть загружены этим способом. Их можно загружать с помощью инструментов ОС, таких как LD_PRELOAD.

См. документацию конкретного модуля для рекомендуемых методов загрузки.

jit_provider


Задаёт имя библиотеки поставщика JIT для использования.

  • Может быть задан только при запуске сервера.
  • Если указано несуществующее имя библиотеки, JIT будет недоступен, но ошибка не возникнет.
  • Позволяет установить поддержку JIT отдельно от основного пакета YMatrix.
Тип данных Значение по умолчанию Категория
string llvmjit segments; session; restart; superuser

local_preload_libraries


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

  • Содержит список имён библиотек, разделённых запятыми, где каждое имя разрешается так же, как в команде LOAD. Пробелы между элементами игнорируются. Чтобы включить пробелы или запятые в имя библиотеки, заключите имя в двойные кавычки.
  • Этот параметр действует только в начале соединения. Последующие изменения не имеют эффекта. Если указанная библиотека не найдена, попытка соединения завершится ошибкой.
  • Любой пользователь может задавать этот параметр. Из-за этого список библиотек, которые можно загружать таким способом, строго ограничен библиотеками, расположенными в поддиректории plugins стандартной директории библиотек (ответственность за установку только «безопасных» библиотек здесь лежит на администраторе базы данных).
  • Элементы в local_preload_libraries могут явно указывать полный путь к директории, например $libdir/plugins/mylib, или только имя библиотеки — mylib и $libdir/plugins/mylib имеют одинаковый эффект.
  • Цель этой функции — позволить пользователям без привилегий загружать библиотеки для отладки или измерения производительности в конкретных сессиях без явного использования команды LOAD. Обычно этот параметр задаётся через переменную окружения PGOPTIONS клиента или ALTER ROLE SET.
  • Однако, если модуль не предназначен специально для использования этим способом непривилегированными пользователями, использование этого параметра не рекомендуется. Вместо этого рекомендуется использовать session_preload_libraries.
Тип данных Значение по умолчанию Категория настройки
string segments; system; restart

session_preload_libraries


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

  • Содержит список имён библиотек, разделённых запятыми, где каждое имя разрешается так же, как в команде LOAD. Пробелы между элементами игнорируются. Чтобы включить пробелы или запятые в имя библиотеки, заключите имя в двойные кавычки.
  • Этот параметр действует только в начале соединения. Последующие изменения не имеют эффекта. Если указанная библиотека не найдена, попытка соединения завершится ошибкой.
  • Цель этой функции — позволить непривилегированным пользователям загружать библиотеки для отладки или измерения производительности в конкретных сессиях без явного использования команды LOAD. Например, установка этого параметра через ALTER ROLE SET включает auto_explain для всех сессий под заданным именем пользователя.
  • Этот параметр можно изменить без перезапуска сервера (хотя изменения применяются только к новым сессиям). Это упрощает добавление новых модулей, даже если они должны применяться ко всем сессиям.
  • В отличие от shared_preload_libraries, предварительная загрузка библиотеки при запуске сессии не даёт преимущества по производительности по сравнению с загрузкой при первом использовании. Однако этот параметр полезен при использовании пула соединений.
Тип данных Значение по умолчанию Категория настройки
string segments; session; reload; superuser

shared_preload_libraries


  • Содержит список имён библиотек, разделённых запятыми, где каждое имя разрешается так же, как в команде LOAD. Пробелы между элементами игнорируются. Чтобы включить пробелы или запятые в имя библиотеки, заключите имя в двойные кавычки.
  • Этот параметр может быть задан только при запуске сервера. Если указанная библиотека не найдена, сервер не сможет запуститься.
  • Некоторые библиотеки требуют операций, которые могут выполняться только во время postmaster запуска, например выделение общей памяти, резервирование лёгких блокировок или запуск фоновых процессов. Такие библиотеки должны загружаться при запуске сервера через этот параметр.
  • Другие библиотеки также могут быть предварительно загружены. Предварительная загрузка общей библиотеки избегает накладных расходов на инициализацию при первом использовании. Однако каждый новый процесс сервера будет иметь небольшую стоимость запуска, даже если он никогда не использует библиотеку. Поэтому рекомендуется использовать этот параметр только для библиотек, используемых в большинстве сессий.
  • Изменение этого параметра требует перезапуска сервера. Следовательно, он не подходит для краткосрочных задач отладки; используйте вместо него session_preload_libraries.
  • Примечание: На хостах Windows предварительная загрузка библиотеки при запуске сервера не снижает время, необходимое для запуска каждого нового процесса сервера — каждый процесс будет перезагружать предварительно загруженные библиотеки. Однако shared_preload_libraries остаётся полезным на Windows для библиотек, которые должны выполнять действия при запуске postmaster.
Тип данных Значение по умолчанию Категория настройки
string segments; system; restart


Другие параметры по умолчанию

dynamic_library_path


При загрузке динамически загружаемых модулей, если имя файла, указанное в команде CREATE FUNCTION или LOAD, не содержит компонента директории (то есть имя не содержит "/"), система ищет требуемый файл в этом пути.

  • Значение dynamic_library_path должно быть списком абсолютных путей к директориям, разделённых двоеточиями (или точкой с запятой на Windows). Если элемент списка начинается со специальной строки $libdir, она заменяется на встроенную директорию библиотек установки PostgreSQL. Именно туда устанавливаются модули, предоставляемые дистрибутивом PostgreSQL (название этой директории можно найти с помощью 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. Если установлено в пустую строку, автоматический поиск пути отключается.
  • Этот параметр может быть изменён во время работы суперпользователем, но такие изменения действуют только до завершения соединения клиента. Поэтому этот метод следует использовать только для целей разработки.
  • Рекомендуется задавать этот параметр в конфигурационном файле postgresql.conf.
Тип данных Значение по умолчанию Допустимые значения Категория настройки
string $libdir Список абсолютных путей к директориям, разделённых двоеточиями segments; system; restart