Cette section explique comment configurer les extensions de base de données compatibles avec Database Service.
Installer une extension
Les extensions ne peuvent être installées que sur le DBCluster principal. Une fois installée, l'extension est répliquée sur les instances de secours.
La plupart des extensions peuvent être installées directement en se connectant au cluster de bases de données et en exécutant la commande CREATE EXTENSION.
Toutefois, certaines extensions nécessitent une configuration supplémentaire. Les utilisateurs doivent donc définir l'indicateur de base de données, "dbs.enable_<extension-name>": "on"
, puis se connecter au cluster de bases de données et exécuter la commande CREATE EXTENSION
.
Seuls les utilisateurs de base de données membres du rôle cloudsqlsuperuser
ou alloydbsuperuser
peuvent exécuter la commande CREATE EXTENSION
. Par défaut, cela inclut l'utilisateur dbsadmin
.
Déposer une extension
Pour supprimer une extension, l'utilisateur de la base de données qui tente de le faire doit en être le propriétaire. Cela signifie que seul l'utilisateur de la base de données qui a créé l'extension à l'origine est autorisé à la supprimer. Aucun autre utilisateur de base de données ne peut supprimer l'extension, ce qui garantit une gestion contrôlée des extensions.
Extensions de base de données compatibles
Le tableau suivant répertorie toutes les extensions compatibles.
Extension | Inclus avec PostgreSQL | Inclus avec AlloyDB Omni | Description |
---|---|---|---|
address_standardizer | Utilisé pour analyser une adresse et la décomposer en éléments constitutifs. Généralement utilisé pour prendre en charge l'étape de normalisation des adresses de géocodage. | ||
address_standardizer_data_us | Exemple d'ensemble de données Address Standardizer US | ||
alloydb_ai_nl | Extension Google pour AlloyDB AI et le langage naturel | ||
amcheck | Fournit des fonctions permettant de vérifier la cohérence logique de la structure des relations, permettant ainsi à l'application pg_amcheck de voir si elles ont été corrompues. | ||
anon | Masquer ou remplacer les informations personnelles ou sensibles d'une base de données PostgreSQL | ||
autonic | Fournit des fonctions permettant d'incrémenter automatiquement des champs. | ||
bloom | Fournit une méthode pour accéder aux index basés sur des filtres de Bloom. Un filtre de Bloom est une structure de données économe en espace que vous pouvez utiliser pour vérifier si un élément fait partie d'un ensemble. | ||
btree_gin | Fournit des exemples de classes d'opérateurs GIN qui mettent en œuvre un comportement équivalent à B-tree. | ||
btree_gist | Fournit des classes d'opérateurs d'index GiST qui mettent en œuvre un comportement équivalent à un index B-tree. | ||
citext | Fournit un type de chaîne de caractères citext non sensible à la casse. | ||
cube | Met en œuvre un cube de type de données permettant de représenter des cubes multidimensionnels. | ||
dblink | Fournit des fonctions permettant de se connecter aux bases de données PostgreSQL depuis une session de base de données | ||
dict_int | Modèle de dictionnaire complémentaire destiné à la recherche en texte intégral et qui contrôle l'indexation des entiers. | ||
dict_xsyn | Modèle de dictionnaire de recherche textuelle pour le traitement étendu des synonymes | ||
earthdistance | Fournit deux manières de calculer les distances orthodromiques sur la surface de la Terre. | ||
fuzzystrmatch | Fournit plusieurs fonctions permettant de déterminer les similitudes et la distance entre les chaînes. | ||
google_columnar_engine | Fournit la fonctionnalité de moteur de données en colonnes d'AlloyDB, qui gère très efficacement les charges de travail HTAP (traitement transactionnel et analytique hybride) et OLAP (traitement analytique en ligne). | ||
google_db_advisor | Fournit la fonctionnalité de conseiller d'index d'AlloyDB, qui recommande des index pour accélérer le traitement des requêtes. | ||
google_ml_integration | Fournit les fonctions que vous utilisez pour accéder aux points de terminaison Vertex AI afin d'obtenir des prédictions en SQL. | ||
postgresql-hll | Fournit une structure de données HyperLogLog (hll) qui estime la cardinalité d'un ensemble. | ||
hstore | Met en œuvre le type de données hstore permettant de stocker des ensembles de paires clé/valeur au sein d'une seule valeur PostgreSQL. | ||
hypopg | Assure la prise en charge des index hypothétiques. | ||
insert_username | Fournit des fonctions permettant de stocker le nom de l'utilisateur actuel dans un champ de texte. Cette fonction vous permet de savoir quel utilisateur a modifié une ligne dans une table de base de données pour la dernière fois. | ||
intagg | Fournit un agrégateur d'entiers et un énumérateur. | ||
intarray | Fournit un ensemble de fonctions et d'opérateurs permettant de manipuler des tableaux d'entiers sans valeurs vides et d'y effectuer des recherches indexées. | ||
ip4r | Fournit des types de données pour les adresses IPv4/v6, les plages d'adresses IP et la compatibilité avec les index. | ||
isn | Fournit des types de données pour certaines normes internationales de numérotation de produits. | ||
lo | Assistance pour la gestion d'objets volumineux (également appelés LO ou BLOB). | ||
ltree | Met en œuvre un type de données ltree permettant de représenter les libellés de données stockées dans une structure hiérarchique en forme d'arborescence. | ||
moddatetime | Fournit des fonctions permettant de stocker l'heure actuelle dans un champ timestamp . Vous pouvez effectuer le suivi de la dernière modification d'une ligne d'une table de base de données. |
||
orafce | Fournit des fonctions et des opérateurs qui émulent un sous-ensemble de fonctions et de packages à partir d'une base de données Oracle. Utilisez ces fonctions pour transférer des applications Oracle vers PostgreSQL. | ||
pageinspect | Inspecte le contenu des pages de base de données à un niveau inférieur. | ||
pg_bigm | Active la recherche en texte intégral et un index bigramme pour une recherche en texte intégral plus rapide. | ||
pg_buffercache | Fournit une solution permettant d'examiner en temps réel l'activité du cache des tampons partagé. | ||
pg_cron | Fournit un planificateur de tâches Cron. Cette extension permet à la syntaxe Cron de planifier des commandes PostgreSQL directement à partir de la base de données. | ||
pg_freespacemap | Examine la carte de l'espace libre (FSM, Free Space Map). | ||
pg_hint_plan | Vous permet d'améliorer les plans d'exécution PostgreSQL à l'aide d'optimisations, qui sont des descriptions dans les commentaires SQL. | ||
pg_partman | Permet de créer et de gérer des ensembles de partitions de tables basés sur l'heure et les séries. | ||
pg_prewarm | Fournit une solution pratique permettant de charger des données relationnelles dans le cache des tampons du système d'exploitation ou dans le cache des tampons PostgreSQL. | ||
pg_proctab | Permet d'utiliser pg_top et de générer des rapports à partir de la table des processus du système d'exploitation. | ||
pg_repack | Permet de supprimer les données volumineuses des tables et des index. Vous pouvez éventuellement effectuer un CLUSTER en ligne (classer les tables par index de cluster). | ||
pg_similarity | Permet d'effectuer des requêtes de similarité sur PostgreSQL. | ||
pg_squeeze | Supprime l'espace inutilisé d'une table et utilise éventuellement un index pour trier les enregistrements ou les lignes (tuples) de la table. | ||
pg_stat_statements | Fournit un moyen de suivre les statistiques d'exécution de toutes les instructions SQL exécutées. | ||
pg_trgm | Fournit des fonctions et des opérateurs permettant de déterminer la similarité des textes alphanumériques en fonction de la correspondance de trigrammes, ainsi que des classes d'opérateur d'index compatibles avec la recherche rapide de chaînes similaires. | ||
pg_visibility | Permet d'examiner la carte de visibilité (VM, Visibility Map) et les informations de visibilité au niveau de la page d'une table. | ||
pg_wait_sampling | Collecte les statistiques d'échantillonnage des événements d'attente, et fournit des données d'attente pour les processus sur les serveurs. | ||
pgaudit | Fournit une journalisation détaillée des sessions et des objets à l'aide de la fonctionnalité de journalisation standard fournie par PostgreSQL. | ||
pgcrypto | Fournit des fonctions de chiffrement pour PostgreSQL. | ||
pgfincore | Ensemble de fonctions permettant de gérer les pages de la mémoire cache du disque du système d'exploitation à partir de PostgreSQL. | ||
pglogical | Fournit une réplication logique pour PostgreSQL. | ||
pgrouting | Extension de PostGIS permettant le traitement géospatial via le routage et l'analyse du réseau. | ||
pgrowlocks | Fournit des informations de verrouillage de ligne pour la table spécifiée. | ||
pgstattuple | Fournit plusieurs fonctions permettant d'obtenir des statistiques au niveau des tuples. | ||
pgtap | Fournit un framework de tests unitaires pour PostgreSQL, écrit en PL/pgSQL et PL/SQL. | ||
pgtt | Ajoute la prise en charge des tables temporaires globales à vos bases de données. | ||
plpgsql | Langage de procédure chargeable permettant de créer des fonctions, des procédures et des déclencheurs. Vous pouvez également utiliser ce langage pour exécuter directement du code dans des blocs DO. | ||
plproxy | Gestionnaire de langages procéduraux autorisant les appels de procédure à distance entre les bases de données PostgreSQL, avec segmentation facultative. | ||
plv8 | Fournit un langage procédural pour l'activation de JavaScript. | ||
postgis | Types et fonctions spatiaux de géométrie et de géographie PostGIS | ||
postgres_ann | Recherche ANN PostgreSQL | ||
postgis_raster | Types et fonctions raster PostGIS | ||
postgis_sfcgal | Fonctions PostGIS SFCGAL | ||
postgis_tiger_geocoder | Geocodeur et geocodeur inversé TIGER PostGIS | ||
postgis_topology | Fonctions et types spatiaux de topologie PostGIS | ||
postgres_fdw | Permet de créer des wrappers de données étrangers au sein d'instances ou entre plusieurs instances. | ||
prefix | Fournit une mise en correspondance par préfixe ainsi que la compatibilité avec les index. | ||
rdkit | Fournit des fonctions permettant de comparer, manipuler et identifier des structures moléculaires. | ||
refint | Inclut des fonctions permettant de vérifier les restrictions de clé étrangère, la table de référence et la table référencée. | ||
sslinfo | Fournit des informations sur le certificat SSL fourni par le client actuel lors de la connexion à l'instance. | ||
tablefunc | Inclut des fonctions diverses renvoyant des tables (plusieurs lignes). | ||
tcn | Fournit une fonction de déclencheur qui informe les écouteurs des modifications apportées au contenu des tables de base de données. | ||
temporal_tables | Assure une prise en charge des tables temporelles. Une table temporelle enregistre la période pendant laquelle une ligne est valide du point de vue de la base de données. | ||
tsm_system_rows | Fournit la méthode d'échantillonnage de table SYSTEM_ROWS , qui peut s'utiliser dans la clause TABLESAMPLE d'une commande SELECT . |
||
tsm_system_time | Fournit la méthode d'échantillonnage de table SYSTEM_TIME , qui peut s'utiliser dans la clause TABLESAMPLE d'une commande SELECT . |
||
unaccent | Dictionnaire de recherche de texte qui supprime les accents (signes diacritiques) des lexèmes. | ||
uuid-ossp | Fournit des fonctions permettant de générer des identifiants uniques universels (UUID) à l'aide de l'un des différents algorithmes standards disponibles. | ||
pgvector | Extension Open Source permettant de stocker et de rechercher des embeddings dans les bases de données PostgreSQL. |