暂无图片
postgreSQL 流复制备库 wal 日志如何进行归档?
我来答
分享
暂无图片 匿名用户
postgreSQL 流复制备库 wal 日志如何进行归档?

postgreSQL 流复制备库 wal 日志如何进行归档?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
刺槐

PostgreSQL流复制备库的WAL归档,需要您进行以下步骤:

  1. 在主数据库中启用WAL归档功能,打开 archive_mode 选项:
archive_mode = on
复制
  1. 配置WAL归档目录,指定WAL归档日志的路径:
archive_command = 'cp %p /path/to/archive/%f'
复制

这里的 %p 表示归档日志文件的完整路径, %f 表示归档日志的文件名。

  1. 在备库上,指定WAL归档日志的目录。打开 restore_command 选项:
restore_command = 'cp /path/to/archive/%f %p'
复制

这里的 %p%f 的含义同上。

  1. 配置归档日志保留时间,在备库的 postgresql.conf 配置文件中设置 archive_cleanup_command 选项。
archive_cleanup_command = '/usr/local/pgsql/bin/pg_archivecleanup /path/to/archive %r'
复制

这里的 %r 会被实际的WAL日志文件名替换。

设置归档日志保留时间的作用是,当备库需要删除一个WAL日志文件时, archive_cleanup_command选项中设置的命令将会被运行。在这个命令中,我们可以指定需要保留的WAL文件的数量或保留的时间,从而控制备库中WAL日志文件的数量和大小。

  1. 最后,在备库上启动流复制备库进程。当备库需要恢复时,它会从主数据库获取并解压WAL文件流。

需要注意的是,归档日志的路径需要保证主备库可以访问。在您的归档日志目录设置的时候,需要考虑到这一点。同时,为了确保备库能够正确地恢复数据,建议您每个备库都设置独立的WAL归档目录、日志文件名和保留期限。

暂无图片 评论
暂无图片 有用 0
打赏 0
手机用户9375
2023-04-25
归档日志的路径需要保证主备库可以访问 ,这个是需要共享的nfs吗?
刺槐

在 PostgreSQL 中,做主从复制时,归档日志的路径需要保证主备库可以访问,但并不一定需要使用 NFS。通常有以下几种实现方式。

1. 共享文件系统:可以将归档日志的路径挂载到主机和备机的同一个共享文件系统中,实现主机和备机共享一块磁盘。通常使用NFS共享文件系统,但要注意负载和可靠性问题。
2. 监视并传输日志:主机会定期产生归档日志,备机可以配置异步传输日志,将主机上新生成的日志及时传输到备机上。可以使用流复制及 WAL分发技术等机制,或在主机上安装第三方工具如pg_receivexlog来接收及传输归档日志。
在实现主从复制时,建议采用共享文件系统或异步传输归档日志。当使用共享文件系统时,要注意确保共享的存储具备足够的性能,避免共享存储成为瓶颈而影响系统性能。出于可靠性考虑,还可以使用双重备份、多副本备份或异地容灾等多种备份机制。如果需要同时满足性能和可靠性,可以考虑对上述方案进行合理优化和调整。

暂无图片 评论
暂无图片 有用 0
打赏 0
清风生

备库上设置参数archive_mode =always,并设置archive_command即可

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgreSQL 有表结构对比工具吗?
回答 3
pgquarrel
pg中一个普通的表,最多可以有多少个分区?
回答 1
一个普通的表最多可以有32767个分区。因为每个分区的标识符是一个15位的整数,最大值为2^15132767。如果需要更多的分区,可以考虑使用多级分区或分区视图等方法。
如何在本地安装pg客户端?而不是通过yum网络的形式
回答 2
已采纳
在本地安装PostgreSQL14客户端,可以按照以下步骤进行:从PostgreSQL官方网站下载PostgreSQL14客户端安装包。在下载页面,选择适合你的操作系统和架构的版本。下载完成后,解压下
postgresql 有grouping_id函数吗?
回答 3
已采纳
用grouping即可,示例如下:selectjob,deptno,grouping(job,deptno),sum(sal)fromempgroupbyrollup(job,deptno)order
PostgreSQL 设置密码登录
回答 1
将pghba.conf文件中localallall    trust修改为localallall   md5重启生效
虚拟机蓝屏进不去了,数据库没来得及备份,还能把虚拟机的磁盘映射出来,能直接拿pg文件夹里的数据文件直接复制出来,移到别的虚拟机新的postgreSQL里面去吗?
回答 2
1
postgreSQL一般用什么监控?
回答 2
https://www.modb.pro/db/25826看看这个
postgresql 里面可以使用insert overwrite吗?
回答 2
类似upsert语法:insertintoonconflictdoupdate/donothing
在使用PostgreSQL时,默认的隔离级别是Read Committed(已提交读)级别。Read Committed是不是行级锁?
回答 2
LZ应该是mysql过来的,pg可重复度也没有gap锁。除了SSI,一般用户不使用。
postgresql的存储过程一般用在哪些场景?
回答 1
已采纳
实验环境,模拟数据或者压测。正式环境不推荐使用。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~