08004: sqlserver_rejected_establishment_of_sqlconnection
PostgreSQL¿Qué significa?
Se llegó al servidor, pero este se negó a establecer la conexión. Hay acceso de red, pero el servidor no aceptó esta conexión por política.
¿Por qué ocurre?
El servidor PostgreSQL rara vez genera este código; lo notifica sobre todo el driver del cliente o el pool de conexiones. Los códigos reales del servidor para rechazos similares son otros: un rechazo de pg_hba.conf ('no pg_hba.conf entry for host', el método reject) devuelve 28000 (invalid_authorization_specification), el agotamiento de max_connections devuelve 53300 (too_many_connections), y una conexión rechazada durante el arranque/apagado devuelve 57P03.
Cómo solucionarlo
Lea en el log del servidor el SQLSTATE real y el motivo del rechazo. Para un rechazo de pg_hba (28000), añada una línea que coincida con la IP del cliente, el usuario y la base de datos (p. ej., host all all 10.0.0.0/24 scram-sha-256) y recargue con SELECT pg_reload_conf();. Ante la saturación de conexiones (53300), compare las conexiones de clientes con max_connections usando SELECT count(*) FROM pg_stat_activity WHERE backend_type = 'client backend';