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.
dblink et postgres_fdw
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
- En savoir plus sur les versions de PostgreSQL prises en charge.