FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xx", user "xxx", database "xxx", SSL off
it indicates that PostgreSQL cannot find a matching authentication rule in pg_hba.conf for the connection attempt.
Missing Entry: No rule exists for the specific host/user/database combination
Rule Order Issues: Valid rule exists but appears after a more general rejection rule
Incorrect Network Information: IP address or subnet mask is incorrect
Configuration Not Reloaded: Changes to pg_hba.conf not applied with pg_reload_conf()
A critical but often overlooked cause is the presence of invalid IP addresses anywhere in pg_hba.conf. For example:
host all all 10.292.94.1/32 md5
Why this causes problems:
IP octets must be between 0-255; "292" exceeds this limit
PostgreSQL silently rejects the invalid entry and may invalidate the entire configuration
New entries added to pg_hba.conf become ineffective, even at the beginning of the file
gpstop -u
or similar reload commands complete successfully with no error messages
Remove or correct any invalid IP addresses or subnet masks in pg_hba.conf
Ensure all entries use proper syntax and spacing
Reload PostgreSQL configuration:
SELECT pg_reload_conf();
or
gpstop -u