pg10wal归档同步配置-创新互联

一.rsync server(172.16.3.226)

成都创新互联服务项目包括昆玉网站建设、昆玉网站制作、昆玉网页制作以及昆玉网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,昆玉网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到昆玉省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

CentOS 7.2 X64

# yum install -y rsync

# mkdir -p -m 0700 /db/wal_archive

# chown -R postgres.postgres /db/wal_archive

可能存在的问题:

修改目录/db/wal_archive权限后仍报错如下:

rsync: mkstemp "/.000000010000000000000001.2Z6cX4" (in archive) failed: Permission denied (13)

解决办法:请查询 /etc/selinux/config的SELINUX配置项:

SELINUX=disabled

2.rsync server(172.16.3.226)

1).修改配置

# vi /etc/rsyncd.conf

[root@localhost wal_archive]# vi /etc/rsyncd.conf

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

# uid = nobody

# gid = nobody

# use chroot = yes

# max connections = 4

# pid file = /var/run/rsyncd.pid

# exclude = lost+found/

# transfer logging = yes

# timeout = 900

# ignore nonreadable = yes

# dont compress  = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]

#     path = /home/ftp

#     comment = ftp export area

############# new add ##############

[archive]

# destination directory for copy

path = /db/wal_archive

# hosts you allow to access

hosts allow = 172.16.3.225

hosts deny = *

list = true

uid = postgres

gid = postgres

read only = false

[postgres@localhost wal_archive]#

2.启动服务

# systemctl start rsyncd

# systemctl enable rsyncd

二、传输文件

rync client(172.16.3.225)

1.安装软件

# yum install -y rsync

2.建立数据库归档目录

# mkdir -p -m 0700 /db/wal_archive

# chown -R postgres.postgres /db/wal_archive

3.同步脚本配置

1小时以外的wal同步

sync_archives.sh

#!bin/sh

export PATH=/bin:$PATH

find /db/wal_archive -name '0000*' -type f -mmin 60 | xargs -I{} rsync -avz {} 172.16.3.226::archive

归档删除脚本

两天以外的wal删除

del_archives.sh

#!bin/sh

export PATH=/bin:$PATH

find /db/wal_archive -name '0000*' -type f -mtime +2 - delete

# crontab -e

* * * * * /opt/cron/sync_archives.sh

0 1 * * * /opt/cron/del_archives.sh

三、数据库归档配置

#------------------------------------------------------------------------------

# WRITE AHEAD LOG

#------------------------------------------------------------------------------

# - Settings -

#wal_level = replica           # minimal, replica, or logical

                    # (change requires restart)

#fsync = on               # flush data to disk for crash safety

                    # (turning this off can cause

                    # unrecoverable data corruption)

#synchronous_commit = on         # synchronization level;

                    # off, local, remote_write, remote_apply, or on

#wal_sync_method = fsync         # the default is the first option

                    # supported by the operating system:

                    #  open_datasync

                    #  fdatasync (default on Linux)

                    #  fsync

                    #  fsync_writethrough

                    #  open_sync

#full_page_writes = on          # recover from partial page writes

#wal_compression = off          # enable compression of full-page writes

#wal_log_hints = off           # also do full page writes of non-critical updates

                    # (change requires restart)

#wal_buffers = -1            # min 32kB, -1 sets based on shared_buffers

                    # (change requires restart)

#wal_writer_delay = 200ms        # 1-10000 milliseconds

#wal_writer_flush_after = 1MB      # measured in pages, 0 disables

#commit_delay = 0            # range 0-100000, in microseconds

#commit_siblings = 5           # range 1-1000

# - Checkpoints -

#checkpoint_timeout = 5min        # range 30s-1d

#max_wal_size = 1GB

#min_wal_size = 80MB

checkpoint_completion_target = 0.9    # checkpoint target duration, 0.0 - 1.0

#checkpoint_flush_after = 256kB     # measured in pages, 0 disables

#checkpoint_warning = 30s        # 0 disables

# - Archiving -

archive_mode = on        # enables archiving; off, on, or always

                # (change requires restart)

archive_command = 'cp -an %p > /db/wal_archive/%f'        # command to use to archive a logfile segment

                # placeholders: %p = path of file to archive

                #        %f = file name only

                # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'

archive_timeout = 86400     # force a logfile segment switch after this

                # number of seconds; 0 disables

#------------------------------------------------------------------------------

# REPLICATION

#------------------------------------------------------------------------------

# - Sending Server(s) -

# Set these on the master and on any standby that will send replication data.

max_wal_senders = 20      # max number of walsender processes

                # (change requires restart)

wal_keep_segments = 1000    # in logfile segments, 16MB each; 0 disables

#wal_sender_timeout = 60s    # in milliseconds; 0 disables

#max_replication_slots = 10   # max number of replication slots

                # (change requires restart)

#track_commit_timestamp = off  # collect timestamp of transaction commit

                # (change requires restart)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:pg10wal归档同步配置-创新互联
文章源于:http://scyanting.com/article/dcijdp.html