Controlla se la tua domanda o il tuo problema è già stato trattato in una delle pagine seguenti:
- Domande frequenti
- Problemi noti
- Messaggi di errore
- Diagnostica dei problemi
- Debug dei problemi di connessione
Gli argomenti trattati in questa pagina includono:
- Backup e ripristino
- Annullare l'importazione e l'esportazione
- Clonazione
- Connettività
- Creazione di istanze
- Flag
- Alta disponibilità
- Importazione ed esportazione
- Integrazione con Vertex AI
- Logging
- Gestione di istanze
- Private Service Connect
- Replica
Backup e ripristino
Problema | Risoluzione dei problemi |
---|---|
Non puoi visualizzare lo stato dell'operazione corrente. | La console Google Cloud segnala solo l'esito positivo o negativo dell'operazione
al termine. Non è progettato per mostrare avvisi o altri aggiornamenti.
Esegui il comando
|
Vuoi scoprire chi ha emesso un'operazione di backup on demand. | L'interfaccia utente non mostra l'utente che ha avviato un'operazione.
Cerca nei log e filtra per testo per trovare l'utente. Potresti dover utilizzare i log di controllo per informazioni private. I file di log pertinenti includono:
|
Una volta eliminata un'istanza, non puoi eseguirne il backup. | Se elimini un'istanza senza eseguire un backup finale dei dati, non è possibile alcun recupero dei dati. Tuttavia, se ripristini l'istanza, Cloud SQL ripristina anche i backup. Per ulteriori informazioni sul recupero di un'istanza eliminata, consulta Backup di recupero. Se hai eseguito un'operazione di esportazione, crea una nuova istanza e poi esegui un'operazione di importazione per ricreare il database. Le esportazioni vengono scritte in Cloud Storage e le importazioni vengono lette da lì. |
Un backup automatico è bloccato da molte ore e non può essere annullato. | I backup possono richiedere molto tempo, a seconda delle dimensioni del database.
Se hai davvero bisogno di annullare l'operazione, puoi chiedere all'
assistenza clienti di |
Un'operazione di ripristino può non riuscire quando uno o più utenti a cui viene fatto riferimento nel file di dump SQL non esistono. | Prima di ripristinare un dump SQL, tutti gli utenti del database che sono proprietari di oggetti o
a cui sono state concesse autorizzazioni per gli oggetti nel database di cui è stato eseguito il dump devono esistere nel
database di destinazione. In caso contrario, l'operazione di ripristino non riesce a ricreare gli oggetti con la proprietà o le autorizzazioni originali.
Crea gli utenti del database prima di ripristinare il dump SQL. |
Vuoi aumentare il numero di giorni per i quali puoi conservare i backup automatici da 7 a 30 giorni o più. | Puoi
configurare il numero di backup automatici da conservare,
da 1 a 365. I backup automatici vengono eliminati
regolarmente in base al valore di conservazione configurato. Purtroppo, ciò significa che i
backup attualmente visibili sono gli unici backup automatici da cui puoi eseguire il ripristino.
Per conservare i backup a tempo indeterminato, puoi creare un backup on demand, in quanto non vengono eliminati come i backup automatici. I backup on demand vengono conservati per un periodo di tempo indefinito. ovvero rimangono finché non vengono eliminati o finché non viene eliminata l'istanza a cui appartengono. Poiché questo tipo di backup non viene eliminato automaticamente, può influire sulla fatturazione. |
Un backup automatico non è andato a buon fine e non hai ricevuto una notifica via email. | Per fare in modo che Cloud SQL ti invii una notifica sullo stato del backup, configura un avviso basato sui log. |
Un'istanza non riesce ripetutamente perché passa ciclicamente tra gli stati di errore e ripristino del backup. I tentativi di connessione e utilizzo del database dopo il ripristino non vanno a buon fine. |
Tentativi da effettuare
|
Ti accorgi che mancano dati durante l'esecuzione di un'operazione di backup/ripristino. | Le tabelle sono state create come non registrate. Ad esempio:
Queste tabelle non sono incluse in un ripristino da un backup:
La soluzione consiste nell'evitare di utilizzare tabelle non registrate se vuoi ripristinarle
tramite un backup. Se esegui il ripristino da un database che
contiene già tabelle non registrate, puoi eseguire il dump del database in un file e ricaricare i
dati dopo aver modificato il file di dump impostando |
Annulla importazione ed esportazione
Problema | Risoluzione dei problemi |
---|---|
Messaggio di errore: You can't cancel operation [operation-ID] because
this operation isn't in progress. |
Stai tentando di annullare un'operazione di importazione o esportazione completata, non riuscita o annullata. Se l'operazione è in esecuzione, puoi annullarla. |
Messaggio di errore: You can't cancel operation [operation-ID] because
Cloud SQL doesn't support the cancellation of an [operation-type]
operation. |
Cloud SQL
non supporta l'annullamento dell'operazione perché ha un tipo di operazione diverso da |
Messaggio di errore: The [operation-type] operation isn't cancelled. Wait
and retry in a few seconds. |
Al momento Cloud SQL non può annullare l'operazione di importazione o esportazione. Riprova tra qualche secondo. Se il problema persiste, contatta l'assistenzaGoogle Cloud . |
Clona
Problema | Risoluzione dei problemi |
---|---|
La clonazione non riesce a causa dell'errore constraints/sql.restrictAuthorizedNetworks . |
L'operazione di clonazione è bloccata dalla configurazione Authorized Networks .
Authorized Networks sono configurati per gli indirizzi IP pubblici nella sezione Connettività
della console Google Cloud e la clonazione non è consentita a causa di
considerazioni di sicurezza.
Se possibile, rimuovi tutte le voci |
Messaggio di errore: Failed to create subnetwork. Couldn't find free
blocks in allocated IP ranges. Please allocate new ranges for this service
provider. Help Token: [help-token-id]. |
Stai tentando di utilizzare la console Google Cloud per clonare un'istanza con un indirizzo IP privato, ma non hai specificato l'intervallo IP allocato che vuoi utilizzare e l'istanza di origine non è stata creata con l'intervallo specificato. Di conseguenza, l'istanza clonata viene creata in un intervallo casuale. Utilizza |
Connetti
Problema | Risoluzione dei problemi |
---|---|
Aborted connection . |
Il problema potrebbe essere:
Le applicazioni devono tollerare gli errori di rete e seguire le best practice come il pooling delle connessioni e i nuovi tentativi. La maggior parte dei pool di connessioni rileva questi errori, se possibile. In caso contrario, l'applicazione deve riprovare o non riuscire in modo controllato. Per il nuovo tentativo di connessione, ti consigliamo i seguenti metodi:
La combinazione di questi metodi contribuisce a ridurre la limitazione. |
Certificate verify failed . |
I certificati client sono scaduti o il percorso ai certificati non è corretto. Rigenera i certificati ricreandoli. |
FATAL: database 'user' does not exist . |
gcloud sql connect --user funziona solo con l'utente
postgres predefinito.
Connettiti all'utente predefinito, poi cambia utente. |
Vuoi scoprire chi è connesso. | Accedi al database ed esegui questo comando:
SELECT datname, usename, application_name as appname, client_addr, state, now() - backend_start as conn_age, now() - state_change as last_activity_age FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY 6 DESC LIMIT 20 |
Hostname/IP does not match certificate's altnames:
Host: localhost. is not in the cert's altnames . |
L'indirizzo host non corrisponde all'indirizzo nei nomi alternativi del certificato del server. Se utilizzi Node.js con verify-full o il suo equivalente,
utilizza il nome DNS per il parametro servername.
Il nome DNS può essere trovato nel certificato
del server utilizzando openssl. Ad esempio,
|
Creazione delle istanze
Problema | Risoluzione dei problemi |
---|---|
Messaggio di errore: Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider . |
Non sono disponibili altri indirizzi nell'intervallo IP allocato. Possono
verificarsi diversi scenari possibili:
Per risolvere il problema, puoi espandere l'intervallo IP allocato esistente o allocare un intervallo IP aggiuntivo alla connessione di servizio privato. Per saperne di più, consulta Allocare un intervallo di indirizzi IP. Se hai utilizzato il flag Se stai allocando un nuovo intervallo, assicurati che l'allocazione non si sovrapponga ad allocazioni esistenti. Dopo aver creato un nuovo intervallo IP, aggiorna il peering VPC con il seguente comando: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force Se stai espandendo un'allocazione esistente, fai attenzione ad aumentare solo l'intervallo di allocazione e non a diminuirlo. Ad esempio, se l'allocazione originale era 10.0.10.0/24, la nuova allocazione deve essere almeno 10.0.10.0/23. In generale, se si parte da un'allocazione /24, diminuire la maschera di 1 per ogni condizione (gruppo di tipi di istanza aggiuntivo, regione aggiuntiva) è una buona regola pratica. Ad esempio, se provi a creare entrambi i gruppi di tipi di istanza nella stessa allocazione, è sufficiente passare da /24 a /23. Dopo aver espanso un intervallo IP esistente, aggiorna il peering VPC con il seguente comando: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
Messaggio di 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. |
Messaggio di errore: HTTPError 400: Invalid request: Incorrect Service Networking config for instance: PROJECT_ID:INSTANCE_NAME:SERVICE_NETWORKING_NOT_ENABLED. |
Abilita l'API Service Networking utilizzando il comando seguente e prova a creare di nuovo l'istanza Cloud SQL. gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID |
Messaggio di errore: Failed to create subnetwork. Required
'compute.projects.get' permission for PROJECT_ID . |
Quando crei un'istanza utilizzando un indirizzo IP privato, viene creato un service account just-in-time utilizzando l'API Service Networking. Se hai abilitato di recente l'API Service Networking, il account di servizio potrebbe non essere creato e la creazione dell'istanza non riesce. In questo caso, devi attendere che il account di servizio si propaghi in tutto il sistema o aggiungerlo manualmente con le autorizzazioni richieste. |
Messaggio di errore: More than 3 subject alternative names are not
allowed. |
Stai tentando di utilizzare un nome comune del soggetto personalizzato per aggiungere più di tre nomi DNS al certificato del server di un'istanza Cloud SQL. Non puoi aggiungere più di tre nomi DNS all'istanza. |
Messaggio di errore: Subject alternative names %s is too long. The
maximum length is 253 characters. |
Assicurati che i nomi DNS che vuoi aggiungere al certificato del server di un'istanza Cloud SQL non superino i 253 caratteri. |
Messaggio di errore: Subject alternative name %s is invalid. |
Verifica che i nomi DNS che vuoi aggiungere al certificato del server di un'istanza Cloud SQL soddisfino i seguenti criteri:
|
Esporta
Problema | Risoluzione dei problemi |
---|---|
HTTP Error 409: Operation failed because another operation was
already in progress. |
Esiste già un'operazione in attesa per la tua istanza. È consentita una sola operazione alla volta. Prova a eseguire la richiesta dopo il completamento dell'operazione attuale. |
HTTP Error 403: The service account does not have the required
permissions for the bucket. |
Assicurati che il bucket esista e che il account di servizio dell'istanza Cloud SQL (che esegue l'esportazione) disponga del ruolo
Storage Object Creator
(roles/storage.objectCreator ) per consentire l'esportazione nel bucket. Vedi
Ruoli IAM per Cloud Storage. |
L'esportazione CSV è andata a buon fine, ma l'esportazione SQL non è riuscita. | I formati CSV e SQL vengono esportati in modo diverso. Il formato SQL esporta
l'intero database e probabilmente richiede più tempo per essere completato. Il formato CSV ti consente di definire quali elementi del database includere nell'esportazione.
Utilizza le esportazioni CSV per esportare solo ciò che ti serve. |
L'esportazione sta richiedendo troppo tempo. | Cloud SQL non supporta le operazioni sincrone simultanee.
Utilizza il trasferimento dell'esportazione. A livello generale, nel trasferimento dell'esportazione, anziché eseguire un'esportazione sull'istanza di origine, Cloud SQL avvia un'istanza di trasferimento per eseguire l'esportazione. L'offload dell'esportazione presenta diversi vantaggi, tra cui un aumento del rendimento dell'istanza di origine e lo sblocco delle operazioni amministrative durante l'esecuzione dell'esportazione. Con il trasferimento del carico di esportazione, la latenza totale può aumentare del tempo necessario per avviare l'istanza di offload. In genere, per le esportazioni di dimensioni ragionevoli, la latenza non è significativa. Tuttavia, se l'esportazione è sufficientemente piccola, potresti notare l'aumento della latenza. |
Errore durante la creazione dell'estensione. | Il file di dump contiene riferimenti a un'estensione non supportata. |
Errore durante l'utilizzo di pg_dumpall . |
L'utilizzo dell'utilità pg_dumpall con il flag --global
richiede il ruolo
di superuser, ma
questo ruolo non è supportato in Cloud SQL per PostgreSQL. Per evitare errori durante l'esecuzione di operazioni di esportazione che includono nomi utente, utilizza anche il flag --no-role-passwords .
|
L'operazione di esportazione scade prima di esportare qualsiasi elemento e viene visualizzato
il messaggio di errore Could not receive data from client: Connection reset
by peer. |
Se Cloud Storage non riceve dati entro un determinato
intervallo di tempo, in genere circa sette minuti, la connessione viene reimpostata. È
possibile che l'esecuzione della query di esportazione iniziale richieda troppo tempo.
Esegui un'esportazione manuale utilizzando lo
strumento |
Vuoi che le esportazioni siano automatizzate. | Cloud SQL non fornisce un modo per automatizzare le esportazioni.
Puoi creare il tuo sistema di esportazione automatizzato utilizzando prodotti come Cloud Scheduler, Pub/Sub e Cloud Run Functions, in modo simile a questo articolo sull' automazione dei backup. Google Cloud |
Bandiere
Problema | Risoluzione dei problemi |
---|---|
Imposti il fuso orario per una sessione, ma scade quando esci. |
Connettiti al database e imposta il fuso orario del database su quello che preferisci, per utente o per database. In Cloud SQL per PostgreSQL puoi specificare quanto segue.
Queste impostazioni rimangono dopo la chiusura di una sessione, simulando una
configurazione ALTER DATABASE dbname SET TIMEZONE TO 'timezone'; ALTER USER username SET TIMEZONE TO 'timezone'; Queste impostazioni si applicano solo alle nuove connessioni al database. Per visualizzare la modifica al fuso orario, disconnettiti dall'istanza e riconnettiti. |
Alta disponibilità
Problema | Risoluzione dei problemi |
---|---|
Non riesci a trovare le metriche per un failover manuale. | Nelle metriche vengono conteggiati solo i failover automatici. |
Le risorse dell'istanza Cloud SQL (CPU e RAM) sono vicine al 100% di utilizzo, il che causa l'interruzione dell'istanza ad alta disponibilità. | Le dimensioni della macchina dell'istanza sono troppo piccole per il carico.
Modifica l'istanza per eseguire l'upgrade a una dimensione della macchina più grande per ottenere più CPU e memoria. |
Importa
Problema | Risoluzione dei problemi |
---|---|
Messaggio di errore: permission denied for schema public |
Per PostgreSQL versione 15 e successive, se il database di destinazione viene creato da template0 , l'importazione dei dati potrebbe non riuscire. Per risolvere il problema, fornisci i privilegi dello schema pubblico all'utente cloudsqlsuperuser eseguendo il comando SQL GRANT ALL ON SCHEMA public TO cloudsqlsuperuser . |
HTTP Error 409: Operation failed because another operation was already in progress . |
Esiste già un'operazione in attesa per la tua istanza. È consentita una sola operazione alla volta. Prova a eseguire la richiesta dopo il completamento dell'operazione attuale. |
L'operazione di importazione sta richiedendo troppo tempo. | Un numero eccessivo di connessioni attive può interferire con le operazioni di importazione.
Chiudi le operazioni non utilizzate. Controlla l'utilizzo di CPU e memoria della tua istanza Cloud SQL per assicurarti che ci siano molte risorse disponibili. Il modo migliore per garantire le risorse massime per l'importazione è riavviare l'istanza prima di iniziare l'operazione. Un riavvio:
|
Un'operazione di importazione può non riuscire quando uno o più utenti a cui viene fatto riferimento nel file di dump non esistono. | Prima di importare un file di dump, tutti gli utenti del database che sono proprietari di oggetti o
a cui sono state concesse autorizzazioni per gli oggetti nel database di cui è stato eseguito il dump devono esistere nel
database di destinazione. In caso contrario, l'operazione di importazione non riesce a ricreare gli oggetti con la proprietà o le autorizzazioni originali.
Crea gli utenti del database prima dell'importazione. |
Dopo l'importazione dei dati, le dimensioni dell'utilizzo del disco dati sono molto più elevate. | Dopo l'importazione dei dati, potrebbe verificarsi un utilizzo del disco imprevisto. Questo utilizzo potrebbe essere dovuto all'utilizzo del recupero point-in-time. Per risolvere il problema, dopo aver importato i dati, disattiva il recupero point-in-time se vuoi eliminare i log e recuperare spazio di archiviazione. Tieni presente che la riduzione dello spazio di archiviazione utilizzato non riduce le dimensioni dello spazio di archiviazione di cui è stato eseguito il provisioning per l'istanza. |
Messaggio di errore: GRANT stderr: ERROR: must be member of role ROLE_NAME |
Questo messaggio di errore viene visualizzato se provi a importare un file di dump SQL caricato in Cloud Storage in un database Cloud SQL e il job di importazione è in esecuzione da circa quattro giorni. ROLE_NAME è un ruolo di database personalizzato definito nel database
PostgreSQL di origine. L'utente Per risolvere il problema, completa i seguenti passaggi:
|
Integrare con Vertex AI
Problema | Risoluzione dei problemi |
---|---|
Messaggio di errore: Google ML integration API is supported only on Postgres version 12 or above. |
Per abilitare l'integrazione di Vertex AI in Cloud SQL, devi disporre di un database Cloud SQL per PostgreSQL, versione 12 o successive. Per eseguire l'upgrade del database a questa versione, vedi Eseguire l'upgrade sul posto della versione principale del database. |
Messaggio di errore: Google ML Integration API is not supported on shared core instance. Please upsize your machine type. |
Se hai selezionato un core condiviso per il tipo di macchina della tua istanza, non puoi attivare l'integrazione di Vertex AI in Cloud SQL. Esegui l'upgrade del tipo di macchina a core dedicato. Per saperne di più, consulta Tipo di macchina. |
Messaggio di errore: Google ML Integration is unsupported for this maintenance version. Please follow https://cloud.google.com/sql/docs/postgres/self-service-maintenance to update the maintenance version of the instance. |
Per abilitare l'integrazione di Vertex AI in Cloud SQL, la versione di manutenzione della tua istanza deve essere R20240130 o successive. Per eseguire l'upgrade dell'istanza a questa versione, vedi Manutenzione self-service. |
Messaggio di errore: Cannot invoke ml_predict_row if 'cloudsql.enable_google_ml_integration' is off. |
Il flag di database cloudsql.enable_google_ml_integration è disattivato. Cloud SQL non può integrarsi con Vertex AI.Per attivare questo flag, utilizza il comando gcloud sql instances patch :gcloud sql instances patch INSTANCE_NAME --database-flags cloudsql.enable_google_ml_integration=on Sostituisci INSTANCE_NAME con il nome dell'istanza Cloud SQL principale. |
Messaggio di errore: Failed to connect to remote host: Connection refused. |
L'integrazione tra Cloud SQL e Vertex AI non è abilitata. Per attivare questa integrazione, utilizza il comando gcloud sql instances patch :gcloud sql instances patch INSTANCE_NAME Sostituisci INSTANCE_NAME con il nome dell'istanza Cloud SQL principale. |
Messaggio di errore: Vertex AI API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting /apis/api/aiplatform.googleapis.com/overview?project=PROJECT_ID then retry. |
L'API Vertex AI non è abilitata. Per ulteriori informazioni sull'abilitazione di questa API, consulta Abilitare l'integrazione del database con Vertex AI. |
Messaggio di errore: Permission 'aiplatform.endpoints.predict' denied on resource. |
Le autorizzazioni Vertex AI non vengono aggiunte al account di servizio Cloud SQL per il progetto in cui si trova l'istanza Cloud SQL. Per ulteriori informazioni sull'aggiunta di queste autorizzazioni al account di servizio, consulta Attivare l'integrazione del database con Vertex AI. |
Messaggio di errore: Publisher Model `projects/PROJECT_ID/locations/REGION_NAME/publishers/google/models/MODEL_NAME` not found. |
Il modello di machine learning o l'LLM non esiste in Vertex AI. |
Messaggio di errore: Resource exhausted: grpc: received message larger than max. |
Le dimensioni della richiesta che Cloud SQL trasmette a Vertex AI superano il limite gRPC di 4 MB per richiesta. |
Messaggio di errore: Cloud SQL attempts to send a request to Vertex AI. However, the instance is in the %s region, but the Vertex AI endpoint is in the %s region. Make sure the instance and endpoint are in the same region. |
Cloud SQL tenta di inviare una richiesta a Vertex AI. Tuttavia, l'istanza si trova in una regione, mentre l'endpoint Vertex AI si trova in un'altra regione. Per risolvere il problema, sia l'istanza che l'endpoint devono trovarsi nella stessa regione. |
Messaggio di errore: The Vertex AI endpoint isn't formatted properly. |
L'endpoint Vertex AI non è formattato correttamente. Per maggiori informazioni, consulta Utilizzo di endpoint privati per la previsione online. |
Messaggio di errore: Quota exceeded for aiplatform.googleapis.com/online_prediction_requests_per_base_model with base model: textembedding-gecko. |
Il numero di richieste che Cloud SQL trasmette a Vertex AI supera il limite di 1500 richieste al minuto per regione per modello per progetto. |
Logging
Problema | Risoluzione dei problemi |
---|---|
La registrazione utilizza molta CPU e memoria nell'istanza Cloud SQL. | La registrazione deve essere ottimizzata.
Il flag |
Audit log non trovati. | I log di accesso ai dati vengono scritti solo se l'operazione è una chiamata API autenticata guidata dall'utente che crea, modifica o legge i dati creati dall'utente o se l'operazione accede ai file di configurazione o ai metadati delle risorse. |
Le informazioni sulle operazioni non sono presenti nei log. | Vuoi trovare maggiori informazioni su un'operazione.
Ad esempio, un utente è stato eliminato, ma non riesci a scoprire chi lo ha fatto. I log mostrano l'operazione iniziata, ma non forniscono ulteriori informazioni. Devi attivare la registrazione degli audit per registrare informazioni dettagliate e di identificazione personale (PII) come queste. |
I file di log sono difficili da leggere. | Preferisci visualizzare i log in formato JSON o testo.Puoi utilizzare il comando
gcloud logging read
insieme ai comandi di post-elaborazione di Linux per scaricare i log.
Per scaricare i log in formato JSON: gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d" \ > downloaded-log.json Per scaricare i log come file di testo: gcloud logging read \ "resource.type=cloudsql_database \ AND logName=projects/PROJECT_ID \ /logs/cloudsql.googleapis.com%2FLOG_NAME" \ --format json \ --project=PROJECT_ID \ --freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \ | .textPayload' \ --order=asc > downloaded-log.txt |
I log delle query non sono stati trovati nei log di PostgreSQL. | Devi attivare i flag pgaudit.
|
Gestisci le istanze
Problema | Risoluzione dei problemi |
---|---|
Vuoi scoprire quali query sono in esecuzione. | Connettiti al database ed esegui la seguente query:
|
Vuoi scoprire quali unità vengono utilizzate per un campo specifico. | Connettiti al database ed esegui la seguente query
(utilizzando il tuo FIELD_NAME ):
|
Vuoi trovare il valore attuale di un'impostazione del database. | Connettiti al database ed esegui la seguente query
(utilizzando il tuo SETTING_NAME ):
Esegui |
Vuoi interrompere un processo in background bloccato. | L'utente deve avere il ruolo pg_signal_backend .
Esegui questi comandi:
|
L'istanza si sta avvicinando al 100% del consumo degli ID transazione. | Il monitoraggio interno avvisa che l'istanza si sta avvicinando al 100%
di utilizzo degli ID transazione. Vuoi evitare il wraparound delle transazioni,
che può bloccare le scritture.
Il job autovacuum potrebbe essere bloccato o non recuperare gli ID transazione abbastanza velocemente da tenere il passo con il carico di lavoro. Per evitare interruzioni dovute al problema di wraparound delle transazioni, puoi consultare questi suggerimenti self-service per gestire il wraparound TXID. Per suggerimenti generali sull'ottimizzazione, consulta Ottimizzazione, monitoraggio e risoluzione dei problemi delle operazioni VACUUM in PostgreSQL. |
L'archiviazione temporanea ha aumentato l'archiviazione automatica. | L'archiviazione automatica è attivata.
Il riavvio elimina i file temporanei, ma non riduce lo spazio di archiviazione. Solo l' assistenza clienti può reimpostare le dimensioni dell'istanza. |
I dati vengono eliminati automaticamente. | Molto probabilmente uno script è in esecuzione da qualche parte nel tuo ambiente.
Controlla i log intorno al momento dell'eliminazione e verifica se è in esecuzione uno script non autorizzato da una dashboard o da un altro processo automatizzato. |
L'istanza non può essere eliminata. | Potresti visualizzare il messaggio di errore ERROR: (gcloud.sql.instances.delete) HTTP Error
409: The instance or operation is not in an appropriate state to handle the
request o l'istanza potrebbe avere lo stato del flag INSTANCE_RISKY_FLAG_CONFIG .
Alcune possibili spiegazioni includono:
|
L'istanza è bloccata a causa delle grandi dimensioni dei dati temporanei. | Il sistema può creare molte tabelle temporanee contemporaneamente, a seconda
delle query e del carico.
Purtroppo, non puoi ridurre le dimensioni del file Un'opzione di mitigazione è creare la tabella temporanea con
|
Errore irreversibile durante l'upgrade. | I log potrebbero rivelare ulteriori informazioni, ma in ogni caso potrebbe essere necessario l'assistenza clienti per forzare la ricreazione dell'istanza. |
L'istanza è bloccata al riavvio dopo l'esaurimento dello spazio su disco. | La funzionalità di aumento automatico dello spazio di archiviazione non è abilitata.
Se lo spazio di archiviazione dell'istanza si esaurisce e la funzionalità di aumento automatico dello spazio di archiviazione non è abilitata, l'istanza va offline. Per evitare questo problema, puoi modificare l'istanza per abilitare l'aumento automatico dello spazio di archiviazione. |
La tua istanza principale on-premise è bloccata. | Google Cloud non può aiutarti con le istanze che non si trovano in Cloud SQL. |
Arresto lento al riavvio. | Quando un'istanza si arresta, tutte le connessioni in sospeso che non
terminano entro 60 secondi rendono l'arresto non pulito.
Se le connessioni durano meno di 60 secondi, è possibile evitare la maggior parte degli arresti anomali, incluse le connessioni dal prompt dei comandi del database. Se mantieni aperte queste connessioni per ore o giorni, gli spegnimenti possono essere non puliti. |
Un utente non può essere eliminato. | Probabilmente l'utente ha oggetti nel database che dipendono da questo ruolo. Devi
eliminare questi oggetti o riassegnarli a un altro utente.
Scopri quali oggetti dipendono dall'utente, quindi eliminali o riassegnali a un altro utente. Questo thread su Stack Exchange spiega come trovare gli oggetti di proprietà dell'utente. |
Determinate query vengono eseguite lentamente. | Le query possono essere lente per molti motivi, principalmente a causa di aspetti specifici del database. Un motivo che può coinvolgere Cloud SQL è la latenza di rete,
quando la risorsa di origine (scrittore o lettore) e la risorsa di destinazione
(Cloud SQL) si trovano in regioni diverse.
Fai riferimento in particolare ai suggerimenti generali sul rendimento. Per inserimenti, aggiornamenti o eliminazioni lenti del database, valuta le seguenti azioni:
Per ridurre la latenza, ti consigliamo di individuare le risorse di origine e di destinazione nella stessa regione. |
Viene indicato che la memoria è piena, ma i grafici di monitoraggio non lo mostrano. | Un'istanza può non riuscire e segnalare Out of memory , ma i grafici della console Google Cloud o di Cloud Monitoring sembrano mostrare che è ancora disponibile memoria.
Oltre al carico di lavoro, esistono altri fattori che possono influire sull'utilizzo della memoria, ad esempio il numero di connessioni attive e i processi di overhead interni. Questi valori non sempre vengono visualizzati nei grafici di monitoraggio. Assicurati che l'istanza abbia un overhead sufficiente per tenere conto del carico di lavoro più un overhead aggiuntivo. |
Recupero di un'istanza eliminata. | Tutti i dati di un'istanza, inclusi i backup, vengono persi definitivamente quando
l'istanza viene eliminata.
Per conservare i dati, esportali in Cloud Storage prima di eliminare un'istanza. Il ruolo Cloud SQL Admin include l'autorizzazione per eliminare l'istanza. Per evitare eliminazioni accidentali, assegna questo ruolo solo se necessario. |
Vuoi rinominare un'istanza Cloud SQL esistente. | La ridenominazione di un'istanza esistente non è supportata.
Esistono altri modi per raggiungere l'obiettivo creando una nuova istanza.
In entrambi i casi, puoi eliminare la vecchia istanza al termine dell'operazione. Ti consigliamo di scegliere la clonazione, in quanto non influisce sulle prestazioni e non richiede di ripetere le impostazioni di configurazione dell'istanza, come flag, tipo di macchina, dimensioni dello spazio di archiviazione e memoria. |
Errore durante l'eliminazione di un'istanza. | Se la protezione da eliminazione è abilitata per un'istanza, conferma l'intenzione di eliminarla. Poi disattiva la protezione da eliminazione prima di eliminare l'istanza. |
Private Service Connect
Problema | Risoluzione dei problemi |
---|---|
Il collegamento del servizio dell'istanza non accetta l'endpoint Private Service Connect. |
|
Replica
Problema | Risoluzione dei problemi |
---|---|
La replica di lettura non ha iniziato la replica al momento della creazione. | Probabilmente nei file di log è presente un errore più specifico. Ispeziona i log in Cloud Logging per trovare l'errore effettivo. |
Impossibile creare la replica di lettura - errore invalidFlagValue. | Uno dei flag nella richiesta non è valido. Potrebbe trattarsi di un flag che hai
fornito esplicitamente o di uno impostato su un valore predefinito.
Innanzitutto, verifica che il valore del flag Se il flag |
Impossibile creare la replica di lettura. Errore sconosciuto. | Probabilmente nei file di log è presente un errore più specifico.
Ispeziona i log in
Cloud Logging per trovare l'errore effettivo.
Se l'errore è: |
Lo spazio sul disco è esaurito. | La dimensione del disco dell'istanza principale può esaurirsi durante la creazione della replica. Modifica l'istanza principale per eseguire l'upgrade a una dimensione del disco maggiore. |
Lo spazio su disco aumenta in modo significativo. | Uno slot non utilizzato attivamente per il monitoraggio dei dati fa sì che PostgreSQL
mantenga i segmenti WAL indefinitamente, causando una crescita indefinita dello spazio su disco. Se utilizzi
le funzionalità di replica e decodifica logiche in Cloud SQL, gli slot di replica vengono
creati ed eliminati automaticamente. Gli slot di replica inutilizzati possono essere rilevati eseguendo query sulla visualizzazione di sistema
pg_replication_slots
e filtrando in base alla colonna active . Gli slot
inutilizzati possono essere eliminati per rimuovere i segmenti WAL utilizzando il
comando pg_drop_replication_slot .
|
L'istanza di replica utilizza troppa memoria. | La replica utilizza la memoria temporanea per memorizzare nella cache le operazioni di lettura richieste di frequente, il che può portare a un utilizzo di memoria superiore rispetto all'istanza principale.
Riavvia l'istanza di replica per recuperare lo spazio di memoria temporaneo. |
La replica è stata interrotta. | È stato raggiunto il limite massimo di spazio di archiviazione e l'aumento automatico
dello spazio di archiviazione non è abilitato.
Modifica l'istanza per abilitare |
Il ritardo di replica è costantemente elevato. | Il carico di scrittura è troppo elevato per la replica. Il ritardo di replica
si verifica quando il thread SQL su una replica non riesce a tenere il passo con il
thread I/O. Alcuni tipi di query o carichi di lavoro possono causare un ritardo di replica elevato temporaneo o permanente per un determinato schema. Alcune delle cause tipiche
del ritardo della replica sono:
Alcune possibili soluzioni includono:
|
Errori durante la rigenerazione degli indici in PostgreSQL 9.6. | Ricevi un errore da PostgreSQL che ti informa che devi ricompilare un
indice specifico. Questa operazione può essere eseguita solo sull'istanza principale. Se
crei una nuova istanza di replica, l'errore si ripresenterà a breve.
Gli indici hash non vengono propagati alle repliche nelle versioni di PostgreSQL precedenti alla 10.
Se devi utilizzare gli indici hash, esegui l'upgrade a PostgreSQL 10 o versioni successive. Altrimenti, se vuoi utilizzare anche le repliche, non utilizzare gli indici hash in PostgreSQL 9.6. |
La query sull'istanza principale è sempre in esecuzione. | Dopo aver creato una replica, è previsto che la query SELECT * from pg_stat_activity where state = 'active' and pid = XXXX and username = 'cloudsqlreplica' venga eseguita continuamente sull'istanza principale.
|
La creazione della replica non riesce a causa del timeout. | Le transazioni non sottoposte a commit a esecuzione prolungata sull'istanza principale possono causare
la mancata creazione della replica di lettura.
Ricrea la replica dopo aver interrotto tutte le query in esecuzione. |
Se l'istanza primaria e la replica hanno dimensioni vCPU diverse, potrebbero verificarsi problemi di prestazioni delle query perché l'ottimizzatore di query tiene conto delle dimensioni vCPU. |
Per risolvere il problema, completa i seguenti passaggi:
Se si tratta di una query specifica, modificala. Ad esempio, puoi modificare l'ordine dei join per verificare se ottieni un rendimento migliore. |