I know that by default PostgreSQL listens on port 5432, but what is the command to actually determine PostgreSQL's port?
Configuration: Ubuntu 9.10 with PostgreSQL 8.4
The PostgreSQL utility pg_lsclusters shows information about the configuration and status of all clusters, including the port number.
$ pg_lsclusters Version Cluster Port Status Owner Data directory Log file 8.4 main 5433 online postgres /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log
This also has the advantage of not requiring 'sudo' privileges to run.
On Debian and Ubuntu systems, the pg_lsclusters command is provided by the package postgresql-common, which should be installed by default with the postgresql server.
I have machines with multiple postgres instances running -- and so I also have the issue of trying to match up the correct database with each port. I tend to do:
$ ps aux | grep postgres | grep -v 'postgres:'
And then, for each of instances returned look for the directory (
-D argument) and:
$ sudo grep port $DIR/postgresql.conf