Configurer les extensions de base de données

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.