相关推荐recommended
PostgreSQL教程:PostgreSQL配置远程连接
作者:mmseoamin日期:2023-12-18

要搞两个配置信息,一个关于postgreSQL的远程连接配置以及postgreSQL的日志配置。

PostgreSQL的主要配置放在数据目录下的, postgresql.conf 以及 pg_hba.conf 配置文件

这些配置文件都放在了

# 这个目录下
/var/lib/pgsql/12/data

PostgreSQL教程:PostgreSQL配置远程连接,image.png,第1张

上图可以看到,postgreSQL的核心文件,都属于postgres用户,操作的时候,尽可能的别用root用户,容易玩出坑,尽可能先切换到postgres用户去玩。

远程连接配置

PostgreSQL默认情况下不支持远程连接的,这个跟MySQL几乎一样

  • MySQL给mysql.user追加用户,一般是采用grant的命令去玩。
  • PostgreSQL要基于配置文件修改,才能指定用户是否可以远程连接。

    直接去修改pg_hba.conf配置文件

    用户以及对应数据库和连接方式的编写模板

    PostgreSQL教程:PostgreSQL配置远程连接,image.png,第2张

    # 第一块
    local:代表本地连接,host代表可以指定连接的ADDRESS
    # 第二块
    database编写数据库名,如果写all,代表所有库都可以连接
    # 第三块
    user编写连接的用户,可以写all,代表所有用户
    # 第四块
    address代表那些IP地址可以连接
    # 第五块
    method加密方式,这块不用过多关注,直接md5
    # 直接来个痛快的配置吗,允许任意地址的全部用户连接所有数据库
    host    all             all             0.0.0.0/0               md5
    

    PostgreSQL教程:PostgreSQL配置远程连接,image.png,第3张

    为了实现远程连接,除了用户级别的这种配置,还要针对服务级别修改一个配置

    服务级别的配置在postgresql.conf

    PostgreSQL教程:PostgreSQL配置远程连接,image.png,第4张

    发现默认情况下,PGSQL只允许localhost连接,直接配置为*即可解决问题

    PostgreSQL教程:PostgreSQL配置远程连接,image.png,第5张

    记得,为了生效,一定要重启

    # postgres密码不管,直接root用户
    sudo systemctl restart postgresql-12