我刚安装了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
如何显示端口以及发生了什么情况?
答案 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,您就可以看到它正在侦听的端口:
显示端口;