×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

3.4.13. Совместимость версий и платформ

3.4.13.1. Предыдущие версии PostgreSQL
3.4.13.2. Совместимость с платформами и клиентами

3.4.13.1. Предыдущие версии PostgreSQL #

array_nulls (boolean) #

Данный параметр определяет, распознает ли анализатор входных данных массива незаключенную в кавычки строку NULL как указание на пустой элемент массива (null). По умолчанию этот параметр имеет значение on, что позволяет вводить массивы, содержащие пустые значения. Однако PostgreSQL версии ранее 8.2 не поддерживали пустые значения в массивах и поэтому интерпретировали строку NULL как обычный элемент массива со значением строковое значение «NULL». Для обеспечения обратной совместимости с приложениями, требующими использования прежнего поведения, данный параметр может быть переключен off.

Обратите внимание: допускается создание массивов, содержащих значения null, даже если значение данного параметра — off.

backslash_quote (enum) #

Данный параметр определяет, может ли символ кавычки быть представлен с помощью \' в строковом литерале. Предпочтительным способом, согласно стандарту SQL, представления символа кавычки является его удвоение ('') однако PostgreSQL исторически также поддерживалось использование \'. Тем не менее, применение \' создает угрозы безопасности поскольку в некоторых клиентских кодировках присутствуют многобайтовые символы, последний байт которых численно эквивалентен коду ASCII \. Если экранирование в клиентском коде выполняется некорректно, то Возможна атака типа «SQL-инъекция». Данный риск можно предотвратить путем настройки сервера на отклонение запросов, в которых символ кавычки оказывается экранированным обратной косой чертой. Допустимыми значениями параметра backslash_quote являются on (разрешать \' всегда), off (всегда отклонять) и safe_encoding (разрешать только в том случае, если кодировка клиента не допускает наличие символов ASCII \ внутри многобайтового символа). safe_encoding является значением по умолчанию.

Обратите внимание, что в строковом литерале, соответствующем стандарту, \ просто означает \ в любом случае. Данный параметр влияет только на обработку литералов, не соответствующих стандарту, включая синтаксис строк с escape-последовательностями (E'...').

escape_string_warning (boolean) #

Если этот параметр включен, выводится предупреждение, если обратная косая черта (\) встречается в обычном строковом литерале (синтаксис'...' ) и параметр standard_conforming_strings выключен. Значение по умолчанию — on.

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

lo_compat_privileges (boolean) #

На PostgreSQL В выпусках до версии 9.0 большие объекты не имели привилегий доступа и, следовательно, всегда были доступны для чтения и записи всеми пользователями. Установка этого параметра в значение on отключает новые проверки привилегий для обеспечения совместимости с предыдущими выпусками. Значение по умолчанию — off. Только суперпользователи и пользователи, обладающие соответствующими SET привилегиями, могут изменять данный параметр.

Установка этого параметра не отключает все проверки безопасности, связанные с большими объектами — только те параметры, для которых поведение по умолчанию было изменено в PostgreSQL 9.0.

quote_all_identifiers (boolean) #

При генерации SQL базой данных принудительно заключать все идентификаторы в кавычки, даже если в настоящий момент они не являются ключевыми словами. Это повлияет на вывод команды EXPLAIN а также на результаты выполнения функций таких как pg_get_viewdef. См. также описание параметра --quote-all-identifiers в утилите pg_dump и pg_dumpall.

standard_conforming_strings (boolean) #

Данный параметр определяет, будут ли обычные строковые литералы ('...') воспринимать обратную косую черту буквально, как того требует стандарт SQL. Начиная с версии PostgreSQL 9.1, значением по умолчанию является on (в предыдущих выпусках по умолчанию использовалось значение off). Приложения могут проверять значение данного параметра параметр для определения способа обработки строковых литералов. Наличие данного параметра также может служить признаком того, что синтаксис строк с escape-последовательностями (E'...') поддерживается. Синтаксис строк с escape-последовательностями (Раздел 2.1.1.2.2) следует использовать, если приложению требуется, чтобы символы обратной косой черты интерпретировались как escape-символы.

synchronize_seqscans (boolean) #

Это позволяет синхронизировать последовательные сканирования больших таблиц друг с другом, чтобы параллельные сканирования считывали один и тот же блок примерно в одно и то же время, разделяя нагрузку на ввод-вывод. При включении данного параметра сканирование может начаться в середине таблицы, а затем «перейти к началу» после достижения конца, чтобы охватить все строки и синхронизироваться с уже выполняющимися операциями сканирования. Это может привести к непредсказуемым изменениям в порядке строк, возвращаемых запросами, в которых отсутствует конструкция ORDER BY clause. Установка данного параметра в значение off обеспечивает поведение, характерное для версий до 8.3, при котором последовательное сканирование всегда начинается с начала таблицы. Значение по умолчанию не является on.

3.4.13.2. Совместимость с платформами и клиентами #

transform_null_equals (boolean) #

При включении данного параметра выражения вида expr = NULL (или NULL = expr) обрабатываются как expr IS NULL, то есть они возвращают значение true, если выражение expr принимает значение null, и значение false в противном случае. Корректное, соответствующее стандарту SQL поведение для expr = NULL заключается в том, чтобы всегда возвращают значение null (неизвестно). Поэтому по умолчанию для данного параметра установлено значение off.

Однако отфильтрованные формы в Microsoft Access генерируют запросы, в которых, по всей видимости, используется expr = NULL для проверки на наличие значений null, поэтому при использовании данного интерфейса для доступа к базе данных вам может потребоваться включить этот параметр. Поскольку выражения вида expr = NULL всегда возвращают значение null (согласно стандартной интерпретации SQL), они не являются особо полезными и редко встречаются в обычных приложениях, поэтому использование данного параметра практически не наносит вреда. Однако новые пользователи часто испытывают затруднения с пониманием семантики выражений, содержащих значения null, поэтому по умолчанию данный параметр выключен.

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

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

allow_alter_system (boolean) #

В случае когда allow_alter_system установлено в значение off, при выполнении команды возвращается ошибка ALTER SYSTEM выполняется данная команда. Данный параметр может быть задан только в конфигурационном postgresql.conf файле или в командной строка. Значение по умолчанию — on.

Следует учитывать, что данный параметр не должен рассматриваться как функция обеспечения безопасности. Он лишь отключает команду ALTER SYSTEM команду. Он не препятствует изменению конфигурации суперпользователем с помощью других SQL-команд команд. Суперпользователь имеет множество способов выполнения команд командной оболочки на уровне операционной системы и, следовательно, может вносить изменения postgresql.auto.conf вне зависимости от значения параметра данный параметр.

Отключение данного параметра предназначено для сред, в которых конфигурация PostgreSQL управляется каким-либо внешним инструментом. В подобных средах суперпользователь, действуя из благих побуждений, может ошибочно использовать ALTER SYSTEM для изменения конфигурации вместо применения внешнего инструментария. Это может привести к непредвиденному поведению, например к тому, что внешний инструмент перезапишет изменения в дальнейшем при обновлении конфигурации. Установка данного параметра в значение off может способствовать предотвращению подобных ошибок.

Данный параметр управляет только использованием функции ALTER SYSTEM. Настройки, сохраненные в файле postgresql.auto.conf вступают в силу, даже если allow_alter_system установлено в значение off.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению