统信V20 1070e X86系统编译安装PostgreSQL-13.11版本以及主从构建

设备信息

操作系统版本架构CPU内存备注
统信UOS V20 1070eX864C8G此配置仅做编译安装验证,持续运行或数据量增长大请自行评估资源配置。
统信UOS V20 1070eX864C8G

资源包

该包包含postgresql-13.11源码包、统信编译postgresql-13.11安装包

通过网盘分享的文件:统信postgresql-13.11-x86.zip
链接: https://pan.baidu.com/s/1GiaHrvDZbPbbmJ1smoJPAA?pwd=4rki 提取码: 4rki

编译过程

[root@uos1 ~]# yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

[root@uos1 ~]# wget https://ftp.postgresql.org/pub/source/v13.11/postgresql-13.11.tar.gz

[root@uos1 ~]# tar -xf postgresql-13.11.tar.gz 

[root@uos1 ~]# cd postgresql-13.11

[root@uos1 postgresql-13.11]# ./configure --prefix=/usr/local/postgresql-13.11

[root@uos1 postgresql-13.11]# make && make install 

[root@uos1 postgresql-13.11]# cd contrib 

[root@uos1 contrib]# make && make install 

[root@uos1 postgresql-13.11]# cp -r contrib/start-scripts/ /usr/local/postgresql-13.11/

[root@uos1 postgresql-13.11]# cd /usr/local

[root@uos1 local]# tar -czvf postgresql-13.11-x86.tgz postgresql-13.11/

安装过程

#安装过程
[root@uos1 ~]# tar -xf postgresql-13.11.tgz -C /usr/local/

[root@uos1 ~]# groupadd postgres && useradd -g postgres postgres

[root@uos1 ~]# mkdir /data/postgresql_data /data/pgdata_archives

[root@uos1 ~]# chown postgres:postgres /data/postgresql_data /data/pgdata_archives

[root@uos1 ~]# vim /etc/profile 或vim /home/postgres/.bash_profile
export PGHOME=/usr/local/postgresql-13.11/
export PGDATA=/data/postgresql_data
export PATH=$PATH:$HOME/bin:$PGHOME/bin

[root@uos1 ~]# source /etc/profile 或source /home/postgres/.bash_profile

[root@uos1 ~]# su - postgres 

[postgres@uos1 ~]$ initdb

[postgres@uos1 ~]$ vim /data/postgresql_data/postgresql.conf 
listen_addresses = '*'
port = 5432
max_connections = 2000
superuser_reserved_connections = 10
password_encryption = scram-sha-256
shared_buffers = 128MB
dynamic_shared_memory_type = posix
wal_level = replica
max_wal_size = 4096MB    #wal日志分段大小
min_wal_size = 80MB   
max_wal_senders = 10
wal_keep_size= 4096MB   #文件大小保留策略
#synchronous_standby_names = '*'
hot_standby = on
log_destination = 'stderr'
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 0
log_line_prefix = '%m [%p] '
log_timezone = 'PRC'
log_statement = 'all'    #记录所有sql语句日志
log_duration = on     #记录每条sql语句日志执行时间
log_min_duration_sample = 30000ms
log_statement_sample_rate = 0.2
datestyle = 'iso, mdy'
timezone = 'PRC'
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
default_text_search_config = 'pg_catalog.english'
archive_mode = on   #开启归档
archive_command = 'gzip < %p > /data/pgdata_archives/%f.gz'  #归档gzip格式,使wal_keep_size生效           
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all

[postgres@uos1 ~]$ vim /data/postgresql_data/pg_hba.conf
# IPv4 local connections:
host    all             all             0.0.0.0/0               trust
host    all             all             127.0.0.1/32            trust
# replication privilege.
local   replication     all                                     trust
host    replication     repl            0.0.0.0/0               md5   #配置此用户的复制权限

