Puoi estendere PostgreSQL raggruppando gli oggetti SQL in un pacchetto e utilizzandoli come unità. Questa pagina contiene informazioni sulla configurazione di PostgreSQL supportate da Cloud SQL.
Utilizza le estensioni PostgreSQL
Puoi installare solo le estensioni supportate da Cloud SQL. Per maggiori informazioni, consulta le estensioni PostgreSQL supportate da Cloud SQL.
Installare un'estensione
Installa un'estensione, prima di utilizzarla:
- Nello strumento psql, esegui il comando CREATE EXTENSION.
Requisito per i privilegi di super user
In Cloud SQL, le estensioni possono essere create solo dagli utenti che fanno parte del
Ruolo cloudsqlsuperuser
. Quando crei una nuova istanza PostgreSQL,
l'utente postgres
predefinito viene creato per te (anche se
deve impostare la password dell'utente). L'utente predefinito di postgres
fa parte di
Ruolo cloudsqlsuperuser
. Per ulteriori informazioni, vedi
Informazioni sugli utenti PostgreSQL.
Connessioni tra database
Le istanze di destinazione per le connessioni devono trovarsi nella stessa rete VPC connessione dell'istanza.
Per le istanze cluster, non puoi scegliere
Richiedi certificati client attendibili nell'opzione
nella console Google Cloud.
Inoltre, per connetterti ai database nella stessa istanza,
non puoi impostare l'host su
localhost o a 127.0.0.1
. Devi utilizzare l'indirizzo IP visualizzato per la tua istanza nella console Google Cloud.
Richiedere assistenza per una nuova estensione
Non puoi creare le tue estensioni in Cloud SQL.
Per richiedere assistenza per un'estensione, fai clic su +1 sul problema aperto o crea una un nuovo problema. Per un elenco dei problemi aperti di Cloud SQL e per informazioni su la creazione di nuovi problemi, consulta Cerca o crea problemi e richieste di funzionalità per prodotto.
Estensioni PostgreSQL supportate da Cloud SQL
Per informazioni sull'utilizzo di un'estensione specifica, consulta il link alla documentazione in una delle tabelle seguenti.
Il supporto di Cloud SQL per le estensioni PostgreSQL può essere suddiviso in: categorie:
PostGIS
L'estensione PostGIS è supportata per Cloud SQL per PostgreSQL per tutte le versioni principali.
La tabella seguente contiene le versioni dell'estensione PostGIS per ogni Versione Cloud SQL per PostgreSQL:
Versione Cloud SQL per PostgreSQL | Estensione PostGIS |
PostgreSQL 9.6 | 3.2.5 |
PostgreSQL 10 | 3.2.5 |
PostgreSQL 11 | 3.2.5 |
PostgreSQL 12 | 3.2.5 |
PostgreSQL 13 | 3.4.0 |
PostgreSQL 14 | 3.4.0 |
PostgreSQL 15 | 3.4.0 |
PostgreSQL 16 | 3.4.0 |
Per una specifica versione principale di PostgreSQL, nel
CREA ESTENSIONE, puoi
specifica una versione dell'estensione PostGIS utilizzando la clausola VERSION
.
L'estensione PostGIS include quanto segue:
postgis
postgis_raster
postgis_sfcgal
postgis_tiger_geocoder
postgis_topology
address_standardizer
address_standardizer_data_us
Per ulteriori informazioni, consulta Installazione di PostGIS.
Inoltre, Cloud SQL per PostgreSQL include la versione 3.3.0 del pgRouting, che estende PostGIS. L'estensione pgRouting migliora l'elaborazione geospaziale attraverso il routing di rete e analisi.
Puoi eseguire manualmente l'upgrade di PostGIS e le relative estensioni alla versione più recente. Per scoprire di più sull'upgrade delle estensioni PostGIS, consulta Upgrade di PostGIS.
Estensioni dei tipi di dati
Estensione | Descrizione |
btree_gin | Fornisce classi di operatori GIN di esempio che implementano l'equivalente B-tree
comportamento degli utenti. Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.0. PostgreSQL 10 utilizza la versione 1.2. Tutte le altre versioni usano la versione 1.3. |
btree_gist | Fornisce classi di operatori dell'indice GiST che implementano l'equivalente B-tree
comportamento degli utenti. Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.2. PostgreSQL 10, 11, 12 e 13 utilizzano la versione 1.5. PostgreSQL 14 utilizza la versione 1.6. |
passo | Implementa un tipo di dati chkpass progettato
per archiviare le password criptate. Cloud SQL per PostgreSQL 9.6 e 10 utilizzano la versione 1.0. Non supportato per altre versioni. |
testo | Fornisce un tipo di stringa di caratteri senza distinzione tra maiuscole e minuscole citext .Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.3. PostgreSQL 10 utilizza la versione 1.4. PostgreSQL 11 utilizza la versione 1.5. PostgreSQL 12, 13 e 14 utilizzano la versione 1.6. |
cube | Implementa un tipo di dati cube per la rappresentazione di cubi multidimensionali.Cloud SQL per PostgreSQL 9.6 e 10 utilizzano la versione 1.2. PostgreSQL 11 utilizza la versione 1.3. PostgreSQL 12 e 13 utilizzano la versione 1.4. PostgreSQL 14 utilizza la versione 1.5. |
hstore | Implementa il tipo di dati hstore per l'archiviazione di set di coppie chiave/valore all'interno di un singolo valore PostgreSQL.Cloud SQL per PostgreSQL 9.6 e 10 utilizza la versione 1.4. PostgreSQL 11 utilizza la versione 1.5. PostgreSQL 12 utilizza la versione 1.6. PostgreSQL 13 utilizza la versione 1.7. PostgreSQL 14 utilizza la versione 1.8. |
isn | Fornisce tipi di dati per alcuni standard di numerazione dei prodotti internazionali. Cloud SQL per PostgreSQL 9.6 e 10 utilizzano la versione 1.1. Tutte le altre versioni usano la versione 1.2. |
IP4R | Fornisce tipi di dati per indirizzi e intervalli di indirizzi IPv4/v6, oltre
il supporto dell'indice. Cloud SQL per PostgreSQL utilizza la versione 2.4.2. |
ltree | Implementa un tipo di dati ltree per la rappresentazione delle etichette dei dati
in una struttura gerarchica ad albero. Cloud SQL per PostgreSQL 9.6, 10, 11 e 12 utilizza la versione 1.1. PostgreSQL 13 e 14 utilizzano la versione 1.2. |
lo | Supporto per la gestione di oggetti di grandi dimensioni (chiamati anche LO o BLOB). Cloud SQL per PostgreSQL utilizza la versione 1.1. |
postgresql-hll | Viene introdotto un nuovo tipo di dati, hll , che è una struttura di dati HyperLogLog. Vedi anche postgresql-hll in
questo documento.Cloud SQL per PostgreSQL utilizza la versione 2.16. |
prefisso | Fornisce la corrispondenza del prefisso e il supporto degli indici. Cloud SQL per PostgreSQL utilizza la versione 1.2.0. |
Estensioni di lingua
Estensione | Descrizione |
plpgsql | Un linguaggio procedurale caricabile per la creazione di funzioni,
procedure e trigger. Puoi anche usare questa lingua
per l'esecuzione diretta del codice nei blocchi DO. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
plv8 | Fornisce un linguaggio procedurale per l'attivazione di JavaScript. Cloud SQL per PostgreSQL utilizza la versione 3.2.2, che a sua volta utilizza JavaScript V8 la versione 11.5 del motore di ricerca. |
Estensioni varie
Estensione | Descrizione |
amcheck | Fornisce funzioni per verificare la coerenza logica del delle relazioni, permettendo all'applicazione pg_amcheck per verificare eventuali violazioni. |
auto_explain | Consente il logging automatico dei piani di esecuzione di istruzioni lente, per la risoluzione dei problemi e altro ancora. Offre un modo automatizzato per eseguire delle funzionalità EXPLAIN. Vedi anche auto_explain in questo documento. |
autoinc | Fornisce funzioni per incrementare automaticamente i campi. Questo attivatore memorizza il valore successivo di una sequenza in un campo di tipo intero. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
sfumatura di rosa | Fornisce un metodo per accedere agli indici in base ai filtri bloom. Un filtro di fiori è una struttura di dati efficiente in termini di spazio che puoi utilizzare per verificare se un elemento è membro di un insieme. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
dblink | Fornisce funzioni per connettersi ai database PostgreSQL dall'interno
di una sessione di database. Vedi anche
dblink in questo documento. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
decoderbufs | un decoder logico PostgreSQL che fornisce i dati di output come protocollo Buffer, adattati per Debezium. |
dict_int | Un modello di dizionario aggiuntivo per la ricerca a testo intero che controlla l'indicizzazione degli interi. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
distanza terra | Fornisce due approcci per calcolare le distanze in linea retta sulla
superficie della Terra. Cloud SQL per PostgreSQL utilizza la versione 1.1. |
fuzzystrmatch | Fornisce diverse funzioni per determinare somiglianze e distanza tra
stringhe. Cloud SQL per PostgreSQL utilizza la versione 1.1. |
google_ml_integration | Genera incorporamenti vettoriali per tradurre prompt di testo in vettori numerici utilizzando un modello linguistico di grandi dimensioni (LLM). Cloud SQL per PostgreSQL utilizza la versione 1.2. |
insert_username | Fornisce funzioni per memorizzare il nome dell'utente corrente in un campo di testo. Puoi utilizzarlo per monitorare chi ha modificato per l'ultima volta una riga in una tabella di database. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
intagg | Fornisce un aggregatore di numeri interi e un enumeratore. Cloud SQL per PostgreSQL utilizza la versione 1.1. |
intarray | Fornisce un insieme di funzioni e operatori per manipolare array di interi senza valori null e per eseguire ricerche indicizzate su di essi. Cloud SQL per PostgreSQL 9.6, 10, 11 e 12 utilizzano la versione 1.2. PostgreSQL 13 utilizza la versione 1.3. PostgreSQL 14 utilizza la versione 1.5. |
moddatetime | Fornisce funzioni per memorizzare l'ora corrente in un campo timestamp . Puoi utilizzarlo per monitorare l'ultima volta che una riga in una tabella di database viene modificata.Cloud SQL per PostgreSQL utilizza la versione 1.0. |
oracle_fdw | Fornisce un wrapper dati esterno (fdw) per accedere ai database Oracle in modo semplice ed efficiente. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
orafce | Fornisce funzioni e operatori che emulano un sottoinsieme di funzioni e pacchetti da un database Oracle. Utilizza queste funzioni per trasferire le applicazioni Oracle a PostgreSQL. Cloud SQL per PostgreSQL 9.6 e 10 utilizzano la versione 4.6.1. PostgreSQL 11 e versioni successive utilizzano la versione 4.7.0. |
pageinspect | Esamina i contenuti delle pagine del database a basso livello. Vedi anche
pageinspect in questo documento. Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.5. PostgreSQL 10 utilizza la versione 1.6. PostgreSQL 11 e 12 utilizzano la versione 1.7. PostgreSQL 13 e 14 utilizzano la versione 1.8. |
pgAudit | Raccoglie i dati di controllo.
Valori possibili da impostare per i file di audit log per tutte le versioni di
pgAudit sono Per saperne di più sull'utilizzo di questa estensione con Cloud SQL, consulta Controllo di PostgreSQL tramite pgAudit. |
pg_background | Consente di eseguire comandi arbitrari in un worker in background. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
pg_bigm | Abilita la ricerca a testo intero e un indice di due grammi (bigrammi) per velocizzare la ricerca a testo intero. Vedi anche pg_bigm in questo documento. |
pg_buffercache | Offre un mezzo per esaminare ciò che accade nel buffer condiviso
in tempo reale. Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.2. PostgreSQL 10, 11, 12, 13 e 14 utilizzano la versione 1.3. |
pg_cron | Fornisce uno scheduler di job basato su cron. Questa estensione abilita la sintassi cron
per pianificare i comandi PostgreSQL direttamente dal database. Per ulteriori informazioni sull'estensione, consulta pg_cron in questo documento. Cloud SQL per PostgreSQL 10 e versioni successive utilizzano la versione 1.6.0. |
pgcrypto | Fornisce funzioni crittografiche per PostgreSQL. Cloud SQL per PostgreSQL utilizza la versione 1.3. |
pglogical | Fornisce la replica logica per PostgreSQL. Consulta
Configurazione della replica e decodifica logiche. Cloud SQL per PostgreSQL utilizza la versione 2.4.3. |
pgfincore | Un insieme di funzioni per gestire le pagine nella memoria della cache del disco del sistema operativo
da PostgreSQL. Vedi anche
pgfincore in questo documento. Cloud SQL per PostgreSQL utilizza la versione 1.3.1. |
pg_freespacemap | Esamina la mappa dello spazio libero (FSM).
Vedi anche pg_freespacemap in questo documento. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
pg_hint_plan | Consente di migliorare i piani di esecuzione PostgreSQL utilizzando i suggerimenti, che sono semplici descrizioni nei commenti SQL. Vedi anche pg_hint_plan in questo documento. |
pgoutput | Questo plug-in viene utilizzato dalla replica logica per l'acquisizione dei cambiamenti dei dati.
pgoutput è un plug-in predefinito ed è pertanto supportato su
tutte le versioni di Cloud SQL per PostgreSQL.
|
pg_partman | Consente di creare e gestire tabelle basate sul tempo e seriali
di set di partizioni. Consulta anche
pg_partman in questo documento. Le versioni 14 e successive di Cloud SQL per PostgreSQL supportano la versione 5.0.1, mentre le versioni precedenti a 14 supportano solo la versione 4.7.4. |
pg_prewarm | Offre un modo conveniente per caricare i dati di relazione
cache del buffer di sistema o la cache
del buffer PostgreSQL. Utilizzo di Cloud SQL per PostgreSQL 9.6 e 10 Versione 1.1. PostgreSQL 11, 12, 13 e 14 utilizzano la versione 1.2. |
pg_proctab | Consente di utilizzare pg_top con Cloud SQL per PostgreSQL e generare report dal processo del sistema operativo tabella. Vedi anche pg_proctab in questo documento. |
pg_repack | Consente di rimuovere il gonfiore di tabelle e indici.
Facoltativamente, consente di eseguire un CLUSTER online (ordina le tabelle per cluster
). Vedi anche pg_repack in questo documento. Cloud SQL per PostgreSQL utilizza la versione 1.5.0. |
pgrowlocks | Fornisce informazioni sul blocco delle righe per la tabella specificata. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
Pugstattuple | Fornisce varie funzioni per ottenere statistiche a livello di tupla. Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.4. Tutte le altre versioni utilizzano la versione 1.5. |
pg_similarity | Fornisce il supporto per le query di somiglianza su PostgreSQL. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
pg_squeeze | Rimuove lo spazio inutilizzato da una tabella e, facoltativamente, utilizza un indice per ordinare i record o le righe (tuple) della tabella. Per ulteriori informazioni su questa estensione, vedi pg_squeeze in questo documento. Le versioni 11 e successive di Cloud SQL per PostgreSQL utilizzano la versione 1.5. |
pg_stat_statements | Fornisce un mezzo per monitorare le statistiche di esecuzione di tutte le query SQL
eseguite le istruzioni. Cloud SQL per PostgreSQL 9.6 utilizza la versione 1.4. PostgreSQL 10 e 11 usano la versione 1.6. PostgreSQL 12 utilizza la versione 1.7. PostgreSQL 13 utilizza la versione 1.8. PostgreSQL 14 utilizza la versione 1.9. |
pgTAP | Fornisce un framework di test delle unità per PostgreSQL, scritto in PL/pgSQL
e PL/SQL. Cloud SQL per PostgreSQL utilizza la versione 1.3.0. |
pg_trgm | Fornisce funzioni e operatori per determinare la somiglianza del testo alfanumerico in base alla corrispondenza di trigrammi, nonché classi di operatori di indice che supportano la ricerca rapida di stringhe simili. Cloud SQL per PostgreSQL 9.6 e 10 userà la versione 1.3. PostgreSQL 11 e 12 utilizzano la versione 1.4. PostgreSQL 13 utilizza la versione 1.5. PostgreSQL 14 utilizza la versione 1.6. |
pgtt | Crea e gestisce tabelle temporanee globali in stile DB2 o Oracle in un
PostgreSQL standard. |
pgvector |
Estensione open source per l'archiviazione e la ricerca di incorporamenti vettoriali nei database PostgreSQL. |
pg_visibility | Consente di esaminare la mappa di visibilità (VM) e il livello di pagina
le informazioni sulla visibilità di una tabella. Consulta anche
pg_visibility in questo documento. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
pg_wait_sampling | Raccoglie le statistiche di campionamento degli eventi di attesa, fornendo i dati degli eventi di attesa per i processi sui server. Cloud SQL per PostgreSQL utilizza la versione 1.1.5. |
PL/proxy | Gestore del linguaggio procedurale che consente le chiamate di procedure remote tra
Database PostgreSQL con sharding facoltativo.
Vedi anche
PL/Proxy in questo documento. Cloud SQL per PostgreSQL utilizza la versione 2.11.0. |
postgres_fdw | Consente di creare wrapper di dati esterni all'interno o tra le istanze. Vedi anche
postgres_fdw in questo documento. Cloud SQL per PostgreSQL 9.6, 10, 11, 12 e 13 utilizzano la versione 1.0. PostgreSQL 14 utilizza la versione 1.1. |
postgresql_anonymizer | Mascheramento o sostituzione di informazioni che consentono l'identificazione personale (PII) o dati sensibili da un database PostgreSQL. Per ulteriori informazioni, consulta postgresql_anonymizer. Cloud SQL per PostgreSQL utilizza la versione 1.0.0. |
postgresql_hll | Fornisce una struttura di dati HyperLogLog ( Cloud SQL per PostgreSQL utilizza la versione 2.18. |
rdkit | Una raccolta di software di chimica computazionale e machine learning. Puoi utilizzare
questa estensione per confrontare, manipolare e identificare le strutture molecolari.
Cloud SQL per PostgreSQL utilizza la versione 4.2.0. |
rifint | Include funzioni per verificare i vincoli di chiave esterna, i riferimenti e la tabella di riferimento. Questa estensione dimostra anche Server Programming Interface (SPI). Cloud SQL per PostgreSQL utilizza la versione 1.0. |
sslinfo | Fornisce informazioni sul certificato SSL fornito dal client corrente quando si è connesso all'istanza. Cloud SQL per PostgreSQL utilizza la versione 1.2. |
tablefunc | Include varie funzioni che restituiscono tabelle (più righe). Cloud SQL per PostgreSQL utilizza la versione 1.0. |
tcn | Fornisce una funzione di trigger che notifica ai listener le modifiche ai contenuti delle tabelle di database. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
temporal_tables | Supporta le tabelle temporali. Una tabella temporale registra il periodo di tempo in cui una riga è valida dal punto di vista del database. Cloud SQL per PostgreSQL utilizza la versione 1.2.2. |
tsm_system_rows | Fornisce il metodo di campionamento della tabella SYSTEM_ROWS, che può essere utilizzato nella
Clausola TABLEsample di un comando SELECT. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
tsm_system_time | Fornisce il metodo di campionamento della tabella SYSTEM_TIME, che può essere utilizzato nella
Clausola TABLEsample di un comando SELECT. Cloud SQL per PostgreSQL utilizza la versione 1.0. |
unaccent | Un dizionario di ricerca testuale che rimuove gli accenti (segni diacritici) dai
lexemi. Cloud SQL per PostgreSQL utilizza la versione 1.1. |
uuid-ossp | Fornisce funzioni per generare identificatori univoci universali (UUID)
utilizzando uno dei numerosi algoritmi standard. Cloud SQL per PostgreSQL utilizza la versione 1.1. |
Scopri di più su alcune estensioni PostgreSQL
Questa sezione descrive ulteriori informazioni su alcuni dei database PostgreSQL supportati disponibili nelle tabelle precedenti.
auto_explain
Per iniziare a utilizzare questa estensione su un'istanza, imposta la classe
cloudsql.enable_auto_explain
flag per on
. Per informazioni su come impostare i flag e per esaminare quelli supportati per questa estensione, consulta Configurare i flag di database.
Per visualizzare i dati e gli eventi di logging associati ai log dei piani di esecuzione abilitati da questa estensione, consulta la documentazione di Cloud Logging.
In alternativa, per un utente con il ruolo cloudsqlsuperuser
(solo), puoi:
utilizza il comando load
per caricare questa estensione per una sessione.
dblink
Dall'interno di una sessione di database, puoi utilizzare questa estensione per connetterti PostgreSQL ed eseguire query.
Attualmente, questa estensione funziona per due istanze IP private di Cloud SQL sulla stessa rete VPC o per più database all'interno della stessa istanza.
Per ulteriori informazioni, vedi dblink in PostgreSQL documentazione.
Utilizza dblink per connetterti con una password
Per connetterti ai database o per connetterti alla stessa istanza di un'altra devi specificare una password. Ad esempio, per scopi (ma non per la produzione), ecco uno snippet di codice:
SELECT * FROM dblink (
'dbname=name port=1234 host=host user=user password=password',
'select id, name from table' \
) AS t(id int, name text);
In alternativa, per configurare solo una connessione, di seguito è riportato uno snippet di codice a scopo di esempio (non per la produzione):
SELECT dblink_connect('dbname=dblinktest user=postgres host=name_or_ip password=xxx');
Utilizza dblink per connetterti senza password
Per connetterti alla stessa istanza dello stesso utente, puoi connetterti senza password. Ad esempio:
Imposta il seguente flag di database per abilitare le connessioni locali senza un password
cloudsql.allow_passwordless_local_connections
Connettiti senza specificare un host, il che implica la connessione alla stessa istanza. Ecco un esempio:
SELECT * FROM dblink('dbname=finance user=alice', 'select income from revenue') AS revenue(income integer);
Il risultato potrebbe essere simile al seguente:
income -------- 1000 (1 row)
Per connetterti ai database all'interno della stessa istanza,
non puoi impostare l'host su localhost o su 127.0.0.1
. Invece,
devi utilizzare l'indirizzo IP mostrato per l'istanza nella console Google Cloud.
Vedi anche postgres_fdw e PL/Proxy in questo documento.
pageinspect
Questa estensione ispeziona i contenuti delle pagine del database a basso livello. Per ulteriori informazioni, consulta pageinspect nella documentazione di PostgreSQL.
pg_bigm
Questa estensione consente la ricerca a testo intero e un indice di due grammi (bigrammi) per una ricerca a testo intero più rapida.
Per iniziare a utilizzare questa estensione su un'istanza, imposta la classe
cloudsql.enable_pg_bigm
flag per on
. Sono supportati anche i seguenti flag:
pg_bigm.enable_recheck
pg_bigm.gin_key_limit
pg_bigm.similarity_limit
Per informazioni sull'impostazione dei flag e per esaminare i flag supportati consulta Configurare i flag di database.
pg_cron
Per iniziare a utilizzare pg_cron su una
imposta il flag cloudsql.enable_pg_cron
su on
. Per informazioni su
impostare i flag e per esaminare i flag supportati per questa estensione, consulta
Configurare i flag di database.
I job sono configurati come worker in background, quindi potrebbe essere necessario
utilizzano tecniche PostgreSQL standard
(ad esempio il flag max_worker_processes
) per modificare il numero di
chi lavora in background.
Per questa estensione, Cloud SQL supporta la modalità worker in background, ma non l'interfaccia libpq. Di conseguenza, attendi direttamente l'autenticazione che coinvolgono questa estensione non è obbligatorio.
pgfincore
Questa estensione contiene funzioni per la gestione delle pagine nel disco del sistema operativo di memoria cache da PostgreSQL. Per ulteriori informazioni, consulta documentazione di gradincore.
pg_freespacemap
Questa estensione esamina la mappa dello spazio libero (FSM). Per ulteriori informazioni, vedi pg_freespacemap nel documentazione di PostgreSQL.
pg_hint_plan
Per iniziare a utilizzare questa estensione su un'istanza, imposta la classe
cloudsql.enable_pg_hint_plan
flag per on
. Per informazioni sull'impostazione
e per controllare i flag supportati per questa estensione, consulta
Configurare i flag di database.
In alternativa, per un solo utente con il ruolo cloudsqlsuperuser
, puoi utilizzare il comando load
per caricare questa estensione per una sessione.
pg_partman
Questa estensione consente di creare e gestire modelli basati sul tempo e basati su seriali, di set di partizioni di tabelle.
In Cloud SQL, questa estensione non include il worker in background per la manutenzione automatica delle partizioni. In alternativa, puoi utilizzare, ad esempio, Cloud Scheduler per gestire la manutenzione chiamando funzioni di manutenzione a intervalli regolari.
pg_proctab
Di seguito sono riportati i passaggi per utilizzare Estensione pg_proctab per abilitare l'utilità pg_top:
- Nello strumento psql, esegui Comando CREATE EXTENSION per pg_proctab.
- Scarica ed esegui pg_top.
- Quando ti connetti a un'istanza Cloud SQL per PostgreSQL, aggiungi
Opzione
-r
per la connessione a un database remoto e per ottenere metriche di valutazione.
Le seguenti metriche a livello di istanza, incluse nell'output, includono da parte di altri agenti e servizi di supporto nell'istanza:
- Carica media
- Stati della CPU (% utente, piacevole, di sistema, inattivo e iowait)
- Memoria (utilizzata, libera e in cache)
pg_repack
Questa estensione consente di rimuovere il gonfiore da tabelle e indici. Se vuoi, puoi utilizzare questa estensione per eseguire un CLUSTER online (ordina le tabelle per cluster ). Per ulteriori informazioni, consulta documentazione pg_repack. Inoltre, per di questa estensione in Cloud SQL, è necessaria una procedura speciale l'aggiunta di privilegi a un utente.
Se un utente esterno al ruolo cloudsqlsuperuser
vuole utilizzare un'estensione,
devi concedere all'utente i privilegi cloudsqlsuperuser
. Per ulteriori informazioni, consulta la sezione Requisito per i privilegi di superutente di questo documento.
Nell'esempio seguente viene utilizzato il comando GRANT
per aggiungere i privilegi necessari.
Esempio di aggiunta di privilegi
Ad esempio, di seguito, csuper1
è un cloudsqlsuperuser
e testdb
è un
di proprietà di testuser
. Per creare l'estensione pg_repack in testdb
,
esegui inizialmente questi comandi:
Collegati a
testdb
comecloudsqlsuperuser
:psql -U csuper1 -d testdb;
Concedi al proprietario del database, che è
testuser,
acsuper1
:GRANT testuser TO csuper1;
Crea l'estensione:
CREATE EXTENSION pg_repack;
Esegui il comando
pg_repack
su una tabella, ad esempiot1
intestdb
, ad esempiocsuper1
:pg_repack -h <hostname> -d testdb -U csuper1 -k -t t1
Una volta completato il job pg_repack, revoca la concessione eseguita nel passaggio 2:
REVOKE testuser FROM csuper1;
Il comando pg_repack
potrebbe non riuscire con il seguente errore:
"ERROR: query failed: SSL SYSCALL error: EOF detected"
Se si verifica questo errore, prova a impostare le keepalive TCP su un valore inferiore, quindi esegui
il comando pg_repack
. Per ulteriori informazioni, vedi
Timeout delle connessioni (da Compute Engine).
pg_squeeze
Questa estensione rimuove lo spazio inutilizzato da una tabella e, facoltativamente, utilizza un indice per ordinare le tuple della tabella. Per iniziare a utilizzare l'estensione su un'istanza, imposta il flag cloudsql.enable_pg_squeeze
su on
.
Questa estensione supporta anche la decodifica logica scrivendo informazioni aggiuntive nel log write-ahead (WAL). Per attivare questa funzionalità per l'estensione, imposta il parametro di configurazione wal_level
su logical
o superiore impostando il flag cloudsql.logical_decoding
su on
.
L'estensione richiede l'impostazione di un valore per il flag max_replication_slots
. Se
Non hai specificato un valore per questo flag, imposta il valore su 1
. In caso contrario, aggiungi 1 al valore impostato per il flag.
Per informazioni sull'impostazione dei flag e per esaminare i flag supportati per questa estensione, vedi Configurare i flag di database.
pgtt
Per iniziare a utilizzare questa estensione su un'istanza, imposta la classe
pgtt.enabled
flag per on
. Per informazioni sull'impostazione
e per controllare i flag supportati per questa estensione, consulta
Configurazione dei flag di database.
pg_visibility
Questa estensione fornisce un modo per esaminare la mappa di visibilità (VM) le informazioni sulla visibilità a livello di pagina di una tabella. Per saperne di più, consulta pg_visibility nella documentazione di PostgreSQL.
PL/Proxy
Questa estensione è un gestore linguistico procedurale che consente la procedura remota tra database PostgreSQL, con sharding facoltativo.
Per ulteriori informazioni, consulta la documentazione PL/proxy.
Le istanze di destinazione per le connessioni devono trovarsi nella stessa rete VPC connessione dell'istanza. Inoltre, nel formato nella console Google Cloud, il pulsante Consenti solo connessioni SSL per di Compute Engine.
Per connetterti ai database all'interno della stessa istanza,
non puoi impostare l'host su localhost o su 127.0.0.1
. Invece,
devi utilizzare l'indirizzo IP mostrato per l'istanza nella console Google Cloud.
Vedi anche postgres_fdw e dblink in questo documento.
postgresql_anonymizer
Per iniziare a utilizzare questa estensione su un'istanza, imposta la classe
cloudsql.enable_anon
flag per on
. Per informazioni su come impostare i flag e per esaminare quelli supportati per questa estensione, consulta Configurare i flag di database.
postgres_fdw
Questa estensione consente tabelle di altri database PostgreSQL ("esteri") essere esposti come "stranieri" nel database attuale. Queste tabelle disponibili per l'uso, quasi come se si trattasse di tavoli locali. Per ulteriori informazioni, vedi postgres_fdw nella documentazione di PostgreSQL.
Questa estensione funziona per due istanze IP private di Cloud SQL all'interno della sulla stessa rete VPC o per più database all'interno della stessa istanza.
Per connetterti ai database all'interno della stessa istanza, non puoi impostare l'host su
localhost o a 127.0.0.1
. Devi invece utilizzare l'indirizzo IP
mostrato per la tua istanza nella console Google Cloud.
Inoltre, per un'istanza in cui sono archiviati dati esterni,
puoi scegliere
Consenti solo connessioni SSL nella console Google Cloud.
Non puoi scegliere
Opzione Richiedi certificati client attendibili.
Solo cloudsqlsuperuser
può essere il proprietario
di un wrapper di dati esteri postgres_fdw
.
Vedi anche PL/Proxy e dblink in questo documento.
postgresql-hll
Questa estensione introduce un nuovo tipo di dato, hll
, che è una struttura di dati HyperLogLog. Per ulteriori informazioni, consulta
documentazione postgresql-hll.