PostgreSQL从小白到高手教程 - 第38讲:数据库备份

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。

第38讲:数据库备份

PostgreSQL第38讲:12月09日(周六)19:30,钉钉群直播,群号:35-82-24-60

内容1:备份术语

内容2:备份工具

内容3:备份模式

内容4:basebackup简介

内容5:全库备份

内容6:表空间备份

内容7:只读数据库备份

术语

全库备份

目标数据库处于打开或者关闭状态

备份$PGDATA下所有的数据文件

部分备份

备份除了pg_global的其它表空间

一致性备份

不一致性备份

备份工具

使用操作系统命令对数据库文件进行备份和恢复

使用pg_basebackup对数据库文件进行备份

使用pg_rman对数据库文件进行备份和恢复

备份模式

一致性备份(数据库关闭)

备份$PGDATA目录下所有文件

一致性全库备份的好处

概念简单

易于执行

需要很少的操作员交互

执行一致性全库备份

数据库打开模式下备份

数据库打开模式下备份好处

保持高数据库可用性

支持不间断的业务运营

数据库打开模式下备份要求

数据库归档

· 归档日志

连续归档是在WAL段切换时将WAL段文件复制到归档区域的功能,由archiver(后台)进程执行。其中,占位符%p是复制的WAL段,而%f是存档日志。

ALTER SYSTEM SET archive_command = 'cp %p /home/postgres/archives/%f';

ALTER SYSTEM SET archive_mod = on;

执行数据库打开模式下备份

· pg_basebackup 基本备份的标准过程如下所示:

(1) 执行pg_start_backup 命令 

(2) 使用tar/cp命令对$PGDATA目录进行备份

(3) 执行pg_stop_backup 命令

pg_basebackup工作原理

· pg_start_backup执行以下四个操作

Force into the full-page wirte mode.

Switch to the current WAL segment file (version 8.4 or later).

Do checkpoint.

Create a backup_label file–此文件创建于base目录的同一层,包含有关基本备份本身的基本信息,例如此检查点的检查点位置。

· backup_label文件包含如下内容

CHECKPOINT LOCATION –这是记录此命令创建的检查点的LSN位置。

START WAL LOCATION –这不与PITR一起使用,而是与流式复制一起使用。它被命名为“START WAL LOCATION”,因为处于复制模式的备用服务器在初始启动时只读取一次该值。

BACKUP METHOD–这是用于进行此基础备份的方法。(pg_start_backup或pg_basebackup。)

BACKUP FROM –这显示此备份是从主备份还是从备用备份。

START TIME –这是执行pg_start_backup时的时间戳。

LABEL –这是在pg_start_backup中指定的标签。

START TIMELINE –这是备份开始的时间线。这是为了进行健全性检查,并已在版本11中引入。

· pg_stop_backup

如果pg_start_backup强制更改了非整页写入模式,则将其重置为非整页写入模式。

写一个备份结束的XLOG记录。

切换WAL日志。

创建备份历史文件–此文件包含备份标签文件的内容和执行pg_stop_backup的时间戳。

删除备份标签文件–备份标签文件是从基本备份恢复所必需的,一旦复制,就不必在原始数据库群集中。

执行pg_basebackup备份

· 示例

产生压缩的tar包,-Ft参数指定:

pg_basebackup -D bk1 -Ft -z -P

此备份花的时间比较长,但是节省空间。支持表空间文件存放在其它目录下。

产生跟源文件一样的格式,即原样格式,-Fp参数指定:

pg_basebackup -D bk2 -Fp -P

此备份方式很快,但是不节省空间。如果有表空间路径放在其它目录下,则备份失败。

执行用户管理全库备份

· 示例

数据库中执行开始备份函数

select pg_start_backup('full');

使用tar命令进行备份

cd $PGATA

tar -zcf /backup/data.tar.gz .

数据库中执行结束备份函数

select pg_stop_backup();

执行表空间备份

· 示例

数据库中执行开始备份函数

select pg_start_backup('tbs');

使用tar命令进行备份(备份pg_default表空间所在的目录)

cd $PGATA

tar -zcf /backup/base.tar.gz base

cp backup_lable /backup

数据库中执行结束备份函数

select pg_stop_backup();

执行只读数据库备份

· 示例

把某个数据库变成只读

ALTER DATABASE new_db1 set default_transaction_read_only=on;

使用tar/cp命令进行备份(备份new_db1所在的目录)

cd $PGATA/base

tar -zcf /backup/90195.tar.gz 90195

CUUG PostgreSQL技术大讲堂系列公开课,往期视频及文档,请联系CUUG客服。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

running小程序重要技术流程文档

一、项目文件说明: (注:getMyMoney无用已删除) 二、重要文件介绍 1.reinfo.js:位于utils文件下,该文件封装有统一的请求URL,和请求API同意封装供页面调用;调用时候需要在页面上先…

【C语言】操作符详解(一):进制转换,原码,反码,补码

目录 操作符分类 2进制和进制转换 2进制转10进制 10进制转2进制 2进制转8进制和16进制 2进制转8进制 2进制转16进制 原码、反码、补码 操作符分类 操作符中有一些操作符和二进制有关系,我们先铺垫一下二进制的和进制转换的知识。 2进制和进制转换 其实我们经…

数据结构准备知识

struct(结构体) struct,或称为结构体,是C语言中一种复合数据类型,它允许你将多个不同类型的数据项组合成一个单一的单位。这对于创建记录或更复杂的数据结构非常有用。 结构体的定义语法如下: struct 结…