[postgres@uos1 ~]$ exit
[root@uos1 ~]# chmod +x /usr/local/postgresql-13.11/start-scripts/linux && cp /usr/local/postgresql-13.11/start-scripts/linux /etc/init.d/postgresql-13.11
prefix=/usr/local/postgresql-13.11/
PGDATA="/data/postgresql_data"

[root@uos1 ~]# systemctl enable postgresql-13.11.service 或者 chkconfig --add postgresql-13.11
[root@uos1 ~]# systemctl start postgresql-13.11.service 或者 service postgresql-13.11 start

[root@uos1 ~]# ps -ef | grep postgres
postgres   12110       1  1 13:12 ?        00:00:00 /usr/lib/systemd/systemd --user
postgres   12111   12110  0 13:12 ?        00:00:00 (sd-pam)
postgres   12117   12110  0 13:12 ?        00:00:00 /usr/bin/deepin-service-manager
postgres   12123   12110  0 13:12 ?        00:00:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
postgres   12126   12110  0 13:12 ?        00:00:00 /usr/bin/deepin-service-manager -g app
postgres   12231       1  5 13:12 ?        00:00:00 /usr/local/postgresql-13.11//bin/postmaster -D /data/postgresql_data
postgres   12233   12231  0 13:13 ?        00:00:00 postgres: logger 
postgres   12235   12231  0 13:13 ?        00:00:00 postgres: checkpointer 
postgres   12236   12231  0 13:13 ?        00:00:00 postgres: background writer 
postgres   12237   12231  0 13:13 ?        00:00:00 postgres: walwriter 
postgres   12238   12231  0 13:13 ?        00:00:00 postgres: autovacuum launcher 
postgres   12240   12231  0 13:13 ?        00:00:00 postgres: archiver 
postgres   12241   12231  0 13:13 ?        00:00:00 postgres: stats collector 
postgres   12242   12231  0 13:13 ?        00:00:00 postgres: logical replication launcher 
root       12244   10969  0 13:13 pts/0    00:00:00 grep --color=auto postgres
[root@uos1 ~]# ss -lntup | grep 5432
tcp   LISTEN 0      2048         0.0.0.0:5432       0.0.0.0:*    users:(("postmaster",pid=12231,fd=6)) 
tcp   LISTEN 0      2048            [::]:5432          [::]:*    users:(("postmaster",pid=12231,fd=7))    

#profile配置的全局的可以root身份下执行,否则需要su至postgres用户执行
[root@uos1 ~]# psql -Upostgres
ALTER USER postgres WITH PASSWORD 'admin@2020';
create user repl replication login encrypted password 'repl@2020';
create extension if not exists pg_stat_statements;  #创建pg_stat_statements扩展,若此前未编译安装contrib,则此处创建失败

主从复制构建

#从pg安装时在initdb后执行
[root@uos2 data]# rm -rf /data/postgresql_data/*

[root@uos2 data]# pg_basebackup -Xs -v -Fp -P -R -d "hostaddr=192.168.2.156 port=5432 user=repl password=repl@2020" -D /data/postgresql_data
pg_basebackup: initiating base backup, waiting for checkpoint to complete
pg_basebackup: checkpoint completed
pg_basebackup: write-ahead log start point: 0/2000028 on timeline 1
pg_basebackup: starting background WAL receiver
pg_basebackup: created temporary replication slot "pg_basebackup_13416"
24354/24354 kB (100%), 1/1 tablespace                                         
pg_basebackup: write-ahead log end point: 0/2000100
pg_basebackup: waiting for background process to finish streaming ...
pg_basebackup: syncing data to disk ...
pg_basebackup: renaming backup_manifest.tmp to backup_manifest
pg_basebackup: base backup completed

[root@uos2 data]# cat postgresql_data/postgresql.auto.conf   #生成了auto.conf文件
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
primary_conninfo = 'user=repl password=''repl@2020'' channel_binding=disable hostaddr=192.168.2.156 port=5432 sslmode=disable sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=postgres target_session_attrs=any'

