Questa pagina elenca i problemi noti di Cloud SQL per PostgreSQL, insieme modi per evitare o risolvere questi problemi.
Se riscontri problemi con la tua istanza, assicurati di esaminare anche le informazioni nella sezione Diagnostica dei problemi.Problemi di connessione delle istanze
Certificati SSL/TLS scaduti
Se la tua istanza è configurata per utilizzare SSL, vai alla Pagina delle istanze Cloud SQL nella console Google Cloud e apri l'istanza. Apri la relativa pagina Connessioni, seleziona la Sicurezza e assicurati che il certificato del server sia valido. Se è scaduta, devi aggiungere un nuovo certificato e ruotarvi.
Versione proxy di autenticazione Cloud SQL
Se ti connetti utilizzando il proxy di autenticazione Cloud SQL, assicurati di utilizzare alla versione più recente. Per ulteriori informazioni, consulta Mantenere aggiornato il proxy di autenticazione Cloud SQL.
Non autorizzato a connettersi
Se provi a connetterti a un'istanza che non esiste in quel progetto, il messaggio di errore indica semplicemente che non sei autorizzato ad accedere a quel in esecuzione in un'istanza Compute Engine.
Impossibile creare un'istanza Cloud SQL
Se viene visualizzato l'errore
Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]
prova a creare di nuovo l'istanza Cloud SQL.
Quello che segue funziona solo con l'utente predefinito ("postgres"):
gcloud sql connect --user
Se provi a connetterti utilizzando questo comando con un altro utente, l'errore dice FATAL: database 'user' does not exist. La soluzione alternativa è connettersi utilizzando l'utente predefinito ("postgres") e usare il comando psql
"\c"
per riconnetterti come utente diverso.
Le connessioni PostgreSQL si bloccano quando è abilitata l'autenticazione del proxy database IAM.
Quando il proxy di autenticazione Cloud SQL viene avviato utilizzando socket TCP e con il flag
-enable_iam_login
, un client PostgreSQL si blocca durante la connessione TCP. Una soluzione alternativa consiste nell'utilizzaresslmode=disable
nella stringa di connessione PostgreSQL. Ad esempio:psql "host=127.0.0.1 dbname=postgres user=me@google.com sslmode=disable"
Un'altra soluzione è avviare il proxy di autenticazione Cloud SQL utilizzando i socket Unix. Questa operazione disattiva la crittografia SSL PostgreSQL e consente al proxy di autenticazione Cloud SQL di eseguire l'SSL la crittografia.
Problemi amministrativi
È possibile eseguire una sola operazione di importazione o esportazione di Cloud SQL a lunga esecuzione alla volta su un'istanza. Quando avvii un'operazione, assicurati di non dover eseguire altre operazioni sull'istanza. Inoltre, quando avvii l'operazione, puoi annullarla.
PostgreSQL importa i dati in una singola transazione. Pertanto, se annulli l'operazione di importazione, Cloud SQL non mantiene i dati dell'importazione.
Problemi con l'importazione e l'esportazione dei dati
Per PostgreSQL 15 e versioni successive, se il database di destinazione viene creato da
template0
, l'importazione dei dati potrebbe non riuscire e potresti visualizzare un messaggio di errorepermission denied for schema public
. Per risolvere il problema, fornisci privilegi pubblici per lo schema all'utentecloudsqlsuperuser
eseguendo il comando SQLGRANT ALL ON SCHEMA public TO cloudsqlsuperuser
.L'esportazione di molti oggetti di grandi dimensioni causa l'interruzione della risposta dell'istanza
Se il database contiene molti oggetti di grandi dimensioni (BLOB), il database viene esportato può consumare una quantità di memoria talmente elevata da far sì che l'istanza non risponda. Questo può accadere anche se i blob sono vuoti.
Cloud SQL non supporta gli spazi tabella personalizzati, ma supporta la migrazione dei dati dagli spazi tabella personalizzati allo spazio tabella predefinito
pg_default
nell'istanza di destinazione. Ad esempio, se possiedi uno spazio tabelle denominatodbspace
che si trova in/home/data
, dopo la migrazione verrà eseguita la migrazione di tutti i dati all'interno didbspace
inpg_default
. Tuttavia, Cloud SQL non creerà un tablespace denominato "dbspace" sul suo disco.Se stai tentando di importare ed esportare dati da un database di grandi dimensioni (ad esempio, un database con 500 GB di dati o più), quindi le fasi di importazione ed esportazione il completamento delle operazioni potrebbe richiedere molto tempo. Inoltre, non puoi eseguire altre operazioni (ad esempio l'operazione di backup) mentre è in corso l'importazione o l'esportazione. Una potenziale opzione per migliorare il rendimento del processo di importazione ed esportazione è ripristinare un backup precedente utilizzando
gcloud
o l'API.
- Cloud Storage supporta dimensione massima del singolo oggetto fino a cinque terabyte. Se hai database di dimensioni superiori a 5 TB, l'operazione di esportazione Cloud Storage non funziona. In questo caso, devi suddividere i file di esportazione in segmenti più piccoli.
Log delle transazioni e crescita del disco
I log vengono eliminati una volta al giorno, non continuamente. Quando il numero di giorni di log la conservazione è configurata in modo da corrispondere al numero di backup, un giorno potrebbe andare persa, a seconda di quando viene eseguito il backup. Ad esempio, se imposti la conservazione dei log su sette giorni e la conservazione dei backup su sette backup, verranno conservati tra sei e sette giorni di log.
Ti consigliamo di impostare il numero di backup su almeno uno in più rispetto ai giorni del conservazione dei log per garantire un minimo di giorni specifici di conservazione dei log.
Problemi relativi a Cloud Monitoring o Cloud Logging
Le istanze con i seguenti nomi di regione non vengono visualizzate correttamente in alcune contesti, come segue:
us-central1
visualizzato comeus-central
europe-west1
viene visualizzato comeeurope
asia-east1
viene visualizzato comeasia
Questo problema si verifica nei seguenti contesti:
- Avvisi in Cloud Monitoring
- Esplora metriche
- Cloud Logging
Puoi mitigare il problema per gli avvisi in Cloud Monitoring e per le metriche Spazio di esplorazione, utilizzando Etichette dei metadati delle risorse. Utilizza l'etichetta dei metadati di sistema
region
anziché cloudsql_database l'etichetta della risorsa monitorataregion
.