2014-07-07 143 views

回答

2

这取决于你如何安装PostgreSQL及其如何如配置。

甚至可能会的PostgreSQL 9.3的多个实例在机器上 - 从Ubuntu的包零个或多个,经由pg_wrapper,和零个或多个从其它来源,如EDB图形安装程序,从源代码编译管理等

假设您只对由pg_wrapper管理的打包版本感兴趣,并且您只希望有一个版本:请使用pg_lsclusters

$ pg_lsclusters 
Ver Cluster Port Status Owner Data directory    Log file 
9.2 main 5433 down postgres /var/lib/postgresql/9.2/main /var/log/postgresql/postgresql-9.2-main.log 
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log 

例如,

pg_lsclusters -h | awk '/^9.3/ { if ($2 == "main") { print $3; } }' 
5

尝试这样的:

netstat -tulpn | grep postgres 
+0

是的,它的工作原理!但只有当我以root身份登录时才会显示。 –

2
select setting from pg_settings where name = 'port' 
  • ,如果你在同一个集群中有多个服务器,然后使用

    select inet_server_port();

+0

我不知道这很简单。非常感谢你。 –

+3

但是,只有在您已经知道要连接的端口时才有用。所以这是一种捕获 - 22。您不能假定默认端口是您想要的端口 - 这取决于机器的设置方式,并且默认情况下它可能会连接到其他PostgreSQL实例。 –

相关问题