Wie behebe ich die Fehler „Daten konnten nicht an den Client gesendet werden“ oder „Es konnten keine Daten vom Client empfangen werden“, wenn ich eine Verbindung zu meiner Amazon RDS für PostgreSQL- oder Aurora PostgreSQL-kompatiblen DB-Instance herstelle?

Lesedauer: 2 Minute
0

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr