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

麒麟,v3,安装,pg15,过程,v2 · 浏览次数 : 331

小编点评

**PG数据库安装指南** **1. 下载并解压缩PG数据库** * 从 PostgreSQL 的网站(www.postgresql.org)下载最新版本的 PG 数据库压缩文件。 * 解压缩压缩文件并将其放置在您的系统上可访问的位置,例如 `/usr/pgsql-15`。 **2. 配置PG数据库** * 创建一个名为 `pgdata` 的目录并设置其路径,例如 `/var/lib/pgsql/15/data/`。 * 创建一个名为 `pg_hba.conf` 的配置文件,并添加以下内容: ``` host all all 0.0.0.0/0 md5 ``` **3. 创建PG启动脚本** * 创建一个名为 `postgresql.conf` 的配置文件,并添加以下内容: ``` listen = * port = 5432 ``` **4. 创建PG服务文件** * 创建一个名为 `postgresql-15.service` 的文件,并添加以下内容: ``` [Unit] Description=PostgreSQL 15 database server Documentation=https://www.postgresql.org/docs/15/static/After=syslog.targetAfter=network.target[Service]Type=simpleUser=postgresGroup=postgresEnvironment=PGDATA=/var/lib/pgsql/15/data/OOMScoreAdjust=-1000Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adjEnvironment=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 $MAINPIDKillMode=mixedKillSignal=SIGINTTimeoutSec=0[Install]WantedBy=multi-user.target [Install] WantedBy=multi-user.target ``` **5. 设置开机启动** * 启用 systemctl 服务:`systemctl enable postgresql-15` * 停止和重新启动 PG 数据库:`systemctl stop postgresql-15; systemctl restart postgresql-15` **6. 设置密码登录** * 使用 `psql` 命令连接到 PG 数据库,设置默认账户密码。 **7. 验证安装** * 启动 PG 数据库。 * 使用 `psql` 命令连接到 PG 数据库,验证是否连接成功。 * 检查 `pg_hba.conf` 文件中的配置是否正常。

正文

改版说明

上一次进行了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相似的内容:

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

改版说明 上一次进行了PG的安装当时发现自己少加了一部分ossp的处理. 这里补充上...不然挺浪费时间的. 背景 发现基于OpenEuler的几个系统使用CentOS的rpm包 安装PG数据库时有问题. 会提示缺少依赖的so文件. 今天想着解决一下, 就百度了一下并且进行自己的总结. 源码安装PG

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

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

国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线动态填充 word 文件

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。 在实际的Word文档开发中,经常需要自动填充数据到Word模板中,以生成动态的Word文档。例如,我们可以根据数据库表中已保存的个人信息,设计

.NET周报 【5月第3期 2023-05-21】

## 国内文章 ### C# 实现 Linux 视频会议(源码,支持信创环境,银河麒麟,统信UOS) https://www.cnblogs.com/shawshank/p/17390248.html 信创是现阶段国家发展的重要战略之一,面对这一趋势,所有的软件应用只有支持信创国产化的基础软硬件设施

.NET周报 【7月第1期 2023-07-02】

## 国内文章 ### C# 实现 Linux 视频聊天、远程桌面(源码,支持信创国产化环境,银河麒麟,统信UOS) https://www.cnblogs.com/shawshank/p/17420469.html 园子里的有朋友在下载并了解了《[C# 实现 Linux 视频会议(源码,支持信创环

CS5280H 无网络安装KVM虚拟机的过程

背景 信创海光机器 想进行虚拟化 自带了银河麒麟V10 SP1的操作系统. 但是没有安装virt-manager等工具 会议室里面的网口又都坏了. 所以准备挑战一下无网络安装KVM. 过程1 第一步. 下载银河麒麟AMD64的ISO 第二步. 上传至CS5280H的服务器上面 第三步. 进行挂载 m

企业生产环境中的麒麟V10(ARM架构)操作系统部署jdk和redis三主三从交叉版集群

前言:麒麟ARM操作系统是国企和政务机关推行信创化选择率比较高的一款操作系统,然而ARM操作系统非主流的X86系统,除了命令一样,在架构方面差别极大,初次接触多多少少会踩坑,下面我将在公司中部署的实例列举出来,供大家参考,ip和设计机密信息不方便展示,统用虚拟信息代替。 经过多次验证,用了多种通用版

银河麒麟不同架构获取rpm包的方法

# 银河麒麟不同架构获取rpm包的方法 ## 背景 ``` 随着信创和网络安全越来越重要 现阶段国产化的软硬件部署越来越多. 很多时候现场有很多国产化的设备.不同架构.不同版本. 还不能上网, 无法获取对应的安装介质. 这个时候通过一台家里的机器, 下载不同版本,架构的rpm包就非常亟需 这里想通过

Inspur CS5280H BMC重装系统的过程

Inspur CS5280H BMC重装系统的过程 背景 公司里面一台信创海光的设备 默认安装了银河麒麟v10的操作系统 但是在进行瀚高数据库压测时 总会出现无缘无故的宕机的情况. 昨天还特别学习了下crash部分. 也没有定位到具体的问题原因 今天想着换一个系统, 进行验证. 客户倾向于采购 UO

Chrome浏览器不同版本兼容性的验证方法

Chrome浏览器不同版本兼容性的验证方法 背景 上周客户现场有出现使用国产信创设备上面的奇安信浏览器出现兼容性的问题. 开发认为是测试不全面导致. 认为测试应该必须测试过特定浏览器才可以进行说明. 最开始国产设备上面仅能够支持firefox52.3ESR的版本 当时在进行银河麒麟和UOS的兼容适配