PostgreSQL pg_start_backup

简介: 本文探讨 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主备库搭建
pg主备库的搭建,首先需在2个节点安装pg软件,然后依次在2个节点配置主备。 本文采用os为CentOS7.6,pg版本使用14.2,以下为详细部署步骤。
1401 0
|
安全 关系型数据库 数据库
Postgresql 数据库用户权限授权(用户角色分配模式)
为了更方面和安全地管理数据库用户账号权限安全,实现通过用户角色代理的模式,实现用户账号功能授权的模式
19937 2
Postgresql 数据库用户权限授权(用户角色分配模式)
|
弹性计算 关系型数据库 数据库
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
标签 PostgreSQL , 只读 , 锁定 , readonly , recovery.conf , 恢复模式 , pg_is_in_revoery , default_transaction_read_only 背景 在一些场景中,可能要将数据库设置为只读模式。 例如, 1、云数据库,当使用的容量超过了购买的限制时。切换到只读(锁定)模式,确保用户不会用超。 2、业务上需要对
7677 0
|
算法 关系型数据库 数据库
德哥的PostgreSQL私房菜 - 史上最屌PG资料合集
看完并理解这些文章,相信你会和我一样爱上PostgreSQL,并成为PostgreSQL的布道者。 沉稳的外表无法掩饰PG炙热的内心 。 扩展阅读,用心感受PostgreSQL 内核扩展 《找对业务G点, 体验酸爽 - PostgreSQL内核扩展指南》https://yq.
59009 152
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
130462 0
|
安全 Linux 网络安全
Linux——OpenSSH如何升级到最新版本
Linux——OpenSSH如何升级到最新版本
2175 0
Linux——OpenSSH如何升级到最新版本
|
存储 开发者 Docker
|
存储 关系型数据库 数据处理
在 Postgres 中使用创建临时表
【8月更文挑战第11天】
937 0
|
运维 安全 Ubuntu
`/var/log/syslog` 和 `/var/log/messages` 日志详解
`/var/log/syslog` 和 `/var/log/messages` 是Linux系统的日志文件,分别在Debian和Red Hat系发行版中记录系统事件和错误。它们包含时间戳、日志级别、PID及消息内容,由`rsyslog`等守护进程管理。常用命令如`tail`和`grep`用于查看和搜索日志。日志级别从低到高包括`debug`到`emerg`,表示不同严重程度的信息。注意保护日志文件的安全,防止未授权访问,并定期使用`logrotate`进行文件轮转以管理磁盘空间。
5322 1