Главная страница
Навигация по странице:

  • make make install

  • make check

  • лекция. Коды ошибок Postgresql


    Скачать 223.85 Kb.
    НазваниеКоды ошибок Postgresql
    Анкорлекция
    Дата09.01.2023
    Размер223.85 Kb.
    Формат файлаdocx
    Имя файлаLektsia_Prilozhenia_PostgreSQL.docx
    ТипДокументы
    #878367
    страница16 из 30
    1   ...   12   13   14   15   16   17   18   19   ...   30

    Соответствие стандарту SQL.


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

    Формально стандарт SQL называется ISO/IEC 9075 «Язык баз данных SQL». Время от времени выпускается обновлённая версия стандарта; последняя версия стандарта вышла в 2011 г. Эта версия получила обозначение ISO/IEC 9075:2011, или просто SQL:2011. До этого были выпущены версии SQL:2008, SQL:2003, SQL:1999 и SQL-92. Каждая следующая версия заменяет предыдущую, так что утверждение о совместимости с предыдущими версиями не имеет большой ценности. Разработчики PostgreSQL стремятся обеспечить совместимость с последней официальной версией стандарта, оставаясь при этом в рамках традиционной функциональности и здравого смысла. PostgreSQL реализует большую часть требуемой стандартом функциональности, хотя иногда с немного другими функциями или синтаксисом. Можно ожидать, что со временем степень совместимости будет

    Описание стандарта, начиная с версии SQL:2003, разделяется на несколько частей. Каждая такая часть имеет короткое имя и номер. Заметьте, что нумерация этих частей непоследовательная.

    ISO/IEC 9075-1 Структура (SQL/Framework)

    ISO/IEC 9075-2 Основа (SQL/Foundation)

    ISO/IEC 9075-3 Интерфейс уровня вызовов (SQL/CLI)

    ISO/IEC 9075-4 Модули постоянного хранения (SQL/PSM)

    ISO/IEC 9075-9 Управление внешними данными (SQL/MED)

    ISO/IEC 9075-10 Привязки объектных языков (SQL/OLB)

    ISO/IEC 9075-11 Схемы информации и определений (SQL/Schemata)

    ISO/IEC 9075-13 Программы и типы, использующие язык Java (SQL/JRT)

    ISO/IEC 9075-14 Спецификации, связанные с XML (SQL/XML)

    Ядро PostgreSQL реализует части 1, 2, 9, 11 и 14. Часть 3 реализуется драйвером ODBC, а часть 13 — подключаемым расширением PL/Java, но точное соответствие этих компонентов стандарту на данный момент не проверено. Части 4 и 10 в PostgreSQL в настоящее время не реализованы.

    PostgreSQL поддерживает почти все основные возможности стандарта SQL:2011. Из 179 обязательных возможностей, которые требуются для полного соответствия «Основной»функциональности, PostgreSQL обеспечивает совместимость как минимум для 160. Кроме того, он реализует длинный список необязательных возможностей. Следует отметить, что на время написания этой документации ни одна существующая СУБД не заявила о полном соответствии «Основной» функциональности SQL:2011.

    В следующих двух разделах мы представляем список возможностей, которые поддерживает PostgreSQL, и список возможностей, определённых в SQL:2011, которые ещё не поддерживаются в PostgreSQL. Оба эти списка носят приблизительный характер: какая-то возможность, отмеченная как поддерживаемая, может отличаться от стандарта в деталях, и напротив, для какой-то неподдерживаемой возможности могут быть реализованы ключевые компоненты. Наиболее точная информация о том, что работает, а что нет, содержится в основной документации.

    Замечания к выпуску.


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

    Полный список изменений каждого выпуска можно получить, просмотрев журналы Git для этого выпуска. Также все изменения в исходном коде отражаются в списке рассылки pgsql-committers. Кроме того, имеется веб-интерфейс, в котором можно просмотреть изменения в разрезе файлов.

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

     Дополнительно поставляемые модули.


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

    В этом пункте описываются расширения и другие подключаемые серверные модули, включённые в contrib.

    При сборке сервера из дистрибутивного исходного кода эти компоненты собираются, только если выбрана цель "world". Вы можете собрать и установить их отдельно, выполнив:

    make

    make install

    в каталоге contrib в настроенном дереве исходного кода; либо собрать и установить только один выбранный модуль, проделав то же самое в его подкаталоге. Для многих модулей имеются регрессионные тесты, которые можно выполнить, запустив:

    make check

    перед установкой или

    make installcheck

    , когда сервер PostgreSQL будет работать.

    Если вы используете готовую собранную версию PostgreSQL, эти модули обычно поставляются в виде отдельного подпакета, например postgresql-contrib.

    Многие модули предоставляют дополнительные пользовательские функции, операторы и типы. Чтобы использовать один из таких модулей, когда его исполняемый код установлен, вы должны зарегистрировать новые объекты SQL в СУБД. В PostgreSQL версии 9.1 и новее для этого нужно воспользоваться командой CREATE EXTENSION. В чистой базе данных вы можете просто выполнить:

    CREATE EXTENSION имя_модуля;

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

    Многие модули позволяют устанавливать свои объекты в схему по выбору. Для этого нужно добавить SCHEMA имя_схемы в команду CREATE EXTENSION. По умолчанию объекты устанавливаются в текущую схему для создаваемых объектов, которой по умолчанию становится public.

    Если ваша база данных была получена в результате выгрузки/перезагрузки данных PostgreSQL версии до 9.1, и вы ранее использовали версию этого модуля, рассчитанную на версию до 9.1, вместо этого вы должны выполнить:

    CREATE EXTENSION имя_модуля FROM unpackaged;

    Список расширений:adminpack, amcheck, auth_delay, auto_explain, bloom, btree_gin, btree_gist, chkpass, citext, cube, dblink, dict_int, dict_xsyn, earthdistance, file_fdw, fuzzystrmatch, hstore, intagg, intarray, isn, lo, ltree, pageinspect, passwordcheck, pg_buffercache, pgcrypto, pg_freespacemap, pg_prewarm, pgrowlocks, pg_stat_statements, pgstattuple, pg_trgm, pg_visibility, postgres_fdw, seg, sepgsql, spi, sslinfo, tablefunc, tcn, test_decoding, tsm_system_rows, tsm_system_time, unaccent, uuid-ossp, xml2.
    1   ...   12   13   14   15   16   17   18   19   ...   30


    написать администратору сайта