代码之家  ›  专栏  ›  技术社区  ›  valik

我怎么去Postgres港

  •  1
  • valik  · 技术社区  · 7 年前

    我刚安装了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
    

    我怎样才能让港口显示,发生了什么事?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Laurenz Albe    7 年前

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

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

    然后你可以用 lsof . 假设进程ID为23521,运行

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

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