postgresql14-热备

IP

数据库版本

192.168.3.3

14.4

192.168.3.5

14.4

1.安装postgresql

一.源码编译安装postgresql-14

创建用户

[root@localhost postgresql-14.4]# useradd postgres

##创建安装目录

[root@localhost postgresql-14.4]# mkdir -p /home/pgsql/{data,log}

[root@localhost postgresql-14.4]# touch /home/pgsql/log/postgresql.log

[root@localhost pgsql]# chown -R postgres:postgres /home/pgsql/data

[root@localhost pgsql]# chown -R postgres:postgres /home/pgsql/log

##安装依赖包

[root@localhost ~]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

   1:ncurses-devel-5.9-14.20130511.el7################################# [100%]

[root@localhost ~]# rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

   1:readline-devel-6.2-11.el7        ################################# [100%]

[root@localhost ~]# rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm --nodeps --force

准备中...                          ################################# [100%]

正在升级/安装...

   1:zlib-1.2.7-18.el7                ################################# [100%]

[root@localhost ~]# rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

   1:zlib-devel-1.2.7-18.el7          ################################# [100%]

[root@localhost ~]# tar -xzvf postgresql-14.4.tar.gz

[root@localhost ~]# cd postgresql-14.4/

[root@localhost postgresql-14.4]# ./configure --prefix=/home/pgsql

[root@localhost postgresql-14.4]# make && make install

##配置环境变量

[root@pg1 ~]# vim /etc/profile

export PGHOME=/home/pgsql/

export PGUSER=postgres

export PGPORT=5432

export PGDATA=/home/pgsql/data

export PGLOG=/home/pgsql/log/postgresql.log

export PATH=$PGHOME/bin:$PATH:$HOME/bin

export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

[root@pg1 log]# source /etc/profile

##初始化数据库

[root@localhost pgsql]# su - postgres

[postgres@localhost ~]$ /home/pgsql/bin/initdb -D /home/pgsql/data

##启动数据库,并创建复制用户

[root@pg1 data]# su - postgres

##启动数据库

[postgres@pg1 ~]$ /home/pgsql/bin/pg_ctl -D /home/pgsql/data -l /home/pgsql/log/postgresql.log start

##创建复制用户

postgres=# create role replica login replication encrypted password '123456';

CREATE ROLE

##修改主的配置文件(192.168.3.3)

[root@pg1 ~]# vim /home/pgsql/data/pg_hba.conf

 vim /home/pgsql/postgresql.conf

 

 

 

##重启数据库

[root@pg1 pgsql]# su - postgres -c "/home/pgsql/bin/pg_ctl -D /home/pgsql/data -l /home/pgsql/log/postgresql.log restart"

##从库操作(192.168.3.5)

[root@pg3 data]# /home/pgsql/bin/pg_basebackup -h 192.168.3.3 -p 5432 -U replica -F p -P -D /home/pgsql/data/

##修改配置文件

vim /data/appData/postgreSql/postgresql.conf

## 移除或注释 wal_level,从库不需要这个配置

# wal_level = hot_standby

## 修改或添加以下

max_standby_streaming_delay=30s #可选,流复制最大延迟

wal_receiver_status_interval=10s #可选,向主库报告状态的最大间隔时间

hot_standby_feedback=on #可选,查询冲突时向主库反馈

max_connections=1000 #最大连接数一般大于主库就行

primary_conninfo = 'host=192.168.3.3 port=5432 user=replica password=123456'  # 表示主库连接信息

recovery_target_timeline = 'latest'     # 表示恢复最新的数据

##创建声明文件(创建 standby.signal 文件,声明从库)

vim /home/pgsql/data/standby.signal

##同步过来数据给个权限

[root@pg3 home]# chown -R postgres:postgres pgsql/

##启动数据库

[root@pg3 home]# su - postgres -c "/home/pgsql/bin/pg_ctl -D /home/pgsql/data -l /home/pgsql/log/postgresql.log start"

##主从验证

##在主上(192.168.3.3)

select pid,application_name,state,client_addr,sync_priority,sync_state from pg_stat_replication;

##创建一个数据库

 

###在从库查看(192.168.3.5)

 

 

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...