vertica主键列能插入重复值的处理办法

问题描述 开发同事反馈在vertica中创建含主键列的表中插入重复数据时没有进行校验,插入重复值成功。经过测试着实可以插入重复值,这个坑有些不一样。 创建表和插入语句如下: --创建表 CREATE TABLE dhhtest(ID VARCHAR(64) PRIMARY KEY );…

postgresql数据库配置主从并配置ssl加密

1、先将postgresql数据库主从配置好 参考:postgresql主从配置 2、在主节点配置ssl加密,使用navicat测试是否可以连接 参考:postgresql配置ssl 3、正常连接无误后,将root.crt、server.crt、server.key复制到从数据库节点的存储…

使用Microsoft Dynamics AX 2012 - 5. 生产控制

生产控制的主要职责是生产成品。为了完成这项任务,制造业需要消耗物品和资源能力(人员和机械)。制造过程可能包括半成品的生产和库存。半成品是指物品包括在成品材料清单中。 制造业的业务流程 根据公司的要求,您可以选择申请Dy…

某马点评——day04

达人探店 发布探店笔记 改一下&#xff0c;图片保存路径就可以直接运行测试了。 查看探店笔记 Service public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IBlogService {Resourceprivate IUserService userService;Overridepublic Resu…

OpenCL学习笔记(二)手动编译开发库(win10+vs2019)

前言 有时需求比较特别&#xff0c;可能需要重新编译opencl的sdk库。本文档简单记录下win10下&#xff0c;使用vs2019编译的过程&#xff0c;有需要的小伙伴可以参考下 一、获取源码 项目地址&#xff1a;GitHub - KhronosGroup/OpenCL-SDK: OpenCL SDK 可以直接使用git命令…

一篇文章了解指针变量

字符指针变量 在指针的类型中我们知道有一种指针叫做字符指针 它的使用情况如下&#xff1a; #include<stdio.h> int main() {char pa w;char*p1&pa;*p1 a;printf("%c\n", *p1);return 0; } 在这段代码当中&#xff0c;我们将‘w’字符的地址传到了p…

vue3 自己写一个月的日历

效果图 代码 <template><div class"monthPage"><div class"calendar" v-loading"loading"><!-- 星期 --><div class"weekBox"><div v-for"(item, index) in dayArr" :key"index&q…

2.修改列名与列的数据类型

修改字段名与字段数据类型 1.修改字段名 有时&#xff0c;在我们建好一张表后会突然发现&#xff0c;哎呀&#xff01;字段名貌似写错了&#xff01;怎么办&#xff1f;要删了表再重新建一个新表吗&#xff1f;还是要删了这个字段再新建一个新的字段&#xff1f; 都不用&…

AIGC专题报告:生成式人工智能人人可用的新时代

今天分享的AIGC系列深度研究报告&#xff1a;《AIGC专题报告&#xff1a;生成式人工智能人人可用的新时代》。 &#xff08;报告出品方&#xff1a;埃森哲&#xff09; 报告共计&#xff1a;21页 人工智能发展迎来新拐点 ChatGPT 正在唤醒全球对人工智能&#xff08;AI&…

蛇形矩阵

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如&#xff0c;当输入5时&#xff0c;应该输出的三角形为&#xff1a; 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 输入描述&#xff1a;输入正整数N&#xff08;N不大于100&#xff09; 输出描述&#xff1a;输出一个N…

MySQL七 | 存储引擎

目录 存储引擎 存储引擎特点 存储引擎选择 Innodb与MyISAM区别 存储引擎 默认存储引擎:InnoDB show engines;#展示当前数据库支持的存储引擎 存储引擎特点 特点InnoDBMyISAMMemory存储限制64TB有有事务安全支持--锁机制行锁表锁表锁Btree锁支持支持 支持 Hash索引--支…

在pom.xml中添加maven依赖,但是类里面import导入的时候报错

问题&#xff1a; Error:(27, 8) java: 类TestKuDo是公共的, 应在名为 TestKuDo.java 的文件中声明 Error:(7, 23) java: 程序包org.apache.kudu不存在 Error:(8, 23) java: 程序包org.apache.kudu不存在 Error:(9, 23) java: 程序包org.apache.kudu不存在 Error:(10, 30) jav…

【场景测试用例】上传文件

测试思路&#xff1a; 功能 上传符合需求给的文件格式&#xff0c;大小&#xff0c;宽高等可以正常上传 不同的文件格式最大/最小/中间的文件大小如支持批量上传可以正常上传 边界值如支持删除可以正常删除指定文件&#xff0c;其他文件不受影响如支持预览&#xff0c;可以正常…

【Java探索之旅】我与Java的初相识(一):Java的特性与优点及其发展史

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java入门到精通 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 一. Java语言概述与优势1.1 Java的概述1.2 Java语言的优势 二. Java领域与发展史2.1 Java的使用领域2.…

面试多线程八股文十问十答第二期

面试多线程八股文十问十答第二期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1.进程和线程的区别 概念不同&#xff1a;进程是操作系统中的一个独立执行单元&a…

LeetCode56. Merge Intervals

文章目录 一、题目二、题解 一、题目 Given an array of intervals where intervals[i] [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input. Example 1: Input: interva…

目标检测mAP计算以及coco评价标准

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 讲一下目标检测中的一些常见的指标 在我们使用目标检测网络训练时 最后在验证集上会得到一个coco的评价列表 就像我们图中给的这一系列参数列表一样 我们再进一步引入两个概念 第一个叫做precisi…