PostgreSQL 9.6不能在Ubuntu 16上连接

时间:2017-03-31 05:21:37

标签: postgresql ubuntu-16.04 postgresql-9.6

我在我的Ubuntu 16.04系统上安装了PostgreSQL 9.6。它似乎已经启动并运行,但是当我尝试建立连接时,它就失败了。当我运行状态命令时,我发现由于某种原因,它总是说exited。我在谷歌搜索中看到了很多东西,但似乎没有任何帮助。

我将pg_hba.conf中的第一个条目更改为local all postgres trust

  

%ps augxw | grep postg
  postgres 769 0.0 0.3 303964 24384? S 22:13 0:00 /usr/lib/postgresql/9.6/bin/postgres -D /var/lib/postgresql/9.6/main -c config_file = / etc / postgresql / 9.6 / main / postgresql.conf   postgres 772 0.0 0.0 303964 3956? Ss 22:13 0:00 postgres:9.6 / main:checkpointer process
  postgres 773 0.0 0.0 303964 3956? Ss 22:13 0:00 postgres:9.6 / main:作家流程
  postgres 774 0.0 0.0 303964 3956? Ss 22:13 0:00 postgres:9.6 / main:wal writer process
  postgres 775 0.0 0.0 304408 6572? Ss 22:13 0:00 postgres:9.6 / main:autovacuum launcher process
  postgres 776 0.0 0.0 158964 3204? Ss 22:13 0:00 postgres:9.6 / main:stats collector process
  ubuntu 1492 0.0 0.0 12944 936 pts / 0 S + 22:14 0:00 grep postg
  %
  %sudo su - postgres
  $ psql -h localhost
  psql:无法连接到服务器:连接被拒绝了         服务器是否在主机上运行" localhost" (127.0.0.1)并接受
        端口5432上的TCP / IP连接?
  $ exit
  注销
  %systemctl status postgresql
  ●postgresql.service - PostgreSQL RDBMS
     已加载(/lib/systemd/system/postgresql.service;已启用;供应商预设:已启用)
     活跃:从2017年3月30日星期四22:13:57 PDT开始活跃(退出); 1分19秒前     处理:901 ExecStart = / bin / true(代码=退出,状态= 0 /成功)
   主PID:901(代码=退出,状态= 0 /成功)
      任务:0
     记忆:0B
        CPU:0
     CGroup:/system.slice/postgresql.service

     

3月30日22:13:57 ip-172-31-9-223 systemd [1]:启动PostgreSQL RDBMS ...
  3月30日22:13:57 ip-172-31-9-223 systemd [1]:启动PostgreSQL RDBMS。

2 个答案:

答案 0 :(得分:0)

您正在使用TCP/IP套接字进行连接,但local指的是unix-domain套接字。

  

第一个字段是连接类型:" local"是一个Unix域套接字," host"是一个普通的或SSL加密的TCP / IP套接字," hostssl"是一个SSL加密的TCP / IP套接字," hostnossl"是一个普通的TCP / IP套接字。

我确实从该回购安装了postgresql-9.6并且:

  1. host all postgres 127.0.0.1/32 trust做你想做的事
  2. postgres@lkaminski-ubuntu-desk:~$ psql开箱即用,无需更改配置。它使用的是已经信任的unix-domain套接字。所以你可以放弃-h localhost而不需要编辑配置。
  3. $ sudo grep -e "^[^#]" /etc/postgresql/9.6/main/pg_hba.conf

    local   all             postgres                                peer
    host   all             postgres         127.0.0.1/32            trust
    local   all             all                                     peer
    host    all             all             127.0.0.1/32            md5
    host    all             all             ::1/128                 md5
    

答案 1 :(得分:0)

问题最终是版本9.5具有正常的5432端口,因此当9.6安装/启动时,它指向5433.删除9.5安装并编辑配置文件以指向5432修复了该问题。