Ich habe versucht, meine Amazon Relational Database Service (Amazon RDS) PostgreSQL- oder Amazon Aurora PostgreSQL-kompatible Edition-DB-Instance abzufragen. Als ich das tat, erhielt ich jedoch eine der folgenden Fehlermeldungen: „Daten konnten nicht an den Client gesendet werden“ oder „Es konnten keine Daten vom Client empfangen werden“
Behebung
Ein Backend-Prozess in einer Amazon RDS-DB-Instance muss in der Lage sein, Daten von einem Client zu senden oder zu empfangen. Wenn der Backend-Prozess keine Daten senden oder empfangen kann, zeichnet der Backend-Prozess einen der Fehler im PostgreSQL-Protokoll auf. Führen Sie die folgenden Schritte aus, um diesen Fehler zu beheben.
Überprüfen Sie die Aktivität des Client
Überprüfen Sie zunächst die Aktualität des Client-Prozesses. Wenn der Client-Prozess beispielsweise aufgrund von Speichermangel (out-of-memory) (OOM) abstürzt, wird die Sitzung möglicher- und fälschlicherweise beendet. Diese Kündigung kann dazu führen, dass einer dieser Fehler auftritt.
Verkürzen Sie die Parameter tcp_keepalives_idle und tcp_keepalives_interval
Wenn die Verarbeitungszeit für eine Abfrage zu lang ist, wird die Sitzung möglicher- und fälschlicherweise vom Client aus beendet. Um dieses Problem zu beheben, erhöhen Sie die Timeout-Einstellung des Clients. Sie können auch die Parameter tcp_keepalives_idle und tcp_keepalives_interval verkürzen, um die Gültigkeit des Clients vom Backend-Prozess aus zu überprüfen. Weitere Informationen finden Sie unter Arbeiten mit Parametergruppen.
Um die Standardwerte von tcp_keepalives_idle und tcp_keepalives_interval zu überprüfen, führen Sie den folgenden Befehl mit einem PostgreSQL-Client wie psql aus:
SELECT name, setting FROM pg_settings WHERE name LIKE 'tcp_keepalives_%'
Überprüfen Sie die Konnektivität
Wenn der Fehler unabhängig von kürzeren Abfrageverarbeitungszeiten auftritt, überprüfen Sie die Konnektivität zwischen dem Client und der DB-Instance.
Prüfen Sie, ob der Fehler nach einem Failover von der rdsadmin-Sitzung auftritt
Wenn der Fehler nach dem Failover von einer rdsadmin-Sitzung auftritt, ignorieren Sie den Fehler.
Verwandte Informationen
PostgreSQL-Fehlercodes (Auf der PostgreSQL-Website)
Verbindungen und Authentifizierung (Auf der PostgreSQL-Website)
Festlegen von TCP-Keepalives-Parametern