pg_backup_stop()
是一个系统函数,用于完成由 pg_backup_start()
发起的在线备份。
pg_backup_stop()
在 PostgreSQL 15 中添加,取代了 pg_stop_backup()
。
用法
pg_backup_stop ( [wait_for_archive
boolean
] ) →
record (lsn
pg_lsn
,labelfile
text
,spcmapfile
text
)
在执行 pg_backup_start()
启动在线备份后,应通过可靠的方法(例如 rsync)将数据目录复制到另一个位置。完成此过程后,调用 pg_backup_stop()
,它将返回一个 backup label 文件和一个 tablespace map 文件,这些文件必须放置在复制的目标位置。
请注意,通常更倾向于使用 Barman 或 pgBackRest 等备份工具来管理 PostgreSQL 实例的备份过程,并使用 repmgr 等工具来克隆 PostgreSQL 实例。
变更历史
- PostgreSQL 15
- 添加于 (commit 58c41712)
示例
示例用法:
postgres=# SELECT pg_backup_start('foo'); pg_backup_start ----------------- 0/4000028 (1 row) postgres=# SELECT * FROM pg_backup_stop(); NOTICE: WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup lsn | labelfile | spcmapfile -----------+---------------------------------------------------------------+------------ 0/7D37068 | START WAL LOCATION: 0/4000028 (file 000000010000000000000004)+| | CHECKPOINT LOCATION: 0/4000060 +| | BACKUP METHOD: streamed +| | BACKUP FROM: primary +| | START TIME: 2022-05-28 09:52:22 JST +| | LABEL: foo +| | START TIMELINE: 1 +| | | (1 row)
在此示例中,未返回 tablespace map 文件。
参考资料
- PostgreSQL 文档: 备份控制函数