Partager via


Extensions PostgreSQL dans Azure Cosmos DB for PostgreSQL

S’APPLIQUE À : Azure Cosmos DB for PostgreSQL (avec l’extension de base de données Citus pour PostgreSQL)

PostgreSQL étend les fonctionnalités d’une base de données à l’aide des extensions. Les extensions permettent de regrouper plusieurs objets SQL liés dans un package unique ; elles peuvent être chargées ou supprimées de votre base de données d’une seule commande. Une fois chargées dans la base de données, les extensions peuvent fonctionner comme des fonctionnalités intégrées. Pour plus d'informations sur les extensions PostgreSQL, consultez Empaqueter des objets liés dans une extension.

Utiliser les extensions PostgreSQL

Les extensions PostgreSQL doivent être installées dans votre base de données pour être utilisables. Pour installer une extension donnée, exécutez la commande CRÉER UNE EXTENSION dans l'outil psql afin de charger les objets empaquetés dans votre base de données.

Notes

Si CREATE EXTENSION échoue avec une erreur d’autorisation refusée, essayez à la place la fonction create_extension(). Exemple :

SELECT create_extension('postgis');

Pour supprimer une extension installée de cette façon, utilisez drop_extension().

Azure Cosmos DB for PostgreSQL prend actuellement en charge un sous-ensemble d’extensions de clé, comme indiqué ici. Les extensions autres que celles répertoriées ne sont pas prises en charge. Vous ne pouvez pas créer votre propre extension avec Azure Cosmos DB for PostgreSQL.

Extensions prises en charge par Azure Cosmos DB for PostgreSQL

Les tables suivantes répertorient les extensions PostgreSQL standard prises en charge par la base de données Azure Cosmos DB for PostgreSQL. Ces informations sont également disponibles en exécutant SELECT * FROM pg_available_extensions;.

Les versions de chaque extension installée dans un cluster diffèrent parfois selon la version de PostgreSQL (11, 12, 13, 14, 15, ou 16). Les tables répertorient les versions d’extension par version de base de données.

Extension Citus

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Base de données distribuée Citus. 9.5 10.2 11.3 12.1 12.1 12.1

Extensions de types de données

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext Fournit un type de chaîne de caractères avec respect de la casse. 1.5 1.6 1.6 1.6 1.6 1.6
cube Fournit un type de données pour les cubes multidimensionnels. 1.4 1.4 1.4 1.5 1.5 1.5
hll Fournit une structure de données HyperLogLog. 2.18 2.18 2.18 2.18 2.18 2.18
hstore Fournit un type de données permettant de stocker des ensembles de paires clé-valeur. 1.5 1.6 1.7 1.8 1.8 1.8
isn Fournit des types de données pour les standards internationaux de numérotation de produits. 1.2 1.2 1.2 1.2 1.2 1.2
lo Maintenance des objets volumineux (Large Object). 1.1 1.1 1.1 1.1 1.1 1.1
ltree Fournit un type de données pour les structures hiérarchiques de type arborescence. 1.1 1,1 1,2 1.2 1.2 1.2
seg Type de données pour représenter des segments de ligne ou des intervalles à virgule flottante. 1.3 1.3 1.3 1.4 1.4 1.4
tdigest Type de données pour l’accumulation en ligne de statistiques basées sur le classement, telles que les quantiles et les moyennes tronquées. 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn Type pour les n premiers JSONB. 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

Extensions de recherche en texte intégral

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int Fournit un modèle de dictionnaire de recherche de texte pour les entiers. 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn Modèle de dictionnaire de recherche de texte pour le traitement de synonyme étendu. 1.0 1.0 1.0 1.0 1.0 1.0
unaccent Dictionnaire de recherche de texte qui supprime les accents (signes diacritiques) des lexèmes. 1.1 1.1 1.1 1.1 1.1 1.1

Extensions de fonctions

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc Fonctions pour les champs incrémentés automatiquement. 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance Fournit un moyen de calculer les distances de grands cercles à la surface de la Terre. 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch Fournit plusieurs fonctions permettant de déterminer les ressemblances et la distance entre des chaînes. 1.1 1.1 1.1 1.1 1,1 1.2
insert_username Fonctions permettant de suivre qui a modifié une table. 1.0 1.0 1.0 1.0 1.0 1.0
intagg Agrégateur et énumérateur d’entier (obsolète). 1.1 1.1 1.1 1.1 1.1 1.1
intarray Fournit des fonctions et des opérateurs permettant de manipuler des tableaux d’entiers non Null. 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime Fonctions permettent de suivre la dernière heure de modification. 1.0 1.0 1.0 1.0 1.0 1.0
orafce Fonctions et opérateurs qui émulent un sous-ensemble de fonctions et de packages à partir du système de gestion de base de données relationnelle Oracle. 4,9 4,9 4,9
pg_partman Gère les tables partitionnées par date ou par ID. 4.7.4 4.7.4 4.7.4 5.1.0 5.1.0 5.1.0
pg_surgery Fonctions pour effectuer une chirurgie sur une relation endommagée. 1.0 1.0 1.0
pg_trgm Fournit des fonctions et des opérateurs permettant de déterminer la similarité entre des textes alphanumériques par rapprochement de trigrammes. 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto Fournit des fonctions de chiffrement. 1.3 1.3 1.3 1.3 1.3 1.3
refint Fonctions permettant d’implémenter l’intégrité référentielle (obsolète). 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc Fournit des fonctions qui manipulent des tables entières, y compris les tables croisées. 1.0 1.0 1.0 1.0 1.0 1.0
tcn Notifications de modification déclenchées. 1.0 1.0 1.0 1.0 1.0 1.0
timetravel Fonctions permettant d’implémenter le voyage dans le temps. 1.0
uuid-ossp Génère des identificateurs uniques universels (UUID). 1.1 1.1 1.1 1.1 1.1 1.1