[root@uos2 ~]# chmod +x /usr/local/postgresql-13.11/start-scripts/linux && cp /usr/local/postgresql-13.11/start-scripts/linux /etc/init.d/postgresql-13.11

[root@uos2 ~]# systemctl enable postgresql-13.11
[root@uos2 ~]# systemctl start postgresql-13.11

[root@uos2 ~]# psql -Upostgres
postgres=# select pg_is_in_recovery();   #为true则表示为从
 pg_is_in_recovery 
-------------------
 t
(1 row)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956156.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言进阶习题【1】指针和数组(2)——字符数组

3. 字符数组练习 sizeof 只关注占用内存空间的大小&#xff0c;单位是字节&#xff0c;不关心内存中存放的是什么 sizeof 是操作符 strlen是求字符串长度的&#xff0c;统计的是\0之前出现的字符个数&#xff0c;一定要找到\0才算结束&#xff0c;所以可能存在越界访问的 strle…

嵌入式工程师必学(67):SWD仿真接口(for ARM)的使用方法

概述: JTAG JTAG代表联合测试行动小组(定义JTAG标准的小组),旨在作为测试板的一种方式。JTAG允许用户与微控制器的各个部分进行对话。在许多情况下,这涉及一组指令或对电路板进行编程。JTAG标准定义了5个引脚: TCK: Test Clock TMS: Test Mode Select TDI: Test Data-…

代理模式实现

一、概念&#xff1a;代理模式属于结构型设计模式。客户端不能直接访问一个对象&#xff0c;可以通过代理的第三者来间接访问该对象&#xff0c;代理对象控制着对于原对象的访问&#xff0c;并允许在客户端访问对象的前后进行一些扩展和处理&#xff1b;这种设置模式称为代理模…

华为HuaweiCloudStack(一)介绍与架构

本文简单介绍了华为HCS私有云解决方案&#xff0c;并从下至上介绍HCS的整体架构&#xff0c;部署架构、部署方式等内容。 目录 HCS简介 HCS架构 纵向结构 ?管理平台类型 HCS节点类型 FusionSphere OpenStack CPS ServiceOM SC 运营面 OC 运维面 HCS部署架构 regi…

【视觉惯性SLAM:十七、ORB-SLAM3 中的跟踪流程】

17.1 跟踪流程流程图 ORB-SLAM3 的跟踪模块是整个系统的重要组成部分&#xff0c;负责实时确定相机在三维空间中的姿态位置&#xff0c;并保持关键帧之间的连续性。其基本目标是将输入的视频流与已有地图数据进行对齐&#xff0c;完成位姿估计和地图更新。 流程图概述 一个…

【机器学习实战入门项目】MNIST数字分类机器学习项目

Python 深度学习项目&#xff1a;手写数字识别 为了使机器更加智能&#xff0c;开发者们正在深入研究机器学习和深度学习技术。人类通过不断练习和重复来学习执行某项任务&#xff0c;从而记住如何完成这些任务。然后&#xff0c;大脑中的神经元会自动触发&#xff0c;他们能够…

Python Pyside6 加Sqlite3 写一个 通用 进销存 系统 初型

图: 说明: 进销存管理系统说明文档 功能模块 1. 首页 显示关键业务数据商品总数供应商总数本月采购金额本月销售金额显示预警信息库存不足预警待付款采购单待收款销售单2. 商品管理 商品信息维护商品编码(唯一标识)商品名称规格型号单位分类进货价销售价库存数量预警…

Ubuntu安装K8S

第一步&#xff1a; 安装docker Install Docker #注意docker是早期的名称已经过时了&#xff0c;因此请使用如下命令&#xff0c;一步到位安装docker-ce。 第二步&#xff1a;设置K8S源&#xff1a; &#xff08;大陆使用aliyun源&#xff0c;大陆外使用google源&#xff09;…

Linux图形界面详解以及替换桌面程序方法

