Come posso risolvere gli errori "could not send data to client" o "could not receive data from client" quando mi collego alla mia istanza database Amazon RDS per PostgreSQL o Aurora compatibile con PostgreSQL?

2 minuti di lettura
0

Ho provato a interrogare la mia istanza database Amazon Relational Database Service (Amazon RDS) per PostgreSQL o Amazon Aurora compatibile con PostgreSQL. Ma quando lo faccio, ricevo uno dei seguenti errori: "could not send data to client" o "could not receive data from client"

Risoluzione

Un processo di backend in un'istanza database Amazon RDS deve essere in grado di inviare o ricevere dati da un client. Se il processo di backend non è in grado di inviare o ricevere dati, il processo di backend registra uno degli errori nel log di PostgreSQL. Per risolvere questo errore, completa i seguenti passaggi.

Verifica la vitalità del client

Verifica innanzitutto la vitalità del processo del client. Se il processo client si blocca a causa di memoria insufficiente (OOM), ad esempio, la sessione potrebbe essere interrotta erroneamente. Questa interruzione può causare il verificarsi di uno di questi errori.

Diminuisci i parametri tcp_keepalives_idle e tcp_keepalives_interval

Se il tempo di elaborazione di una query è troppo lungo, la sessione potrebbe essere interrotta erroneamente dal client. Per risolvere questo problema, aumenta l'impostazione del timeout del client. Puoi anche abbreviare i parametri tcp_keepalives_idle e tcp_keepalives_intervalli per verificare la vitalità del client dal processo di backend. Per ulteriori informazioni, vedereUtilizzo dei gruppi di parametri.

Per verificare i valori predefiniti di tcp_keepalives_idle e tcp_keepalives_interval, usa un client PostgreSQL come psql per eseguire il seguente comando:

SELECT name, setting FROM pg_settings WHERE name LIKE 'tcp_keepalives_%'

Verifica la connettività

Se l'errore si verifica indipendentemente dai tempi di elaborazione della query, allora controlla la connettività tra il client e l'istanza database.

Verifica se l'errore si verifica dopo il failover dalla sessione di rdsadmin

Se l'errore si verifica dopo il failover da una sessione rdsadmin, ignora l'errore.

Informazioni correlate

Codici di errore PostgreSQL (sul sito Web PostgreSQL)

Connessioni e autenticazione (sul sito Web PostgreSQL)

Impostazione dei parametri di keepalives TCP

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa