主库配置

pg_hba.conf

host replication all 10.2.0.0/0 trust

postgresql.conf

listen_addresses = '*'
max_wal_senders =
wal_level = hot_standby
wal_keep_segments =

重启主库

从库配置

安装
使用yum安装 (找源 http://yum.postgresql.org/)

yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
yum install postgresql95-server postgresql95-contrib

生成基础备份(主数据库IP 10.2.0.14)

pg_basebackup -h 10.2.0.14 -U postgres -F p -P -x -R -D /var/lib/pgsql/9.5/data/ -l postgresbackup20160506
postgres 不在有参数 -x
说明 pg_log, pg_xlog, pg_clog目录分别重命名为log, pg_wal, pg_xact。

pg_basebackup支持两种全量备份的方式,

1.以fetch的方式,先备份数据在备份日志

2.以stream的方式,并行的备份数据和日志

pg_basebackup对于全量备份的数据和日志,提供了串行备份和并行备份的方式。fetch模式也就是串行备份需要保证在备份数据的过程中,备份开始时刻的日志需要一直保存下来, 也就说pg的wal_keep_segments需要足够大去保存日志文件,如果备份数据期间,日志开始时刻的日志已经被移除,那么备份就会失败。而stream模式,也就是并行备份过程中wal_max_sender必须保证不小于2。 而stream模式不支持,将数据和日志以流的方式输出到标准输出。

查看生成文件(注意文件的权限,用户组)

chown postgres:postgres /var/lib/pgsql/9.5/data/ -R
chmod 700 /var/lib/pgsql/9.5/data/
ls -l /var/lib/pgsql/9.5/data -rw-------. 1 postgres postgres 197 5月 6 13:11 backup_label.old
drwx------. 6 postgres postgres 50 5月 6 13:11 base
drwx------. 2 postgres postgres 4096 5月 6 13:38 global
drwx------. 2 postgres postgres 17 5月 6 13:11 pg_clog
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_commit_ts
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_dynshmem
-rw-------. 1 postgres postgres 4214 5月 6 13:11 pg_hba.conf
-rw-------. 1 postgres postgres 1636 5月 6 13:11 pg_ident.conf
drwx------. 2 postgres postgres 56 5月 6 13:11 pg_log
drwx------. 4 postgres postgres 37 5月 6 13:11 pg_logical
drwx------. 4 postgres postgres 34 5月 6 13:11 pg_multixact
drwx------. 2 postgres postgres 17 5月 6 13:38 pg_notify
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_replslot
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_serial
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_snapshots
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_stat
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_stat_tmp
drwx------. 2 postgres postgres 17 5月 6 13:11 pg_subtrans
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_tblspc
drwx------. 2 postgres postgres 6 5月 6 13:11 pg_twophase
-rw-------. 1 postgres postgres 4 5月 6 13:11 PG_VERSION
drwx------. 3 postgres postgres 89 5月 6 13:29 pg_xlog
-rw-------. 1 postgres postgres 88 5月 6 13:11 postgresql.auto.conf
-rw-------. 1 postgres postgres 21756 5月 6 13:38 postgresql.conf
-rw-------. 1 postgres postgres 59 5月 6 13:38 postmaster.opts
-rw-------. 1 postgres postgres 87 5月 6 13:38 postmaster.pid
-rw-r--r--. 1 postgres postgres 140 5月 6 13:35 recovery.conf
cat recovery.conf
standby_mode = 'on'
primary_conninfo = 'user=postgres host=10.2.0.14 port=5432 sslmode=disable sslcompression=1'

修改 postgresql.conf(否则启动失败 错误:postgresql-9.5.service start operation timed out. Terminating.)

hot_standby=on

启动从库

systemctl start postgresql-9.5.service
systemctl enable postgresql-9.5.service

测试

主库操作从库查看同步结果

psql -U postgres
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF- | en_US.UTF- |
template0 | postgres | UTF8 | en_US.UTF- | en_US.UTF- | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF- | en_US.UTF- | =c/postgres +
| | | | | postgres=CTc/postgres
test | postgres | UTF8 | en_US.UTF- | en_US.UTF- |
( rows) postgres=# \c test
est=# create table test01(id int primary key,note text);
CREATE TABLE
test=# \d
List of relations
Schema | Name | Type | Owner
--------+--------+-------+----------
public | test01 | table | postgres
( row) test=# insert into test01 values(,'');
INSERT
test=# insert into test01 values(,'');
INSERT
test=# insert into test01 values(,'');
INSERT
test=# insert into test01 values(,'');
INSERT
test=# \q select * from test01;
id | note
----+------
|
|
|
|

主从同步状况查看

主库
select * from pg_stat_replication ;
-[ RECORD ]----+------------------------------
pid |
usesysid |
usename | postgres
application_name | walreceiver
client_addr | 10.2.0.15
client_hostname |
client_port |
backend_start | -- ::49.191165+
backend_xmin |
state | streaming
sent_lsn | /BA000140
write_lsn | /BA000140
flush_lsn | /BA000140
replay_lsn | /BA000140
write_lag |
flush_lag |
replay_lag |
sync_priority |
sync_state | async

 

从库

select * from pg_stat_wal_receiver ;
-[ RECORD ]---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pid |
status | streaming
receive_start_lsn | /BA000000
receive_start_tli |
received_lsn | /BA000140
received_tli |
last_msg_send_time | -- ::19.692318+
last_msg_receipt_time | -- ::19.724085+
latest_end_lsn | /BA000140
latest_end_time | -- ::49.194596+
slot_name |
conninfo | user=postgres passfile=/root/.pgpass dbname=replication host=10.2.0.14 port= fallback_application_name=walreceiver sslmode=prefer sslcompression= krbsrvname=postgres target_session_attrs=any

CentOS7 PostgreSQL 主从配置( 一)的更多相关文章

  1. CentOS7 PostgreSQL 主从配置( 二)

    同步流复制配置PostgreSql的流复制是异步的,缺点是Standby上的数据落后于主库上的数据,如果使用Hot Standby做读写分离,就会存在数据一致性的问题.PostgreSql9.1版本后 ...

  2. CentOS7 PostgreSQL 主从配置( 三)

    postgres 主备切换 主备查看 方法 ps -ef | grep wal (主库 sender)postgres 27873 27864 0 5月06 ? 00:00:10 postgres: ...

  3. Centos7 Openldap主从配置

    转载 https://blog.csdn.net/htvxjl02/article/details/80336788 Centos7 Openldap主从配置 2018年05月16日 15:09:57 ...

  4. postgresql 主从配置

    安装postgresql 主从是否一定需要分两台机器,主从必须要同一个版本,不然启动会报错. 3. 配置Master数据库 su – postgres /usr/local/pgsql/bin/pg_ ...

  5. postgresql主从配置

    master:10.0.1.114 slaver:10.0.1.116 一.yum安装https://blog.csdn.net/weixin_41048363/article/details/803 ...

  6. centos7 postgresql安装配置

    2021-07-15 1.添加用户 # 添加用户 postgres useradd postgres # 给用户 postgres 设置密码 passwd postgres 2.切换到该用户,下载 p ...

  7. postgresql pgsql最新版安装指南及数据存储路径更改及主从配置

    postgresql pgsql最新版安装指南及数据存储路径更改及主从配置 安装指南 首先在apt的list添加你当前系统版本对应的apt列表 目前官网有16.04,14.04,12.04 分别对应下 ...

  8. postgresql主从同步配置

    前言 不久前,公司的一台物理机器硬件坏了,导致运行在其上的虚拟机都挂了.很不凑巧的是,我负责的那台虚拟机的系统盘坏了(ps:感觉老天在玩我),导致里面的数据永远的离我而去(ps:当时我的内心是崩溃的) ...

  9. CentOS7系统DNS主从配置

    CentOS7系统DNS主从配置:一.DNS服务器正向解析:1.1 基础环境:主机IP          主机名      操作系统    用途192.168.0.110   master      ...

随机推荐

  1. 字符串:"2016-09-21T18:57:50+08:00[Asia/Chungking]" 转Date

    public static void main(String[] args) throws Exception { Date date1 = new Date(); SimpleDateFormat ...

  2. HDU2571 命运 动态规划

    好久没更新博客了. 校内练习的一道水题 HDU2571 命运. 简单DP. 穿过幽谷意味着离大魔王lemon已经无限接近了!  可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫 ...

  3. gitignore git提交忽略文件

    从网上找的git忽略文件挺前面的,现在记录下来,以备后用: tomsuite.xml **pom.xml.releaseBackup release.properties gen */seed.txt ...

  4. html5权威指南:嵌入另一张HTML文档、通过插件嵌入内容、嵌入数字表现形式

    嵌入另一张HTML文档.通过插件嵌入内容.嵌入数字表现形式:http://www.cnblogs.com/yc-755909659/p/5928125.html

  5. ios空模板配置

    ios之Xcode6如何手动创建空工程模板 1.首先创建Single View Application 2.然后找到工程目录->Supporting Files ——>找到 info.pl ...

  6. 浅析const标识符在C++函数的功能

    范例: class matrix { public: matrix(){}; const double getvalue(const unsigned row, const unsigned colu ...

  7. idea代码调试debug篇

    主要看图,看图一目了然. 断点的设定和eclipse一样,只要点一下就可以,下面是我设定的几个断点,再下面的三个窗口是用来调试代码的,这个和eclipse类似 调试常用的快捷键 F9          ...

  8. LeetCode OJ 4. Median of Two Sorted Arrays

    There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...

  9. 利用scrollTop 制作图片无缝滚动

    <!doctype html><title>javascript无缝滚动 by 司徒正美</title><meta charset="utf-8&q ...

  10. Openjudge-计算概论(A)-奥运奖牌计数

    描述: 2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17).现在要统计一下A国所获得的金.银.铜牌数目及总奖牌数. 输入输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每 ...