重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 241|回复: 0
打印 上一主题 下一主题

Postgres主从模式部署

[复制链接]
跳转到指定楼层
楼主
发表于 2024-8-4 13:05:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


准备工作

首先安装依赖包:
yum -y install   readline-devel zlib-devel



部署工作

2.1 安装postgresql
将postgresql的包上传到(/tmp)文件夹中进行解压。
postgresql的离线包到官方网站下载:https://www.postgresql.org/
tar -xzvf postgresql-13.3.tar.gz

2.2 创建postgresql的安装目录
mkdir /data01/postgresql /data01目录下创建postgresql

2.3 生成makefile
需要到解压的目录下操作:
./configure --prefix=/data01/postgresql //需要到解压的目录下操作

2.4 编译安装
在解压的目录下执行:
make && make install //在解压的目录下执行

2.5 安装工具集
PS:进入到解压后的目录下的contrib文件夹。
cd /data01/postgresql-11.7/contrib //进入到解压后的目录下的contrib文件夹
make && make install

2.6 创建postgresql用户
groupadd postgres
useradd -g postgres postgres

为了安全考虑,postgresql不允许使用root用户操作数据库,我们在系统中为了使用postgresql添加一个用户postgres:
也可以是其他用户名,但是习惯上大家都是创建postgres用户作为数据库的超级用户。
初始化数据库时,就以这个用户作为数据库的超级用户。
2.7 修改data目录的用户为postgres
cd /data01/postgresql //进入到安装的postgresql目录

mkdir data //在postgresql目录下创建data文件夹

chown -R postgres:postgres /data01/postgresql/data

2.8 修改环境变量
su - postgres

vim /home/postgres/.bash_profile

添加环境变量:
export PGHOME=/data01/postgresql

export PGDATA=/data01/postgresql/data

export PATH=$PGHOME/bin:$PATH

export MANPATH=$PGHOME/share/man:$MANPATH

export LANG=en_US.utf8

export DATE=`date +"%Y-%m-%d %H:%M:%S"`

export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

alias rm='rm -i'

alias ll='ls -lh'

保存后使环境变量立即生效,否则initdb命令会找不到:
source /home/postgres/.bash_profile

2.9 初始化数据库
initdb -D /data01/postgresql/data/


2.10 启动数据库
su - postgres

cd /home/postgres //logfile需要在postgres的用户目录下创建

pg_ctl -D /data01/postgresql/data/ -l logfile start

查看5432端口是否已经启动:
netstat -nltp|grep 5432

2.1-2.10,主库备库服务器上都要操作。
2.11 主库修改/data01/postgresql/data/pg_hba.conf文件,允许备库IP通过复制用户访问数据库

2.12 主库修改/data01/postgresql/data/postgresql.conf
listen_addresses= '*'

wal_level = replica

max_connections = 10000

archive_mode = on

archive_command = 'cp %p /data01/postgresql/archive/%f'

max_wal_senders= 10

wal_keep_size = 1000 # in megabytes; 0 disables

max_slot_wal_keep_size = 10 # in megabytes; -1 disables

wal_sender_timeout = 120s # in milliseconds; 0 disables

hot_standby = on

2.13 修改完后重启主库服务
pg_ctl -D /data01/postgresql/data/ -l logfile restart

2.14 备库使用pg_basebackup命令将主节点的data同步过来
pg_basebackup -h 192.XXX.XXX.208 -p 5432 -U postgres -P -X stream -D /data01/postgresql/data -R

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-28 15:24 , Processed in 0.118276 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表