Extensions de types d’index

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom Méthode d’accès Bloom, index basé sur un fichier de signature. 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin Fournit des exemples de classes d’opérateurs GIN qui implémentent des comportements de type arbre B pour certains types de données. 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist Fournit des classes d’opérateurs d’index GiST qui implémentent l’arbre B. 1.5 1.5 1.5 1.6 1.7 1.7

Extensions de langage

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql Langage procédural chargeable PL/pgSQL. 1.0 1.0 1.0 1.0 1.0 1.0

Extensions diverses

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck Fonctions permettant de vérifier l’intégrité de la relation. 1,1 1,2 1.2 1.3 1.3 1.3
dblink Module prenant en charge les connexions aux autres bases de données PostgreSQL à partir d’une session de base de données. Pour plus d'informations sur cette extension, consultez la section « dblink et postgres_fdw ». 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot Autorise l’inspection de l’état du serveur utilisé pour implémenter old_snapshot_threshold. 1.0 1.0 1.0
pageinspect Inspectez le contenu de pages de base de données de bas niveau. 1.7 1.7 1.8 1,9 1.11 1.12
pg_azure_storage Intégration d’Azure pour PostgreSQL. 1.3 1.3 1.3 1.3
pg_buffercache Fournit un moyen d’examiner ce qui se passe dans le cache partagé des tampons en temps réel. 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron Planificateur de travaux pour PostgreSQL. 1.5 1.6 1.6 1.6 1.6 1.6
pg_freespacemap Examinez le mappage d’espace libre (FSM). 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm Fournit un moyen de charger les données de relation dans le cache des tampons. 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements Fournit un moyen de suivre les statistiques d’exécution de toutes les instructions SQL exécutées par un serveur. Pour plus d’informations sur cette extension, consultez la section « pg_stat_statements ». 1.6 1.7 1.8 1,9 1,10 1,10
pg_visibility Examinez le mappage de visibilité (machine virtuelle) et les informations de visibilité au niveau des pages. 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks Fournit un moyen d’afficher des informations de verrouillage au niveau des lignes. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple Fournit un moyen d’afficher les statistiques au niveau du tuple. 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw Wrapper de données externes permettant d’accéder aux données stockées dans des serveurs externes PostgreSQL. Pour plus d'informations sur cette extension, consultez la section « dblink et postgres_fdw ». 1.0 1.0 1.0 1.1 1.1 1.1
sslinfo Informations sur les certificats TLS/SSL. 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows Méthode TABLESAMPLE, qui accepte le nombre de lignes en tant que limite. 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time Méthode TABLESAMPLE, qui accepte le temps en millisecondes en tant que limite. 1.0 1.0 1.0 1.0 1.0 1.0
xml2 Interrogation de XPath et XSLT. 1.1 1.1 1.1 1.1 1.1 1.1

Extension Pgvector

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Recherche de similarité vectorielle open source pour Postgres 0.5.1 0.7.0 0.7.0 0.7.0 0.7.0 0.7.0

Extensions PostGIS

Extension Description PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS Objets spatiaux et géographiques pour PostgreSQL. 3.3.4 3.4.1 3.4.1 3.4.1 3.4.1 3.4.1
address_standardizer Utilisé pour analyser une adresse et la décomposer en éléments constitutifs, Utilisé pour prendre en charge l’étape de normalisation des adresses par géocodage. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_sfcgal Fonctions SFCGAL PostGIS. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_topology Types et fonctions spatiaux de topologie PostGIS. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2

pg_stat_statements

L'extension pg_stat_statements est préchargée sur chaque cluster Azure Cosmos DB for PostgreSQL afin de vous fournir un moyen de suivre les statistiques d'exécution des instructions SQL.

Le paramètre pg_stat_statements.track contrôle les instructions comptées par l’extension. Sa valeur par défaut est top, ce qui signifie que toutes les instructions exécutées directement par les clients sont suivies. Les deux autres niveaux de suivi sont none et all.

Un compromis existe entre les informations d’exécution des requêtes fournies par pg_stat_statements et l'effet sur les performances du serveur en raison de la journalisation de chaque instruction SQL. Si vous n’utilisez pas l’extension pg_stat_statements de façon active, nous vous recommandons de définir pg_stat_statements.track sur none. Certains services de surveillance tiers peuvent s’appuyer sur pg_stat_statements pour fournir des insights sur les performances des requêtes et dès lors, vérifiez si cela vous concerne ou non.

Vous pouvez utiliser dblink et postgres_fdw pour vous connecter à partir d’un serveur PostgreSQL à un autre ou à une autre base de données dans le même serveur. Le serveur de réception doit autoriser les connexions à partir du serveur d’envoi via son pare-feu. Pour utiliser ces extensions afin d’établir une connexion entre des clusters Azure Cosmos DB for PostgreSQL en accès public, activez l’option Autoriser les services et ressources Azure à accéder à ce cluster (ou serveur). Vous devez également activer ce paramètre si vous souhaitez utiliser les extensions pour établir la connexion vers le même serveur. Le paramètre Autoriser les services et ressources Azure à accéder à ce cluster se trouve sous Mise en réseau dans la page du portail Azure pour le cluster. Actuellement, les connexions sortantes à partir d’Azure Cosmos DB for PostgreSQL ne sont pas prises en charge.

extension orafce

Les fonctions utl_file sont désactivées dans l’extension orafce.

Étapes suivantes