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