1概述
PG9.x版本提供了较为完善的备份与恢复机制,包括有备份(物理备份和逻辑备份)与恢复机制。
下面就PG的实现,进行了初步分析。
2几个术语
2.1物理备份
物理备份是指将数据库文件从一个物理位置复制到另一个位置。需要进行备份的数据库文件包括数据文件和控制文件等。这种备份方式是以操作系统下的“文件”为单位进行的。
物理备份按照备份时数据库的状态可以分为如下两种类型:
1) 联机备份,也称为“热备份”,是在数据库服务期启动并可在进行其他操作时进行的备份;
2) 脱机备份,也称为“冷备份”,是在数据库服务器关闭时进行的备份。
2.2物理恢复
在数据库瘫痪或者状态不一致之后,将数据库恢复到某一个一致状态。
物理恢复通常包含了两个概念:数据库修复(Restore)和数据库恢复(Recovery)。
1 数据库修复(database restore)
利用备份的数据库文件来替换已经损坏的数据库文件,这项操作主要是利用操作系统的命令完成的(也是基于操作系统文件的角度进行的)。
2数据库恢复(database recovery)
利用日志恢复丢失的数据,这项操作是数据库服务器完成的。
2.3 逻辑备份
逻辑备份是指利用一些客户端工具(PG使用pg_dump等)通过执行SQL语句的方式将数据库中的数据读取出来,然后再写入一个二进制文件中。此种方式可以选择数据库中存在的许多不同“对象”,如表、视图、存储过程等,不是基于文件方式,所以称为“逻辑”。
2.4逻辑还原
逻辑还原是指利用一些客户端工具(PG使用pg_restore/psql等工具)从备份出来的二进制文件中读取数据,并通过执行SQL语句的方式将他们写入到数据库中。