postgresql14管理(六)-备份恢复

news/2024/7/9 20:28:42 标签: postgresql, 备份恢复

定义

备份(backup):通过物理复制或逻辑导出的方式,将数据库的文件或结构和数据拷贝到其他位置进行存储;

还原(restore):是一种不完全的恢复。使用备份文件将数据库恢复到备份时的状态,该时间点之后的数据变更无法恢复;

恢复(recovery):先做还原,然后使用处于备份时间点至故障点产生的日志文件(WAL),将数据库恢复到最新状态;

分类

物理备份(Physical Backup):直接复制数据库相关的文件,一般情况,物理备份比逻辑备份快,占用的空间也更大。PostgreSQL支持在线、离线的物理备份,实际环境中应该以物理备份为主。

逻辑备份(Logical Backup):将数据库的结构和数据导出为sql文件,还原时通过文件中的SQL语句和命令重建数据库并恢复数据。逻辑备份通常需要更多的备份时间、还原时间。逻辑备份可以作为物理备份的补充,或者用于测试目的的数据导入导出。

方式

在线备份(Online Backup)、热备份(Hot Backup):PostgreSQL服务器处于启动状态时的备份;

离线备份(Offline Backup)、冷备份(Cold Backup): PostgreSQL 服务器处于关闭状态时的备份;

方法

全量备份(Full Backup):一次备份所有,备份时间长,恢复时间短;
增量备份(Incremental Backup):备份与上一次改变的文件,备份时间短,恢复时间长;
差异备份(Differential Backup):针对第一次完全备份后发生变化的所有文件进行备份,备份、恢复时间居中;

在这里插入图片描述
pg通过一个基准备份(Base Backup),加上不断备份的事务日志文件(WAL),做到增量备份的效果。

工具

在这里插入图片描述

pg_dump:逻辑备份工具,支持单个数据库(可以指定模式、表)的导出,可以选择导出的格式;

pg_dumpall:逻辑备份工具,用于导出整个数据库集群,包括公用的全局对象;

pg_basebackup:物理备份工具,为数据库集群创建一个基准备份。或者设置基于日志传输或流复制的从节点的初始化;

psql:交互式命令行工具,也可以用于导入逻辑备份产生的 SQL 文件;

pg_restore:逻辑还原工具,用于还原 pg_dump 导出的归档格式的备份文件;

COPY:专有sql语句,将表中的数据复制到文件,或者将文件中的数据复制到表中;

第三方开源:pgAdmin、Barman、pg_probackup、pgBackRest
第三方商业:BART

在这里插入图片描述


http://www.niftyadmin.cn/n/5125529.html

相关文章

C# 读取文件类型

获取示例 代码 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namespace ConsoleApp6filetype {internal class Program{static void Main(…

JVM相关面试题(每日一练)

1. 什么是垃圾回收机制? 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭&a…

strace跟着-编译和解决sip的bus srror问题记录

1 问题: 我编译了一个开源sip代码,可以确定的是,在nuc980dk61yc、nuc97251y上都可以跑的正常程序, 但在该开发板(NUC97261Y)上运行,报错bus error; 此文记录了 解决该问题的过程 我手里有一个97…

[moeCTF 2023] REV

逆向这东西,不太好说。 base64 这是个pyc文件(python编译后的字节码文件),这东西可以直接用各种方法反编译。也可以不弄,必竟这应该签到级别的。用notepad打开,可以看到base64的编译和两个码表。显然猜是…

【Reticulate Micro】申请1000万美元纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于美国的【Reticulate Micro】近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达克IPO上市,股票代码为(RMIC) ,Reticulate…

网络编程 10.26

#include <head.h> #define SER_PORT 69 int main(int argc, const char *argv[]) {int cfdsocket(AF_INET,SOCK_DGRAM,0);//创建套接字文件用于发送给服务器if(cfd-1)//判断套接字文件是否创建成功{perror("socket error");return -1;}printf("*********…

GDPU 数据结构 天码行空7

一、【实验目的】 1、掌握数组的抽象数据类型 2、掌握动态数组的设计方法 3、理解动、静态数组的对比 4、掌握特殊矩阵的压缩存储及运算 5、掌握递归的原理及一般递归的程序设计方法 二、【实验内容】 1、设矩阵A、矩阵B为n阶对称矩阵&#xff0c;矩阵元素为整数类型&#x…