说明&#xff1a;本文章主要说明Linux图形界面的启动流程&#xff0c;以及使用自己的图形化应用替换桌面程序的方法&#xff0c;类似与安卓启动会启动Launcher&#xff0c;使用自己程序替换Launcher一样&#xff0c;实现应用独占系统&#xff0c;或者设计自己的桌面程序。 一、…

第4章 Kafka核心API——Kafka客户端操作

Kafka客户端操作 一. 客户端操作1. AdminClient API 一. 客户端操作 1. AdminClient API

使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。

在上一篇博客中主要是使用SpringBootApache POI实现了BOM物料清单Excel表格导出&#xff0c;详见以下博客&#xff1a; Spring Boot Apache POI 实现 Exc&#xff08;&#xff09;el 导出&#xff1a;BOM物料清单生成器&#xff08;支持中文文件名、样式美化、数据合并&#…

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)边缘检测

OpenCV中边缘检测四种常用算子&#xff1a; &#xff08;1&#xff09;Sobel算子 Sobel算子是一种基于梯度的边缘检测算法。它通过对图像进行卷积操作来计算图像的梯度&#xff0c;并将梯度的大小作为边缘的强度。它使用两个3x3的卷积核&#xff0c;分别用于计…

R语言绘图

多组火山图 数据准备&#xff1a; 将CSV文件同一在一个路径下&#xff0c;用代码合并 确保文件列名正确 library(fs) library(dplyr) library(tidyr) library(stringr) library(ggplot2) library(ggfun) library(ggrepel)# 获取文件列表 file_paths <- dir_ls(path &quo…

IDEA2023版中TODO的使用

介绍&#xff1a;TODO其实本质上还是注释&#xff0c;只不过加上了TODO这几个字符&#xff0c;可以让使用者快速找到。 注意&#xff1a;在类、接口等文件中&#xff0c;注释是使用// 即&#xff1a;// TODO 注释内容 在配置文件中&#xff0c;注释是使用# 即&#xff1a;# TO…

Maven的多模块架构设计诺依的多模块

Maven的多模块架构设计 多模块架构设计&#xff0c;本文采用 诺依的多模块架构设计分析

【JsonViewer】Json格式化

使用 Notepad 对 Json 数据进行格式化处理&#xff0c;使数据在结构上更清晰 1.在线安装 安装之后&#xff0c;重启应用&#xff0c;在插件菜单栏即可看到 JsonViewer 选项&#xff0c;在 Notepad 中放入 Json 数据&#xff0c;点击 Format Json 进行数据格式化 2.离线安装 …

【漏洞预警】FortiOS 和 FortiProxy 身份认证绕过漏洞(CVE-2024-55591)

文章目录 一、产品简介二、漏洞描述三、影响版本四、漏洞检测方法五、解决方案 一、产品简介 FortiOS是Fortinet公司核心的网络安全操作系统&#xff0c;广泛应用于FortiGate下一代防火墙&#xff0c;为用户提供防火墙、VPN、入侵防御、应用控制等多种安全功能。 FortiProxy则…

企业分类相似度筛选实战:基于规则与向量方法的对比分析

文章目录 企业表相似类别筛选实战项目背景介绍效果展示基于规则的效果基于向量相似的效果 说明相关文章推荐 企业表相似类别筛选实战 项目背景 在当下RAG&#xff08;检索增强生成&#xff09;技术应用不断发展的背景下&#xff0c;掌握文本相似算法不仅能够助力信息检索&…

Ubuntu打开文件夹不显示文件

1.情况介绍 使用ubuntu打开文件夹不显示文件夹里面的内容&#xff0c;而是直接打开了资源查看器。 2.解决办法 命令行安装nautilus sudo apt-get install nautilus

Go-知识 版本演进

Go-知识 版本演进 Go release notesr56(2011/03/16)r57(2011/05/03)Gofix 工具语言包工具小修订 r58(2011/06/29)语言包工具小修订 r59(2011/08/01)语言包工具 r60(2011/09/07)语言包工具 [go1 2012-03-28](https://golang.google.cn/doc/devel/release#go1)[go1.1 2013-05-13]…