He intentado consultar mi instancia de base de datos PostgreSQL de Amazon Relational Database Service (Amazon RDS) o de la Edición compatible con PostgreSQL de Amazon Aurora. Pero al hacerlo, he recibido uno de los siguientes errores: «No se han podido enviar datos al cliente» o «no se han podido recibir datos del cliente»
Resolución
Un proceso de backend en una instancia de base de datos de Amazon RDS debe poder enviar o recibir datos de un cliente. Si el proceso de backend no puede enviar ni recibir datos, el proceso de backend registra uno de los errores en el registro de PostgreSQL. Para solucionar este problema, siga estos pasos.
Compruebe la vitalidad del cliente
Compruebe primero la vitalidad del proceso del cliente. Si el proceso del cliente se bloquea debido a una falta de memoria (OOM), por ejemplo, es posible que la sesión se haya terminado incorrectamente. Esta terminación puede provocar cualquiera de estos errores.
Reduzca los parámetros tcp_keepalives_idle y tcp_keepalives_interval
Si el tiempo de proceso de una consulta es demasiado largo, es posible que la sesión se haya terminado incorrectamente en el cliente. Para resolver este problema, aumente la configuración del tiempo de espera del cliente. También puede acortar los parámetros tcp_keepalives_idle y tcp_keepalives_interval para comprobar la vitalidad del cliente desde el proceso de backend. Para obtener más información, consulte Trabajo con los grupos de parámetros.
Para comprobar los valores predeterminados de tcp_keepalives_idle y tcp_keepalives_interval, ejecute el siguiente comando con un cliente de PostgreSQL como psql:
SELECT name, setting FROM pg_settings WHERE name LIKE 'tcp_keepalives_%'
Compruebe la conectividad
Si el error se produce independientemente de la reducción del tiempo de procesamiento de las consultas, compruebe la conectividad entre el cliente y la instancia de base de datos.
Compruebe si el error se produce después de la conmutación por error desde la sesión rdsadmin
Si el error se produce tras una conmutación por error desde una sesión de rdsadmin, puede ignorarlo.
Información relacionada
Códigos de error de PostgreSQL (en el sitio web de PostgreSQL)
Conexiones y autenticación (en el sitio web de PostgreSQL)
Configuración de los parámetros de TCP keepalives