Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Azure Cosmos DB для PostgreSQL находится на пути выхода на пенсию и больше не рекомендуется для новых проектов. Вместо этого используйте одну из этих двух служб:
Для рабочих нагрузок PostgreSQL используйте функцию эластичных кластеров Базы данных Azure для PostgreSQL для использования функций горизонтального масштабирования и распределенных функций PostgreSQL, содержащихся в расширении Citus с открытым исходным кодом. Для получения руководства по миграции см. руководство по миграции на базу данных Azure для PostgreSQL с Elastic Cluster.
Для рабочих нагрузок NoSQL используйте Azure Cosmos DB для NoSQL в качестве решения распределенной базы данных, обеспечивающего соглашение об уровне обслуживания (SLA) с доступностью 99,999%, мгновенное автомасштабирование и автоматическую отработку отказов в нескольких регионах.
PostgreSQL расширяет функциональные возможности базы данных с помощью расширений. Расширения позволяют объединить несколько связанных объектов SQL в одном пакете, который затем можно загрузить или удалить из базы данных с помощью одной команды. После загрузки в базу данных расширения могут действовать как встроенные функции. Дополнительные сведения о расширениях PostgreSQL см. на странице Упаковка связанных объектов в расширение.
Использование расширений PostgreSQL
Чтобы использовать расширения PostgreSQL, их необходимо сначала установить в базу данных. Чтобы установить определенное расширение, выполните команду CREATE EXTENSION, используя инструмент psql. При этом упакованные объекты будут загружены в базу данных.
Замечание
Если CREATE EXTENSION завершает работу ошибкой из-за отсутствия разрешения, попробуйте вместо этого выполнить функцию create_extension(). Например:
SELECT create_extension('postgis');
Чтобы удалить расширение, установленное таким образом, используйте drop_extension().
Azure Cosmos DB для PostgreSQL в настоящее время поддерживает подмножество расширений ключей, как описано здесь. Другие расширения не поддерживаются. Вы не можете создать собственное расширение с помощью Azure Cosmos DB для PostgreSQL.
Расширения, поддерживаемые Azure Cosmos DB для PostgreSQL
В следующих таблицах перечислены стандартные расширения PostgreSQL, поддерживаемые в Azure Cosmos DB для PostgreSQL. Эти сведения также можно получить, выполнив SELECT * FROM pg_available_extensions;.
Версии каждого расширения, установленного в кластере, иногда отличаются в зависимости от версии PostgreSQL (11, 12, 13, 14, 15 или 16). В таблицах перечислены версии расширений для каждой версии базы данных.
Расширение Citus
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| citus | Распределенная база данных Citus. | 9,5 | 10,2 | 11.3 | 12,1 | 12,1 | 12,1 |
Расширения типов данных
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| citext | Предоставляет тип символьной строки без учета регистра. | 1.5 | 1.6 | 1.6 | 1.6 | 1.6 | 1.6 |
| куб | Предоставляет тип данных для многомерных кубов. | 1.4 | 1.4 | 1.4 | 1.5 | 1.5 | 1.5 |
| hll | Предоставляет структуру данных HyperLogLog. | 2.18 | 2.18 | 2.18 | 2.18 | 2.18 | 2.18 |
| hstore | Предоставляет тип данных для хранения наборов пар "ключ — значение". | 1.5 | 1.6 | 1.7 | 1.8 | 1.8 | 1.8 |
| не является | Предоставляет типы данных для международных стандартов нумерации продуктов. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| вот | Обслуживание больших объектов. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
| ltree | Предоставляет тип данных для иерархических древовидных структур. | 1.1 | 1.1 | 1.2 | 1.2 | 1.2 | 1.2 |
| seg | Тип данных для представления сегментов линии или интервалов с плавающей точкой. | 1.3 | 1.3 | 1.3 | 1.4 | 1.4 | 1.4 |
| tdigest | Тип данных для накопления статистики на основе ранжирования в режиме онлайн, например, квантили и усечённые средние. | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 |
| topn | Тип для top-n JSONB. | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.0 |
Расширения для полнотекстового поиска
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| dict_int | Предоставляет шаблон словаря текстового поиска для целых чисел. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| dict_xsyn | Шаблон словаря текстового поиска для расширенной обработки синонимов. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| без акцента | Словарь для текстового поиска, который удаляет из лексем знаки ударения (диакритические знаки). | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
Расширения функций
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 15 |
|---|---|---|---|---|---|---|---|
| autoinc | Функции для автоприращения полей. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| расстояние до Земли | Предоставляет возможность вычисления великокруговых расстояний на поверхности Земли. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
| fuzzystrmatch | Предоставляет несколько функций для определения сходства и расстояния между строками. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
| insert_username | Функции для отслеживания того, кто изменил таблицу. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| intagg | Агрегатор и перечислитель целых чисел (устарело). | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
| intarray | Предоставляет функции и операторы для управления массивами целых чисел, не содержащими значений null. | 1.2 | 1.2 | 1.3 | 1.5 | 1.5 | 1.5 |
| moddatetime | Предназначено для отслеживания времени последнего изменения. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| orafce | Функции и операторы, эмулирующие подмножество функций и пакетов из Oracle RDBMS. | 4.9 | 4.9 | 4.9 | |||
| pg_partman | Управляет секционированными таблицами по времени или идентификатору. | 4.7.4 | 4.7.4 | 4.7.4 | 5.1.0 | 5.1.0 | 5.1.0 |
| pg_surgery | Функции для проведения вмешательства в нарушенное отношение. | 1.0 | 1.0 | 1.0 | |||
| pg_trgm | Предоставляет функции и операторы для определения сходства буквенно-цифрового текста на основе сопоставления триграмм. | 1.4 | 1.4 | 1.5 | 1.6 | 1.6 | 1.6 |
| pgcrypto | Предоставляет функции шифрования. | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
| refint | Функции для реализации ссылочной целостности (устарело). | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| tablefunc | Предоставляет функции, которые манипулируют целыми таблицами, включая кросс-таблицы. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| tcn | Активирует уведомления об изменениях. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| timetravel | Функции для реализации путешествий во времени. | 1.0 | |||||
| uuid-ossp | Создает глобально уникальные идентификаторы (UUID). | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
Расширения типов индекса
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| цвести | Метод доступа Блума — индекс на основе файла сигнатуры. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| btree_gin | Предоставляет примеры классов операторов GIN, которые реализуют поведение, подобное B-дереву, для определенных типов данных. | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
| btree_gist | Предоставляет классы операторов индекса GiST, которые реализуют B-дерево. | 1.5 | 1.5 | 1.5 | 1.6 | 1.7 | 1.7 |
Расширения языка
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| plpgsql | Загружаемый процедурный язык PL/pgSQL. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
Прочие расширения
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| amcheck | Предназначено для проверки целостности отношений. | 1.1 | 1.2 | 1.2 | 1.3 | 1.3 | 1.3 |
| dblink | Модуль, который поддерживает подключения к другим базам данных PostgreSQL из сеанса базы данных. В разделе "dblink и postgres_fdw" см. сведения об этом расширении. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| old_snapshot | Позволяет проверить состояние сервера, используемого для реализации old_snapshot_threshold. | 1.0 | 1.0 | 1.0 | |||
| pageinspect | Проверяйте содержимое страниц базы данных на низком уровне. | 1.7 | 1.7 | 1.8 | 1,9 | 1.11 | 1.12 |
| pg_azure_storage | Интеграция Azure для PostgreSQL. | 1.3 | 1.3 | 1.3 | 1.3 | ||
| pg_buffercache | Предоставляет средства для анализа того, что происходит в общем буферном кэше в режиме реального времени. | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
| pg_cron | Планировщик заданий для PostgreSQL. | 1.5 | 1.6 | 1.6 | 1.6 | 1.6 | 1.6 |
| pg_freespacemap | Изучите карту свободного места (FSM). | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| pg_prewarm | Предоставляет способ загрузки реляционных данных в буферный кэш. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| pg_stat_statements | Предоставляет средства для отслеживания статистики выполнения всех инструкций SQL, выполняемых сервером. Смотрите раздел «pg_stat_statements» для получения информации об этом расширении. | 1.6 | 1.7 | 1.8 | 1,9 | 1.10 | 1.10 |
| pg_visibility | Изучите карту видимости (VM) и информацию о видимости на уровне страницы. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| pgrowlocks | Предоставляет средства для отображения сведений о блокировке на уровне строк. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| pgstattuple | Предоставляет средства для отображения статистических данных на уровне отдельных кортежей. | 1.5 | 1.5 | 1.5 | 1.5 | 1.5 | 1.5 |
| postgres_fdw | Оболочка для внешних данных, используемая для доступа к данным на внешних серверах PostgreSQL. В разделе "dblink и postgres_fdw" см. сведения об этом расширении. | 1.0 | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
| sslinfo | Сведения о TLS/SSL-сертификатах | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| строки_системы_тсм | Метод TABLESAMPLE, который принимает число строк в качестве ограничения. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| tsm_system_time | Метод TABLESAMPLE, который принимает время в миллисекундах в качестве ограничения. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| xml2 | Запросы XPath и XSLT. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
Расширение Pgvector
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| pgvector | Поиск сходства вектора с открытым исходным кодом для Postgres | 0.5.1 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 |
Расширения PostGIS
| Расширение | Description | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
|---|---|---|---|---|---|---|---|
| PostGIS | Пространственные и географические объекты для PostgreSQL. | 3.3.4 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 |
| стандартизатор адресов | Используется для разбора адреса на составные элементы. Используется для поддержки шага нормализации геокодирования адресов. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
| postgis_sfcgal | Функции PostGIS SFCGAL. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
| postgis_topology | Пространственные типы и функции топологии PostGIS. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
pg_stat_statements
Расширение pg_stat_statements предварительно загружено в каждом кластере Azure Cosmos DB для PostgreSQL, чтобы обеспечить возможность отслеживания статистики выполнения инструкций SQL.
Параметр pg_stat_statements.track определяет, какие инструкции учитываются расширением. По умолчанию используется значение top, то есть осуществляется отслеживание всех запросов, создаваемых непосредственно клиентами. Два других уровня отслеживания: none и all.
Существует компромисс между информацией о выполнении запроса, предоставляемой pg_stat_statements, и воздействием на производительность сервера при регистрации каждой инструкции SQL. Если расширение pg_stat_statements не используется активно, рекомендуется задать для параметра pg_stat_statements.track значение none. Некоторые сторонние службы мониторинга могут полагаться на pg_stat_statements для доставки аналитических сведений о производительности запросов, поэтому убедитесь, что это так для вас или нет.
dblink и postgres_fdw
dblink и postgres_fdw позволяют подключать один сервер PostgreSQL к другому серверу или к другой базе данных на том же сервере. Принимающий сервер должен разрешать подключения с отправляющего сервера при помощи его брандмауэра. Чтобы использовать эти расширения для подключения кластеров Azure Cosmos DB для PostgreSQL с общедоступным доступом, установите параметр 'Разрешить службам и ресурсам Azure доступ к этому кластеру (или серверу)' в положение ВКЛ. Этот параметр также необходимо включить, если нужно использовать расширения для возврата на тот же сервер. Разрешить службам и ресурсам Azure доступ к этому кластеру можно, найдя данный параметр на странице портала Azure для кластера в разделе Сетевые параметры. В настоящее время исходящие подключения из Azure Cosmos DB для PostgreSQL не поддерживаются.
Расширение orafce
Функции UTL_FILE отключены в расширении orafce.
Дальнейшие действия
- Узнайте о поддерживаемых версиях PostgreSQL.