Ubuntu 20 安装 PgSQL

技术 · 2023-01-03 · 45 人浏览

Ubuntu 20 安装 PgSQL

安装

  • 更新源

    • sudo apt update
  • 安装 postgresql

    • sudo apt install postgresql
  • 启动 postgresql

    • sudo /etc/init.d/postgresql start
安装postgresql时会自动创建一个账号 postgres 进入sql时需要先切换到postgres账号才可以使用
  • 用 postgres 用户登录

    • sudo -u postgres psql
  • 使用 \q 命令退出控制台(也可以直接按ctrl+D)

    • \q

配置远程连接

  • 调整 postgresql.conf 文件

    • cd /etc/postgresql/12/main/ 
    • 我装的是12 所以这块是12
    • sudo nano postgresql.conf
  • 将 listen_addresses 项取消注释,并将值调整为 '*' ,如下:

    • #------------------------------------------------------------------------------
      # CONNECTIONS AND AUTHENTICATION
      #------------------------------------------------------------------------------
      
      # - Connection Settings -
      
      listen_addresses = '*'                  # what IP address(es) to listen on;
                                              # comma-separated list of addresses;
                                              # defaults to 'localhost'; use '*' for all
                                              # (change requires restart)
      port = 5432                             # (change requires restart)
    • 保存退出
  • 调整 pg_hba.conf 文件

    • sudo nano pg_hba.conf
    • 在文件后追加 0.0.0.0/0 的配置项,如下:
    • # Database administrative login by Unix domain socket
      local   all             postgres                                peer
      
      # TYPE  DATABASE        USER            ADDRESS                 METHOD
      
      # "local" is for Unix domain socket connections only
      local   all             all                                     peer
      # IPv4 local connections:
      host    all             all             127.0.0.1/32            md5
      # IPv6 local connections:
      host    all             all             ::1/128                 md5
      # Allow replication connections from localhost, by a user with the
      # replication privilege.
      local   replication     all                                     peer
      host    replication     all             127.0.0.1/32            md5
      host    replication     all             ::1/128                 md5
      host    all             all             0.0.0.0/0               md5
      
  • 添加好后,使用命令重启数据库
  • sudo service postgresql restart
  • 配置远程链接密码

    • 进入数据库 sudo -u postgres psql
    • 输入命令修改密码

      • \password postgres
      • 会提示我们输入两次密码,成功后即可通过账户密码进行远程登录了.
      • 使用 \q 退出

注!

无法成功远程连接

可能是服务器内防火墙没有开放5432端口加上服务商的防火墙没打开需要去控制台开放5432端口

  • sudo ufw disable
    • Firewall stopped and disabled on system startup
  • 查看防火墙状态,是Status: inactive表示关闭

    • sudo ufw status
Ubuntu PgSQL
Theme Jasmine by Kent Liao