Como solucionar o erro “não foi possível enviar dados ao cliente” ou “não foi possível receber dados do cliente” ao me conectar à minha instância de banco de dados Amazon RDS para PostgreSQL ou compatível com o PostgreSQL do Aurora?

2 minuto de leitura
0

Tentei consultar minha instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou compatível com PostgreSQL do Amazon Aurora. Quando fiz isso, porém, recebi um dos seguintes erros: “não foi possível enviar dados ao cliente” ou “não foi possível receber dados do cliente”

Resolução

Um processo de back-end em uma instância de banco de dados do Amazon RDS deve ser capaz de enviar ou receber dados de um cliente. Se o processo de back-end não puder enviar ou receber dados, o processo de back-end registrará um dos erros no log do PostgreSQL. Para solucionar esse erro, conclua as etapas a seguir.

Verifique a disponibilidade do cliente

Verifique primeiro a disponibilidade do processo do cliente. Se o processo do cliente falhar devido à falta de memória (OOM), por exemplo, a sessão poderá ser encerrada incorretamente. Esse encerramento pode causar a ocorrência de qualquer um desses erros.

Reduza os parâmetros tcp_keepalives_idle e tcp_keepalives_interval

Se o tempo do processo de uma consulta for muito longo, a sessão poderá ser encerrada incorretamente pelo cliente. Para resolver esse problema, aumente a configuração de tempo limite do cliente. Também é possível reduzir os parâmetros tcp_keepalives_idle e tcp_keepalives_interval para verificar a disponibilidade do cliente a partir do processo de back-end. Para obter mais informações, consulte Trabalhar com grupos de parâmetros.

Para verificar os valores padrão de tcp_keepalives_idle e tcp_keepalives_interval, use um cliente PostgreSQL, como psql, para executar o seguinte comando:

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

Verificar a conectividade

Se o erro ocorrer independentemente do menor tempo de processamento da consulta, verifique a conectividade entre o cliente e a instância de banco de dados.

Verifique se o erro ocorre após o failover da sessão rdsadmin

Se o erro ocorrer após o failover de uma sessão rdsadmin, ignore-o.

Informações relacionadas

Códigos de erro do PostgreSQL (no site do PostgreSQL)

Conexões e autenticação (no site do PostgreSQL)

Definição de parâmetros keepalives do TCP

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses