patternsqlMinor
Connecting to an external database with pgAdmin III
Viewed 0 times
pgadminwithconnectingdatabaseexternaliii
Problem
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
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
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
This example grants MD5 encrypted password access to all databases to all users on the private network
You can use the
After changing
Where the server explicitly states that all connections from the internal network are accepted.
I have already restarted the postmaster for the changes to ta
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 offTo 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.conf file if a pattern that matches your client address / username / database is present and enabled before any SQL GRANT access 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 md5This 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.conf editor that is built into pgAdmin III to edit the pg_hba.conf configuration file.After changing
pg_hba.conf, you need to trigger a server configuration reload using pg_ctl or by stopping and restarting the server process. Where the server explicitly states that all connections from the internal network are accepted.
pg_hba.conf# 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 md5I have already restarted the postmaster for the changes to ta
Solution
This line:
host all all 192.168.0.0/24 md5
will let through connections from IPs matching
The IP address of your error message being
To enable addresses like
Like this:
host all all 192.168.0.0/16 md5
Don't forget to reload Postgresql. From the official docs, use
host all all 192.168.0.0/24 md5
will let through connections from IPs matching
192.168.0.X where X is any byte.The IP address of your error message being
192.168.108.161, it does not match this pattern because 108 is not 0.To enable addresses like
192.168.X.Y, you'd need a /16 instead of /24 meaning that the first 16 bits only are fixed.Like this:
host all all 192.168.0.0/16 md5
Don't forget to reload Postgresql. From the official docs, use
pg_ctl reload. If that doesn't work, then there are other ways to do it listed in this question.Context
StackExchange Database Administrators Q#48152, answer score: 7
Revisions (0)
No revisions yet.