Enable remote connections to PostgreSQL
Normally PostgreSQL only accepts connections from the local machine. To enable remote connections, you need to edit the configuration file.
Modify the PostgreSQL configuration file
The location of the configuration file depends on the version of PostgreSQL. For example, in PostgreSQL 12, the configuration file is located at /etc/postgresql/12/main/postgresql.conf.
Note : In Amazon Linux or CentOS, the file location is /var/lib/pgsql/data/postgresql.conf.
Open the configuration file:
shell
sudo nano /etc/postgresql/<postgresql-version>/main/postgresql.confUncomment the line listen_addresses and change the value to *:
shell
# From #listen_addresses = 'localhost' to
listen_addresses = '*'Restart the PostgreSQL service:
shell
sudo systemctl restart postgresqlAllow remote connections to PostgreSQL
Open the pg_hba.conf file:
shell
sudo nano /etc/postgresql/<postgresql-version>/main/pg_hba.conf
# or from Amazon Linux or CentOS
sudo nano /var/lib/pgsql/data/pg_hba.confFind the line:
# IPv4 local connections:
host all all 127.0.0.1/32 md5Modify it to:
# IPv4 local connections:
host all all 0.0.0.0/0 md5Note : In PostgreSQL 15 maybe using 'ident' instead of 'md5'.
Restart the PostgreSQL service:
shell
sudo systemctl restart postgresqlStill can't connect to PostgreSQL?
Please don't forget to allow port 5432 in the firewall