Questa sezione contiene informazioni sulla configurazione delle estensioni del database supportate da Database Service.
Installare un'estensione
Le estensioni possono essere installate solo nel DBCluster primario. Una volta installata, l'estensione viene replicata nelle istanze di standby.
La maggior parte delle estensioni può essere installata direttamente connettendosi al cluster di database ed eseguendo il comando CREATE EXTENSION.
Tuttavia, alcune estensioni richiedono una configurazione aggiuntiva, pertanto gli utenti devono impostare il flag di database, "dbs.enable_<extension-name>": "on" quindi connettersi al cluster di database ed eseguire il comando CREATE EXTENSION.
Solo gli utenti del database che sono membri del ruolo alloydbsuperuser possono eseguire il comando CREATE EXTENSION. Per impostazione predefinita, è incluso l'utente dbsadmin.
Eliminare un'estensione
Per eliminare un'estensione, l'utente del database che tenta di farlo deve essere il proprietario dell'estensione. Ciò implica che solo l'utente del database che ha creato inizialmente l'estensione ha l'autorità per eliminarla. Nessun altro utente del database ha la possibilità di eliminare l'estensione, garantendo una gestione controllata delle estensioni.
Estensioni del database supportate
La tabella seguente elenca tutte le estensioni supportate.
| Estensione | Descrizione |
|---|---|
| alloydb_ai_nl | Estensione Google per AlloyDB AI e linguaggio naturale |
| amcheck | Fornisce funzioni per verificare la coerenza logica della struttura delle relazioni, consentendo all'applicazione pg_amcheck di verificare la presenza di danneggiamenti. |
| anon | Maschera o sostituisce le informazioni che consentono l'identificazione personale (PII) o i dati sensibili di un database PostgreSQL. |
| autonic | Fornisce funzioni per i campi di incremento automatico |
| bloom | Fornisce un metodo per accedere agli indici basati sui filtri Bloom. Un filtro Bloom è una struttura di dati efficiente in termini di spazio che puoi utilizzare per verificare se un elemento è membro di un insieme. |
| btree_gin | Fornisce classi di operatori GIN di esempio che implementano un comportamento equivalente all'albero B. |
| btree_gist | Fornisce classi di operatori di indice GiST che implementano un comportamento equivalente all'albero B. |
| citext | Fornisce un tipo di stringa di caratteri citext senza distinzione tra maiuscole e minuscole. |
| cube | Implementa un tipo di dati cube per rappresentare i cubi multidimensionali. |
| dblink | Fornisce funzioni per connettersi ai database PostgreSQL dall'interno di una sessione di database |
| dict_int | Un modello di dizionario aggiuntivo per la ricerca a testo intero che controlla l'indicizzazione dei numeri interi. |
| dict_xsyn | Modello di dizionario di ricerca di testo per l'elaborazione estesa dei sinonimi |
| earthdistance | Fornisce due approcci per calcolare le distanze del cerchio massimo sulla superficie della Terra. |
| fuzzystrmatch | Fornisce diverse funzioni per determinare le somiglianze e la distanza tra le stringhe. |
| google_columnar_engine | Fornisce la funzionalità del motore colonnare di AlloyDB, che gestisce in modo molto efficiente i carichi di lavoro HTAP (elaborazione analitica transazionale ibrida) e OLAP (elaborazione analitica online). |
| google_db_advisor | Fornisce la funzionalità di suggerimenti sull'indicizzazione di AlloyDB, che consiglia gli indici per accelerare l'elaborazione delle query. |
| google_ml_integration | Fornisce le funzioni che utilizzi per accedere agli endpoint Vertex AI per ottenere previsioni in SQL. |
| postgresql-hll | Fornisce una struttura di dati HyperLogLog (hll) che stima la cardinalità di un insieme. |
| hstore | Implementa il tipo di dati hstore per archiviare insiemi di coppie chiave/valore all'interno di un singolo valore PostgreSQL. |
| hypopg | Fornisce il supporto per gli indici ipotetici. |
| insert_username | Fornisce funzioni per archiviare il nome dell'utente corrente in un campo di testo. Puoi utilizzare questa funzione per monitorare l'ultimo utente che ha modificato una riga in una tabella di database. |
| intagg | Fornisce un aggregatore di numeri interi e un enumeratore. |
| intarray | Fornisce un insieme di funzioni e operatori per manipolare array di numeri interi senza valori null e per eseguire ricerche indicizzate su di essi. |
| ip4r | Fornisce tipi di dati per indirizzi IPv4/v6 e intervalli di indirizzi, oltre al supporto per gli indici. |
| isn | Fornisce tipi di dati per alcuni standard internazionali di numerazione dei prodotti. |
| lo | Supporto per la gestione di oggetti di grandi dimensioni (chiamati anche LO o BLOB). |
| ltree | Implementa un tipo di dati ltree per rappresentare le etichette dei dati archiviati in una struttura gerarchica ad albero. |
| moddatetime | Fornisce funzioni per archiviare l'ora corrente in un campo timestamp. Puoi utilizzare questa funzionalità per monitorare l'ultima modifica di una riga in una tabella di database. |
| pageinspect | Ispeziona i contenuti delle pagine del database a un livello basso. |
| pg_bigm | Abilita la ricerca a testo intero e consente un indice a due grammi (bigramma) per una ricerca a testo intero più rapida. |
| pg_buffercache | Fornisce un mezzo per esaminare in tempo reale cosa sta succedendo nella cache del buffer condiviso. |
| pg_cron | Fornisce uno scheduler di job basato su cron. Questa estensione consente di utilizzare la sintassi cron per pianificare i comandi PostgreSQL direttamente dal database. |
| pg_freespacemap | Esamina la mappa dello spazio libero (FSM). |
| pg_hint_plan | Consente di migliorare i piani di esecuzione di PostgreSQL utilizzando gli hint, ovvero le descrizioni nei commenti SQL. |
| pg_partman | Consente di creare e gestire insiemi di partizioni di tabelle basate su tempo e seriali. |
| pg_prewarm | Fornisce un modo pratico per caricare i dati delle relazioni nella cache del buffer del sistema operativo o nella cache del buffer di PostgreSQL. |
| pg_proctab | Consente di utilizzare pg_top e generare report dalla tabella dei processi del sistema operativo. |
| pg_repack | Consente di rimuovere il bloat da tabelle e indici. Facoltativamente, consente di eseguire un CLUSTER online (ordina le tabelle in base all'indice del cluster). |
| pg_similarity | Fornisce il supporto per le query di somiglianza su PostgreSQL. |
| pg_squeeze | Rimuove lo spazio inutilizzato da una tabella e, facoltativamente, utilizza un indice per ordinare i record o le righe (tuple) della tabella. |
| pg_stat_statements | Fornisce un mezzo per monitorare le statistiche di esecuzione di tutte le istruzioni SQL eseguite. |
| pg_trgm | Fornisce funzioni e operatori per determinare la somiglianza del testo alfanumerico in base alla corrispondenza dei trigrammi, nonché classi di operatori di indice che supportano la ricerca rapida di stringhe simili. |
| pg_visibility | Fornisce un modo per esaminare la mappa di visibilità (VM) e le informazioni sulla visibilità a livello di pagina di una tabella. |
| pg_wait_sampling | Raccoglie statistiche di campionamento degli eventi di attesa, fornendo dati sugli eventi di attesa per i processi sui server. |
| pgaudit | Fornisce la registrazione di audit dettagliata di sessioni e oggetti utilizzando la funzionalità di logging standard fornita da PostgreSQL. |
| pgcrypto | Fornisce funzioni di crittografia per PostgreSQL. |
| pgfincore | Un insieme di funzioni per gestire le pagine nella memoria della cache del disco del sistema operativo da PostgreSQL. |
| pglogical | Fornisce la replica logica per PostgreSQL. |
| pgrowlocks | Fornisce informazioni sul blocco delle righe per la tabella specificata. |
| pgstattuple | Fornisce varie funzioni per ottenere statistiche a livello di tupla. |
| pgtap | Fornisce un framework di test delle unità per PostgreSQL, scritto in PL/pgSQL e PL/SQL. |
| pgtt | Aggiunge il supporto per le tabelle temporanee globali ai database. |
| plpgsql | Un linguaggio procedurale caricabile per la creazione di funzioni, procedure e trigger. Puoi utilizzare questo linguaggio anche per l'esecuzione diretta del codice nei blocchi DO. |
| plproxy | Gestore di linguaggi procedurali che consente chiamate di procedure remote tra database PostgreSQL, con sharding facoltativo. |
| plv8 | Fornisce un linguaggio procedurale per l'abilitazione di JavaScript. |
| postgres_ann | Ricerca ANN di PostgreSQL |
| postgres_fdw | Consente di creare wrapper di dati esterni all'interno delle istanze o tra le istanze. |
| prefix | Fornisce la corrispondenza dei prefissi, oltre al supporto per gli indici. |
| refint | Include funzioni per controllare i vincoli di chiave esterna, la tabella di riferimento e la tabella a cui si fa riferimento. |
| sslinfo | Fornisce informazioni sul certificato SSL fornito dal client corrente quando si è connesso all'istanza. |
| tablefunc | Include varie funzioni che restituiscono tabelle (più righe). |
| tcn | Fornisce una funzione di trigger che notifica agli ascoltatori le modifiche ai contenuti delle tabelle di database. |
| temporal_tables | Fornisce il supporto per le tabelle temporali. Una tabella temporale registra il periodo di tempo in cui una riga è valida dal punto di vista del database. |
| tsm_system_rows | Fornisce il metodo di campionamento delle tabelle SYSTEM_ROWS, che può essere utilizzato nella clausola TABLESAMPLE di un comando SELECT. |
| tsm_system_time | Fornisce il metodo di campionamento delle tabelle SYSTEM_TIME, che può essere utilizzato nella clausola TABLESAMPLE di un comando SELECT. |
| unaccent | Un dizionario di ricerca di testo che rimuove gli accenti (segni diacritici) dai lessemi. |
| uuid-ossp | Fornisce funzioni per generare identificatori univoci universali (UUID) utilizzando uno dei diversi algoritmi standard. |
| pgvector | Un'estensione open source per archiviare e cercare vector embedding nei database PostgreSQL. |