绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Postgres-10亮点 - pg_basebackup改进
2020-02-20 19:09:10

近,有三个改进和变化添加到pg_basebackup中,这些改进成为Postgres 10的一部分。

一、基础备份目录的状态

  ,涉及到对故障磁盘上的备份文件夹的状态。
总之,在出现故障的情况下,pg_basebackup将删除它已经处理时创建的文件夹。这个已经提交commit 9083353

在使用此功能时,有几件事情需要注意:

·     当pg_basebackup收到终止信号时,不会触发清理动作。

·     使用的格式,或plain或tar,没关系,清理行动会在目标目录中触发。

·     当backup目录包含WAL段时,清理动作也会执行。

  如果你不想使用pre-10的盖井,可以指定新的选项-noclean,用来保持所创建的文件夹内容。
该选项是pre-10的行为,可用于测试和开发。新的默认值去掉了手动删除目标目录的,因为目标目录会包含一些已损坏状态的集群数据,尽管保留(目标目录)可用于调试。

二,-xlog-stream=stream选项的对tar模式的支持

  要注意的第二件事是-xlog-stream=stream 的支持 在tar模式下也可以使用,已经提交改进提交56c7d8d。如下类型的命令是在Postgres-10 是no problem 的:

 

pg_basebackup -D $PGDATA --xlog-method=stream --format=t

  由于WAL流发生在主节点Main进程fork出来的不同的子进程中,将创建另一个名为pg_wal.tar的tar文件。今后,每一个表空间的基础备份文件会以tar结尾,并将内容保存到pg_wal/(pre-10 中为pg_xlog/)文件夹中。

  这是要注意的要点:
  当从tar格式化的方法恢复备份时,新创建的tar文件内容需要是untar的,但更重要的是复制到正确的位置。

三、基础备份会排除一些文件目录

  在pg_basebackup得到改善三的是一系列文件夹是被基础备份排除在外。这已经通过加入 提交6ad8ac6。下面是它的符号链接的源服务器就变成在基础备份空文件夹中的文件夹列表:

·     pg_notify/ NOTIFY/LISTEN的内容。

·     pg_serial/ 对串行化的事务提交。

·     pg_snapshots/ 外部快照数据。

·     pg_stat_tmp/ 临时统计信息的默认路径。

·     pg_subtrans/ 子事务状态数据。

  注意,pre-10 实际上不能很好的处理这些路径的符号链接,所以要注意在这种情况下的限制。例如pg_stat_tmp/是hte的临时统计目录,如果没有在postgresql.conf中指定一个路径,用户可以保持默认值,而不是使用默认配置,使用符号链接到其他地方。

  另外要注意的重要一点是,pg_xlog里面(或者版本10中的为pg_wal),以及pg_replslot/如果在源服务器中是个符号链接的话,会包含在基础备份中,表现是个空目录。

  这些改进都已经提交commit,虽然无法保证Postgres 10后面还会有什么改动,但当前状态已经表明了下一个Postgres版本中 pg_basebackup 拥有一个啥样的蓝本。

 


分享好友

分享这个小栈给你的朋友们,一起进步吧。

PostgreSQL中文社区小栈
创建时间:2019-04-19 17:47:49
PostgreSQL中文社区是一个非盈利的民间组织,已经在中国成功举办过8届技术大会。目前成员都以志愿者身份加入,成立的目的在于构建PG数据库技术生态圈子(内核、用户、培训机构、厂商、服务商、软件开发商、高校形成“业务与利益双向驱动”的良性发展生态圈);帮助企业解决人才培养和企业商用数据库成本问题。社区会在各运营平台发布PG新信息和PG相关技术文章,推动PG技术在中国的发展。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • wangliyun
    栈主
  • digoal
    嘉宾
  • 飘絮絮絮丶
    嘉宾

小栈成员

查看更多
  • 栈栈
  • 喵呜
  • osdba
  • 一号管理员
戳我,来吐槽~