基本备份和时间点恢复:PostgreSQL
#database #datascience #apacheage #postgressql

逻辑和物理备份是PostgreSQL中可用的两种形式的在线数据库备份。物理备份需要拍摄构成数据库的物理文件的图片,而逻辑备份则需要通过导出数据库的逻辑结构和数据来产生备份。

逻辑备份可能很耗时,尤其是对于大型数据库,尽管有一种灵活的方法来提取和编辑数据。另一方面,可以通过物理备份来备份巨大的数据库并更有效地恢复。

基本备份:基本备份是在PostgreSQL中创建物理备份的技术术语。下面的步骤构成了进行基本备份的正常过程:

Image description

使用pg_backup_start命令(或在以前的版本中,pg_start_backup)。
利用首选归档命令,取一个数据库群集的快照。
使用PG_BACKUP_STOP命令(或在早期版本中,PG_STOP_BACKUP)。
PG_BACKUP_START命令切换到当前的写入日志(WAL)段文件,并创建一个检查点以准备备份过程的数据库。此外,它生成了一个backup_label文件,其中包含有关基本备份的关键详细信息,例如检查点的位置。

通过切换WAL片段文件,编写备份结束XLOG记录,重置全页写模式并生成备份历史记录文件,PG_BACKUP_STOP命令结束了备份操作。 Backup_label文件和额外数据的内容包含在备份历史文件中。

借助基本备份和连续存档产生的存档日志,您可以使用称为点恢复(PITR)的PostgreSQL功能将数据库群集还原到任何时间点。此功能可用于修复严重错误或将数据库返回到特定状态。

PostgreSQL通过从backup_label文件读取检查点位置来确定恢复过程的起点。它从Archive_command选项中提供的档案路径中读取存档日志,并从这些日志中重新重播WAL数据。

一旦恢复操作完成后,将在PG_XLOG(或版本10或更高版本中的PG_WAL)中创建一个时间表历史文件。 WAL段开关,时间表更改的原因以及已还原数据库群集的时间表的LSN(日志序列号)都记录在此文件中。时间轴历史文件提供了恢复群集的历史记录,对于以后的PITR过程至关重要。