PostgreSQL Install & Configuration

参考:

https://www.cnblogs.com/schyzhkj/p/12533510.html

1. Environment
2. Install
  • 安装rpm文件

    yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  • 安装客户端

    yum install -y postgresql13
    
  • 安装服务端

    yum install -y postgresql13-server
    
  • 验证是否安装成功

    rpm -aq| grep postgres
    
  • 初始化:

    /usr/pgsql-13/bin/postgresql-13-setup initdb
    
  • 设置自动启动并且启动postgresql服务

    systemctl enable postgresql-13
    systemctl start postgresql-13
    
3. 创建用户和数据库
  • 使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码)

    su - postgres
    
  • 登录postgresql数据库

    psql -U postgres
    
  • 创建用户和数据库并授权

    # 创建用户
    create user root with password 'postgres'
    # 设置postgres用户密码为postgres
    alter user postgres with password 'postgres'
    # 创建数据库
    create database postgres owner postgres
    # 授权
    grant all privileges on database postgres to postgres
    
  • 退出psql(输入 \q 再按回车键即可

    \q
    
4. 开启远程访问
  • 修改/var/lib/pgsql/13/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”

    vi /var/lib/pgsql/13/data/postgresql.conf
    
    # 找到port行,修改port的值 55432
    # 修改listen_addresses = 'localhost'  为  listen_addresses='*'
    
  • 修改/var/lib/pgsql/13/data/pg_hba.conf文件,增加下图红框部分内容

    vi /var/lib/pgsql/13/data/pg_hba.conf
    
    # 修改如下内容,信任指定服务器连接
    # IPv4 local connections:
    # host    all            all      127.0.0.1/32      trust
    # host    all            all      0.0.0.0/0         md5
    
  • 切换到root用户,重启postgresql服务

    systemctl restart postgresql-13.service
    
5. Configuration 防火墙
  • 查看Mysql使用端口33096

    netstat -lnpt
    
  • 开放端口,这里使用33096端口

    firewall-cmd --permanent --zone=public --add-port=55432/tcp
    
  • 重启防火墙

    firewall-cmd --reload
    
  • 查看防火墙,已开放端口列表

    firewall-cmd --list-ports