前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >postgresql主备配置步骤

postgresql主备配置步骤

作者头像
felixxue
发布2022-12-29 19:31:11
1.3K0
发布2022-12-29 19:31:11
举报
文章被收录于专栏:xueflyxuefly

主从上安装postgres相同步骤:

1. 查询已安装postgres

rpm -qa | grep postgres

卸载掉postgres:

rpm -e --nodeps postgresql95-contrib-9.5.3-2PGDG.rhel7.x86_64

rpm -e --nodeps postgresql95-devel-9.5.3-2PGDG.rhel7.x86_64

rpm -e --nodeps postgresql95-libs-9.5.3-2PGDG.rhel7.x86_64

rpm -e --nodeps postgresql95-server-9.5.3-2PGDG.rhel7.x86_64

rpm -e --nodeps postgresql95-9.5.3-2PGDG.rhel7.x86_64

2. 安装postgresql

rpm包

rpm -ivh postgresql95-*

3. mkdir -p /opt/pgsql/data

chown postgres /opt/pgsql

4. su - postgres initdb -D

/opt/pgsql/data

Or

/usr/pgsql-9.5/bin/postgresql95-setup

initdb

service postgresql-9.5 status

5. 添加环境变量:

vi /etc/profile

在最后加入:

export PGHOME=/usr/pgsql-9.5

export PGDATA=/opt/pgsql/data

export PATH=$PGHOME/bin:$PATH:/usr/local/pgpool/bin

export LANG=zh_CN.UTF-8

export PGPORT=5432

export PATH=/usr/pgsql-9.5/bin:$PATH

6. 添加开机启动:

$PGHOME/bin/pg_ctl start -l logfile -D $PGDATA

7. 启动postgressql:

pg_ctl -D /opt/pgsql/data/ -l logfile start

主(192.168.205.145):

1. 创建归档目录:mkdir /opt/pgsql/pg_archive

2. 修改postgres用户的密码:

su - postgres

psql postgres

alter user postgres with password 'postgres';

3. 配置pg_hba.conf:

vi /opt/pgsql/data/pg_hba.conf

在最后加入:

host all all 0.0.0.0/0 trust

host replication postgres 0.0.0.0/0 trust

4. 配置postgresql.conf:

vi /opt/pgsql/data/postgresql.conf

修改其中配置项:

listen_addresses = '*' # 监听所有IP

archive_mode = on

# 允许归档

archive_command = 'cp %p /opt/pgsql/pg_archive/%f' # 用该命令来归档logfile segment

wal_level = hot_standby

max_wal_senders = 32 # 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个wal_keep_segments = 256 # 设置流复制保留的最多的xlog数目

wal_sender_timeout = 60s # 设置流复制主机发送数据的超时时间

max_connections = 100 # 这个设置要注意下,从库的max_connections必须要大于主库的

5. 重启pgsql服务:

pg_ctl stop -D /opt/pgsql/data

pg_ctl start -D /opt/pgsql/data

从(192.168.205.161):

1. 将主机节点拷贝数据到从机节点

su - postgres

rm -rf /opt/pgsql/data/* #先将data目录下的数据都清空

pg_basebackup -h 192.168.205.145 -U postgres -D /opt/pgsql/data -X stream -P # 从主机拷贝数据到从机(基础备份)

mkdir /opt/pgsql/pg_archive

2. 配置recovery.conf

cp /usr/pgsql-9.5/share/recovery.conf.sample /opt/pgsql/data/recovery.conf

vi /opt/pgsql/data/recovery.conf

修改配置:

standby_mode = on

# 说明该节点是从服务器

primary_conninfo = 'host=192.168.205.145 port=5432

user=postgres password=postgres' # 主服务器的信息以及连接的用户

recovery_target_timeline = 'latest'

3. 配置postgresql

vi /opt/pgsql/data/postgresql.conf

修改配置:

wal_level = hot_standby

max_connections = 1000 # 一般查多于写的应用从库的最大连接数要比较大

hot_standby = on # 说明这台机器不仅仅是用于数据归档,也用于数据查询

max_standby_streaming_delay = 30s # 数据流备份的最大延迟时间

wal_receiver_status_interval = 10s # 多久向主报告一次从的状态,当然从每次数据复制都会向主报告状态,这里只是设置最长的间隔时间

hot_standby_feedback = on # 如果有错误的数据复制,是否向主进行反馈

4. 重启pgsql服务:

pg_ctl stop -D /opt/pgsql/data

pg_ctl start -D /opt/pgsql/data

6. 在从机上测试主机

su - postgres

psql -h 192.168.205.145 -U postgres

验证主备同步状态:

ps aux | grep wal

主机上有 wal sender process 进程

从机上有 wal receiver process 进程

表示配置成功

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档