改版说明

上一次进行了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. 中秋佳节,程序员教你AI三步成诗,秒变“李白”

    摘要:举杯邀明月,用技术来附庸风雅. 中秋佳节来临之际,你是否开始思念远方的亲朋好友,想为他们送上祝福?又或是与家人团圆赏月之时,希望借一段风雅诗词抒情达意? 华为云的开发者们教你一招,来个技术风的A ...

  2. 工商银行:应用多k8s集群管理及容灾实践

    摘要:在华为开发者大会(Cloud)2021上,工商银行Paas云*台架构师沈一帆发表了<工商银行多k8s集群管理及容灾实践>主题演讲,分享了工商银行使用多云容器编排引擎Karmada的落 ...

  3. storybook组件属性详解:组件props到strorybook Args

    首先我们查看官方文档:https://storybook.js.org/docs/vue/writing-docs/doc-block-argstable#customizing 官方的例子么有看到v ...

  4. 优化 uniapp 发行操作:一键打包、混淆代码

    ​ uniapp一键发行代码并混淆代码 第一步.在项目根目录下安装插件 npm install javascript-obfuscator -g 安装完成后,javascript-obfuscator ...

  5. 对话 BitSail Contributor | 姚泽宇:新生火焰,未来亦可燎原

    2022 年 10 月,字节跳动 BitSail 数据引擎正式开源.同期,社区推出 Contributor 激励计划第一期,目前已有 12 位开发者为 BitSail 社区做出贡献,成为了首批 Bit ...

  6. 使用 quartz-solon-plugin 开发定时任务(新)

    (一)新建一个 maven 空项目 (二)添加 maven 引用 <dependency> <groupId>org.noear</groupId> <art ...

  7. Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了

    如何阻止 Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了 使用 CountDownLatch CountDownLatch.CyclicBarrier 使用区别 多线 ...

  8. pip 的高阶玩法

    pip 的高阶玩法 pip 应该是大家最熟悉的 Python 包安装与管理工具了,但是除了pip install 这个最常用的命令,还有很多有用的玩法.这里就介绍几个我平时会用到的,希望对大家有所帮助 ...

  9. AtCoder Beginner Contest 178 个人题解(C组合问题 + 快速幂,D规律,E数学公式变形)

    补题链接:Here A - Not Editorial 给出 \(x = 1\) 则输出 0:给出 \(x = 0\) 则输出 1 利用 x ^ 1 可以快速实现 \(x\) 的转换 B - Prod ...

  10. 使用aop去自定义注解,实现用户在请求的时候记录下来,如日志功能等

    首先搞清楚aop的几个概念: AOP即是面向切面,是Spring的核心功能之一,主要的目的即是针对业务处理过程中的横向拓展,以达到低耦合的效果. 「切面(Aspect)」:一个关注点的模块化.以注解@ ...