改版说明

上一次进行了PG的安装当时发现自己少加了一部分ossp的处理.
这里补充上...不然挺浪费时间的.

背景

发现基于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 --with-ossp-uuid
# 注意我的机器配置时间大约是 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

增加uuid-ossp的设置

建议还是有一个可以安装rpm包的centos8的机器然后基于同版本来拉取文件
今天凌晨进行安装时发现了两个地方.有差池.
需要.so文件以及先关的 oss的文件. 主要如下如下:
/usr/pgsql-15/share/extension/
/usr/pgsql-15/lib
需要从其他机器上面将这两个目录下面的 ossp开头的文件复制过来
不然每次安装都会报错.
并且注意 保本一定要一致,不然也会报错 ERROR: incompatible library "/usr/pgsql-15/lib/uuid-ossp.so": version mismatch

修改配置

  • 第二步: 数据库参数配置
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
# 注意这一步 必须使用非root用户进行关闭.
su - postgres -c pg_ctl -D /var/lib/pgsql/15/data/ stop
systemctl restart postgresql-15

设置密码

登录pg数据库
psql -U postgres
设置postgres 默认账户的密码
alter user postgres with password 'Testxxxxxxxx' ;

麒麟信安V3.4 安装PG15的过程V2.0的更多相关文章

  1. 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

    [Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...

  2. 原因是未找到“sgen.exe”,或未安装 .NET Framework SDK v2.0

    visual studio编译出现错误:错误 2 任务失败,原因是未找到“sgen.exe”,或未安装 .NET Framework SDK v2.0.该任务正在注册表项 HKEY_LOCAL_MAC ...

  3. Deepin15.8系统下安装QorIQ Linux SDK v2.0 yocto成功完美运行的随笔

    2019.2.17日:最终安装成功,完美解决! 2019.2.16日:最终安装未成功,但是过程中排除 了几个bug,前进了几步,仅供参考. 写在最前面,yocto安装是有系统要求的,Deepin 15 ...

  4. 信安周报-第03周:DB系统表

    信安之路 第03周 前言 这周自主研究的任务如下: 任务附录的解释: 文件读写在通过数据库注入漏洞获取webshell的时候很有用 系统库和表存放了很多关键信息,在利用注入漏洞获取更多信息和权限的过程 ...

  5. 信安周报-第02周:SQL基础

    信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库 ...

  6. 信安周报-第04周:系统函数与UDF

    信安之路 第04周 前言 这周自主研究的任务如下: 附录解释: SQLi的时候应对各种限制,可以使用数据库自带的系统函数来进行一系列变换绕过验证 eg:字符串转换函数.截取字符串长度函数等 注入的时候 ...

  7. NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版

    nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序. ...

  8. linux rpm问题:怎样查看rpm安装包的安装路径

      x rpm问题:怎样查看rpm安装包的安装路径 2010-07-12 21:19:15 标签:rpm linux 路径 休闲 职场 rpm -qpl xxxxxx.rpm 1.如何安装rpm软件包 ...

  9. .net安装包自动安装Mysql数据库

    原文:.net安装包自动安装Mysql数据库 在制作.Net安装包的时候,如果项目有用到数据库,怎么能够把数据库打包安装呢?网上已经有很多自动安装Sql Server数据库的例子,但是自动安装mysq ...

  10. Win10下 VS2017 安装失败 未能安装包“Microsoft.VisualStudio.AspNet45.Feature,version=15.0.26208.0”

    事情的起因是这样的,前段时间,VS2017发布当天,想在自己的Win10上安装VS2017,然而,由于自己的系统很久没有更新(PS:自己关闭了Windows更新). 安装提示:未能安装包“Micros ...

随机推荐

  1. 为AR&VR黑科技:以“自由视角”360度尽展舞台唯美

    摘要:看华为的黑科技,如何用"自由视角"让观众感受舞台"风暴"的魅力所在. "风暴"降临 2021年1月9日晚上,我坐在电视机前,等待湖南卫 ...

  2. CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”

    摘要:算力虚拟化技术对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本. 为什么要做算力虚拟化 近年来,人工智能领域呈井喷式发展,算力就是生 ...

  3. iOS distribution发布证书过期或者被手动revoke了app会被下架吗?

    ​ 在距离distribution 证书过期一个月(或被手动revoke了)的时候会受到apple的邮件 ​编辑 虽然distribution过期(或者被手动revoke)了,如果你的开发者账号是co ...

  4. DevOps 团队如何防御 API 攻击

    在过去,勒索软件是 DevOps 团队常常担心的主要安全威胁.尽管现在勒索软件攻击仍在发生,但随着企业安全防护能力与意识增强,勒索软件造成的安全威胁已不如从前.然而,根据 Gartner 调查显示,A ...

  5. Centos7 怎么永久关闭防火墙

    1.连接到centos主机,然后输入命令"systemctl status firewalld.service"并按下回车键. 2.然后在下方可以查看得到 " activ ...

  6. 莉莉丝游戏与火山引擎 ByteHouse 达成合作,为实时数仓建设提速

    中国头部游戏公司莉莉丝游戏(Lilith Games)和火山引擎 ByteHouse 达成合作,共同致力于加速莉莉丝游戏的实时数仓建设.此次合作将利用 ByteHouse 的创新技术和功能,为莉莉丝的 ...

  7. Snack3 3.1.10的新特性及应用

    <dependency> <groupId>org.noear</groupId> <artifactId>snack3</artifactId& ...

  8. byte[] 数组,创建的时候赋初始值

    C# //创建一个长度为10的byte数组,并且其中每个byte的值为0x08. byte[] myByteArray = Enumerable.Repeat((byte)0x08, 10).ToAr ...

  9. 压测工具 Locust

    一.认识Locust 定义 Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己 ...

  10. 用 Python 开发的 PDF 抽取Excel表格 2.0版

    前些天向大家介绍了我开发的从PDF抽取表格小工具的使用方法(️点击直达),有同学反馈说有一些问题: 一页PDF有多张表,只能抽取第一个 有些表格线条是透明的,无法抽取 一页一页处理太麻烦,不能一次性抽 ...