我如何获得Postgres端口

时间:2018-09-18 12:47:33

标签: postgresql

我刚安装了Postgres,我尝试检查它是否正在运行以及在哪个端口上运行,尽管我知道它通常具有哪个默认端口 这些命令没有向我显示端口。

service postgresql status

我明白了

postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor prese
   Active: active (exited) since Tue 2018-09-18 14:17:14 CEST; 22min ago
  Process: 2632 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 2632 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/postgresql.service

Sep 18 14:17:14 user-HP-Pavilion-TS-15-Notebook-PC systemd[1]: Starting PostgreS
Sep 18 14:17:14 user-HP-Pavilion-TS-15-Notebook-PC systemd[1]: Started PostgreSQ
Sep 18 14:39:19 user-HP-Pavilion-TS-15-Notebook-PC systemd[1]: Started PostgreSQ

当我只是尝试简单地检查过程并查看命令后它显示在哪个端口上

 sudo netstat -plunt |grep postgres

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      2592/postgres   
tcp        0      0 127.0.0.1:9187          0.0.0.0:*               LISTEN      1065/postgres_expor

如何显示端口以及发生了什么情况?

2 个答案:

答案 0 :(得分:2)

首先,找到“ postmaster”进程,它是所有其他PostgreSQL进程的父级。

如果数据库已启动,则可以从PostgreSQL数据目录中的postmaster.pid文件中获取它。

然后您可以使用lsof获取端口。假设进程ID为23521,请运行

lsof -P -sTCP:LISTEN -i TCP -a -p 23521

这将显示PostgreSQL正在监听的端口。

答案 1 :(得分:1)

This answer on serverfault 需要您连接到机器,而不需要其他软件包或 root 用户。

只需连接并运行命令即可。

<块引用>

如果您可以从原始机器连接到 PostgreSQL,您就可以看到它正在侦听的端口:

显示端口;