I'm trying to connect to an external database from pgAdmin III (which is installed on both machines). The client complains:
Access to database denied
The server doesn't grant access to the database: the server reports
FATAL: no pg_hba.conf entry for host "192.168.108.161", user "postgres", database "postgres", SSL off
To access a database on a PostgreSQL server, you first have to grant primary access to the server for your client (Host Based Authentication). PostgreSQL will check the
pg_hba.conffile if a pattern that matches your client address / username / database is present and enabled before any
SQL GRANTaccess control lists are evaluated.
The initial settings in pg_hba.conf are quite restrictive, in order to avoid unwanted security holes caused by unreviewed but mandatory system settings. You'll probably want to add something like
host all all 192.168.0.0/24 md5
This example grants MD5 encrypted password access to all databases to all users on the private network
192.168.0.0/24. You can use the
pg_hba.confeditor that is built into pgAdmin III to edit the
pg_hba.conf, you need to trigger a server configuration reload using
pg_ctlor by stopping and restarting the server process.
Where the server explicitly states that all connections from the internal network are accepted.
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 host all all 192.168.0.0/24 md5
I have already restarted the postmaster for the changes to take effect, and have gone so far as to restart the entire machine. What else could be going wrong here?