PostgreSQL pg_start_backup

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 本文探讨 pg_start_backup命令的连续归档备份

简介:
这种备份方法跟pg_basebackup不同,被称为非排他低级基础备份。
非排他:就是备份的时候不影响其他的工作
低级基础:就是使用低级API来实现。像pg_basebackup是全自动的;而pg_start_backup需要你自己指定什么时候开始,什么时候结束,不是全自动的,被称为低级API

作用:
使用本命令是为了做一个基础的备份。那就分为3步。

1. pg_start_backup
2. 进行文件系统级别的备份(用tar、cpio、rsync等命令,非pg_dump、pg_dumpall)
3. pg_stop_backup

特性:

1. 允许其他并发备份进行,即包括其他pg_start_backup的备份,也包括pg_basebackup的备份;
2. wal归档启用并正常工作
3. 使用pg_start_backup的用户必须有该函数的权限,和连接到服务器上的权限,一般用postgres用户
4. 不在乎连接到哪个数据库,只要能发出命令就行。
5. 调用pg_start_backup的会话连接必须保持到备份结束,否则备份将自动被终止。

step1:
select pg_start_backup('label',false,false);

label:唯一标识这次备份操作的任意字符串
第二个参数:默认情况下(就是设置为false),pg_start_backup需要较长的时间来完成。因为会执行一个检查点,该检查点所需要的IO将会分散到一段时间内,默认是你检查点间隔(checkpoint_completion_target参数)的一半(前面参数我的PG是0.5,那这里一般就是0.25),可以最小化对其他会话查询的影响。如果你想尽快的开始备份,则把false改为true。这将会立即发出一个检查点并且使用尽可能多的I/O。
第三个参数:默认false的情况下,意思是告诉pg_start_backup开始一次非排他基础备份,默认就行

step2:
然后进行文件系统的备份,tar或者cpio或者rsync

step3:
然后停止
select pg_stop_backup();
该函数会终止备份模式,并且执行一个自动切换到下一个wal段。进行切换的原因是将在备份期间生成的最新wal段文件安排为可归档。

这样就完成了一次基础备份。该基础备份跟pg_basebackup差不多,不过pg_basebackup都封装好了,也不用你用操作系统命令进行备份,他自己就给你搞完了。

当你进行step2的时候,确保你的备份包含了$PGDATA下的所有文件。如果你使用了不在此目录下的表空间,也得把这些表空间备份。并且确保你的备份将表空间的软连接归档为链接,否则恢复过程将破坏你的表空间。
image.png

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
关系型数据库 PostgreSQL
PostgreSQL pg_ctl start超时分析
PostgreSQL pg_ctl start超时分析
169 0
|
Oracle 关系型数据库 Shell
‘show parameter ‘ for openGauss or PostgreSQL
对于oracle DBA查看数据库实例参数可以在sqlplus中使用show prameter xxx 模糊匹配非隐藏参数或已修改隐藏参数,当然也可以查询v$ 的视图, 在openGauss或postgresql当前版本中需要匹配输入参数名,当然参数名我们不可能完全记的全名,模糊搜索需要手动创建个shell方法。
192 0
|
SQL 关系型数据库 数据库
PostgreSQL 服务器日志 pg_log
10.0版本PostgreSQL,存在三种日志 WAL日志,即重做日志,一般不可读 日志对应目录为 $PGDATA/pg_xlog 事务提交日志,记录的是事务的元数据 日志对应目录为 $PGDATA/pg_clog 数据库运行日志 日志对应目录为$PGDATA/pg_log 前两种日志,虽然仍然非常重要,但却是不可读的,我们日常使用不多。
7232 0
LXJ
|
关系型数据库 Shell PostgreSQL
PostgreSQL recovery.conf恢复配置
PostgreSQL recovery.conf恢复配置
LXJ
522 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL pg_basebackup
本文探讨 pg_basebackup工具,本地备份、远程备份、单一表空间本地数据库的备份、表空间重定向
1911 0
PostgreSQL pg_basebackup
|
SQL Oracle 关系型数据库
PostgreSQL 物化视图(Oracle同步到PG,PG同步到PG) - by pgsnapshot (plperlu trigger) (支持类似Oracle的mvlog fast complete force刷新)
标签 PostgreSQL , 物化视图 , 增量刷新 , mvlog , Oracle 同步到 PG , PG 同步到 PG 背景 PostgreSQL自身的物化视图没有MVLOG,也就是说,刷新的时候是VIEW定义产生的记录与MV已刷新的记录进行比对,进行增量更新的过程。
3338 0
|
SQL Oracle Java
如何将PG,PPAS,oracle,mysql,ms sql,sybase 迁移到 PG, PPAS (支持跨版本升级)
标签 PostgreSQL , PPAS , 迁移 , 跨版本升级 , oracle , mysql , SQL Server , Sybase , 同步 背景 使用EDB的MTK工具,可以完成异构迁移,同构迁移,异平台迁移,版本升级等动作例如: 1、PG, PPAS, oracle, mysql, ms sql, sybase 迁移到 PG, PPAS。
2691 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL pg_resetwal pg_resetxlog 强制使用某些值(例如system id)
标签 PostgreSQL , pg_resetxlog , pg_resetwal , 修复控制文件 , pg_controldata , 修复恢复异常 背景 使用pg_resetwal , pg_resetxlog 修复控制文件时,如何强制指定数据库实例systemid? pg_rese...
1923 0
|
关系型数据库 数据库 PostgreSQL
Postgresql pg_dump&pg_restore用法
PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以远程或本地导出逻辑数据,恢复数据至导出时间点。pg_dump 一次只转储一个数据库, 并且不会转储有关角色或表空间的信息 (因为那些是群集范围而不是每个数据库)。
11488 0