• 麒麟信安V3.4 安装PG15的过程


    麒麟信安V3.4 安装PG15的过程


    背景

    发现基于OpenEuler的几个系统使用CentOS的rpm包
    安装PG数据库时有问题. 会提示缺少依赖的so文件.
    今天想着解决一下, 就百度了一下并且进行自己的总结.
    源码安装PG15并且进行部分设置.
    

    第一部分介质准备.

    PG15的源码
    https://www.postgresql.org/ftp/source/v15.0/
    准备进行export监控的工具
    https://www.postgresql.org/ftp/source/v15.0/
    

    参数配置

    Study From https://cdn.modb.pro/db/411245
    我们这边一般是使用 OLTP的数据库, 所以准备进行8KB的设置.
    tar -zxvf postgresql-15.0.tar.gz && cd postgresql-15.0
    ./configure --prefix=/usr/pgsql-15/ --with-blocksize=8
    # 注意我的机器配置时间大约是 16s 
    # 注意原文是使用的ubuntu类似的路径, 我这里使用的是CentOS类似的路径
    # 注意建议能够上网的基础上安装readline  yum install readline* -y
    # 官网解释为: 
    readline 也就是命令行编辑,
    关闭的话,你直接用psql 就不能编辑命令行,
    如果输错指令,不能回滚命令历史记录,只能手工重新输入。
    

    编译安装

    # configure之后可以直接进行make
    time make
    # 注意这一步的时间可长可短. 
    #我的机器要花5min才能make完 
    #我可以乘机泡一包泡面.
    make install
    # 注意 这里可以复习一下
    make 是进行编译
    make install 是根据 prefix的配置进行创建文件夹.
    会有如下的命令出现.
    /usr/bin/mkdir -p '/usr/pgsql-15/lib/pgxs/config
    

    初始化数据库以及配置启动

    # 创建用户和数据数据目录
    useradd postgres
    mkdir -p  /var/lib/pgsql/15/data/
    chown postgres:postgres /var/lib/pgsql/ -R
    su - postgres
    # 初始化数据库
    # 注意这一步是postgres的用户
    cd /usr/pgsql-15/bin
    ./initdb -D /var/lib/pgsql/15/data/
    初始化数据库可以完成
    根据提示可以使用如下命令启动数据库
    ./pg_ctl -D /var/lib/pgsql/15/data/  start
    

    修改配置

    • 第一步: 修改环境变量
    # 想免密登录可以使用 PGPASSWORD 也可以使用PG_HBA. 
    # 注意 bin data 以及 lib建议都添加上表好一些. 
    # 注意启动可能没有socket 文件 pg 命令需要 -h进行指定.
    cat > /etc/profile.d/pg.sh <<EOF
    export PATH=$PATH:/usr/pgsql-15/bin
    export PGPASSWORD=Yourpassword
    export PGDATA=/var/lib/pgsql/15/data/
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/pgsql-15//lib
    EOF
    

    修改配置

    • 第二步: 数据库参数配置
    vim /var/lib/pgsql/15/data/pg_hba.conf
    增加一行:
    host    all             all             0.0.0.0/0            md5
    # 保证外面机器需要密码访问.
    vim /var/lib/pgsql/15/data/postgresql.conf
    修改主要是
    listen 修改为 * 可以外部访问(与上面一个两相呼应)
    port 修改掉注意
    max_connection 可以修改为 1000-2000 (根据产品而定)
    

    修改配置

    • 第三步 创建service文件.
    • 可以模仿之前的版本进行处理
    cat >/usr/lib/systemd/system/postgresql-15.service <<EOF
    [Unit]
    Description=PostgreSQL 15 database server
    Documentation=https://www.postgresql.org/docs/15/static/
    After=syslog.target
    After=network.target
    
    [Service]
    Type=simple
    User=postgres
    Group=postgres
    
    Environment=PGDATA=/var/lib/pgsql/15/data/
    OOMScoreAdjust=-1000
    Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
    Environment=PG_OOM_ADJUST_VALUE=0
    #ExecStartPre=/usr/pgsql-15/bin/postgresql-15-check-db-dir ${PGDATA}
    ExecStart=/usr/pgsql-15/bin/postmaster -D ${PGDATA} 
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=mixed
    KillSignal=SIGINT
    TimeoutSec=0
    [Install]
    WantedBy=multi-user.target
    EOF
    

    设置开机启动

    systemctl daemon-reload
    systemctl enable postgresql-15
    systemctl stop postgresql-15
    pg_ctl -D /var/lib/pgsql/15/data/  stop
    systemctl restart postgresql-15
    

    设置密码

    登录pg数据库
    psql -U postgres
    设置postgres 默认账户的密码
    alter user postgres with password 'Testxxxxxxxx' ;
    
  • 相关阅读:
    HDU 4864 Task(经典贪心)
    51Nod
    POJ 3122 Pie(二分+贪心)
    HDU 1053 Entropy(哈夫曼编码 贪心+优先队列)
    POJ 1328 Radar Installation(很新颖的贪心,区间贪心)
    11572
    HDU 1789 Doing Homework again(非常经典的贪心)
    合并果子(贪心+优先队列)
    CSU-ACM2018暑假集训6—BFS
    HDU 2102 A计划(两层地图加时间限制加传送门的bfs)
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/16862153.html
Copyright © 2020-2023  润新知