• centos7.9 postgresql 16.0 源码安装部署


    postgresql 16.0 源码安装部署

    • 环境准备

      系统主机名IP地址
      centos7.9postgres192.168.200.56
    • 软件准备

      postgresql-16.0.tar.gz
      https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz
      
      • 1
      • 2
    • 依赖安装

      yum -y install systemd-devel readline readline-devel zlib-devel gcc
      
      • 1
    • 创建安装用户

      useradd postgres
      
      # 设置用户密码,密码设置复杂一点
      echo '123456' | passwd --stdin postgres
      
      • 1
      • 2
      • 3
      • 4
    • 源码编译安装

      # 安装目录
      mkdir -p /data/server/pgsql
      
      # 数据目录
      mkdir -p /data/server/pgsql/data
      
      # 解压编译安装
      tar -zxvf postgresql-16.0.tar.gz
      cd postgresql-16.0
      ./configure --prefix=/data/server/pgsql --without-icu --with-systemd
      make && make install
      
      # 修改目录属主、属组
      chown -R postgres:postgres /data/server/pgsql
      
      # 切换到postgres用户初始化数据目录
      su - postgres
      /data/server/pgsql/bin/initdb -D /data/server/pgsql/data
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
    • 开机自启设置

      vim /etc/systemd/system/postgresql.service
      
      • 1
      [Unit]
      Description=PostgreSQL 16.0 database server
      Documentation=man:postgres(1)
      After=network-online.target
      Wants=network-online.target
      
      [Service]
      
      Type=forking
      User=postgres
      Group=postgres
      OOMScoreAdjust=-1000
      ExecStart=/data/server/pgsql/bin/pg_ctl start -D /data/server/pgsql/data 
      ExecStop=/data/server/pgsql/bin/pg_ctl stop -D /data/server/pgsql/data
      ExecReload=/data/server/pgsql/bin/pg_ctl reload -D /data/server/pgsql/data 
      TimeoutSec=0
      
      [Install]
      WantedBy=multi-user.target
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
    • 启动服务

      systemctl daemon-reload
      systemctl enable postgresql
      systemctl start postgresql
      
      • 1
      • 2
      • 3
    • 防火墙放行端口

      firewall-cmd --zone=public --permanent --add-port=5432/tcp
      firewall-cmd --reload
      
      • 1
      • 2
    • 连接数据库

      # 切换到 postgres用户
      su - postgres
      /data/server/pgsql/bin/psql
      
      # 创建用户及密码
      postgres=# create user gadmin password '123456';
      
      # 创建指定拥有者gadmin的数据库tt
      postgres=# create database tt owner gadmin;
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    • 修改配置文件

      • postgresql.conf

        # 修改监听地址,否则无法远程连接
        listen_addresses = '*'
        port = 5432
        # 修改最大连接数
        max_connections = 1024
        # 设置socket目录
        unix_socket_directories = '/data/server/pgsql'
        # 开启日志获取
        logging_collector = on
        # 设置日志目录
        log_directory = 'pg_log'
        # 设置日志文件名称格式
        log_filename = 'postgresql-%Y-%m-%d.log'
        # 开启日志轮转
        log_truncate_on_rotation = on 
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
      • pg_hba.conf

        # IPv4 local connections:
        host    all             all             127.0.0.1/32            trust
        # 增加如下一行,远程连接,
        # tt为数据库名,gadmin为用户名,192.168.200.0/24为允许连接的地址范围,md5使用密码验证
        host    tt              gadmin          192.168.200.0/24        md5
        
        • 1
        • 2
        • 3
        • 4
        • 5
    • 重启服务

      # 重启服务后就能使用gadmin账户远程连接tt数据库了
      systemctl restart postgresql
      
      • 1
      • 2
    • DBeaver连接postgresql
      在这里插入图片描述

  • 相关阅读:
    底软驱动 | 大厂面试爱考的C++内存相关
    充电桩负载测试需要检测哪些项目
    【学习】科大睿智解读ITSS通过后仍需关注和改进IT服务的原因
    RS笔记:深度推荐模型之SIM(基于搜索的超长行为序列上的用户长期兴趣建模)[CIKM 2020, 阿里妈妈广告团队]
    【OpenGL】四、坐标系统和摄像机
    uni——判断option传参
    金仓数据库KingbaseES客户端应用参考手册--17. vacuumdb
    必做实验6 输入输出应用
    【Java】不一样的图书管理系统
    基于JAVA的门禁管理系统【附源码】
  • 原文地址:https://blog.csdn.net/lx_1314/article/details/134272315