当前位置: 首页 > wzjs >正文

外网网址可以做英语阅读的网站个人电脑建网站

外网网址可以做英语阅读的网站,个人电脑建网站,怎样网站建设,做视频赚钱的国外网站PostgreSQL 的 pg_start_backup 函数 pg_start_backup 是 PostgreSQL 中用于执行物理备份的关键函数,它通过创建备份模式为数据库文件的一致性备份做准备。以下是该函数的全面解析: 一、函数基础 1. 函数语法 pg_start_backup(label text [, fast bo…

PostgreSQL 的 pg_start_backup 函数

pg_start_backup 是 PostgreSQL 中用于执行物理备份的关键函数,它通过创建备份模式为数据库文件的一致性备份做准备。以下是该函数的全面解析:

一、函数基础

1. 函数语法

pg_start_backup(label text [, fast boolean [, exclusive boolean ]])text

2. 参数说明

  • label:备份标识(必填),会记录在备份历史文件中
  • fast:是否快速启动备份(可选,默认false)
    • true:跳过强制检查点,加快备份开始速度
    • false:执行常规检查点,保证恢复时启动更快
  • exclusive:是否独占模式(可选,默认true)
    • PostgreSQL 9.6+ 推荐使用非独占模式(exclusive => false

3. 返回值

返回备份的起始WAL(预写式日志)位置,格式为LSN(日志序列号)

二、备份操作流程

1. 标准备份流程

-- 1. 开始备份(非独占模式)
SELECT pg_start_backup('nightly_backup_20230815', false, false);-- 2. 使用文件系统工具备份数据目录(示例命令)
-- $ rsync -avz /var/lib/postgresql/15/main/ /backup/pg_backup/-- 3. 结束备份
SELECT pg_stop_backup(false, true);

2. 独占模式 vs 非独占模式

特性独占模式非独占模式
并发性阻止其他备份允许多个并发备份
推荐版本PostgreSQL <9.6PostgreSQL ≥9.6
WAL保留需要手动管理自动跟踪备份状态
使用复杂度简单需要更多协调

三、关键实现细节

1. 内部执行过程

  1. 记录备份开始标记到backup_label文件
  2. 必要时执行检查点(除非fast=true
  3. 强制切换到新的WAL段文件
  4. 返回开始备份时的LSN位置

2. 生成的备份标签文件

备份期间会在数据目录创建backup_label文件,包含:

START WAL LOCATION: 0/2000028 (file 000000010000000000000002)
CHECKPOINT LOCATION: 0/2000060
BACKUP METHOD: pg_start_backup
BACKUP FROM: master
START TIME: 2023-08-15 14:05:23 UTC
LABEL: nightly_backup_20230815

四、实际应用示例

1. 自动化备份脚本

#!/bin/bash
# 备份脚本示例
BACKUP_LABEL="weekly_full_$(date +%Y%m%d)"
PG_DATA="/var/lib/postgresql/15/main"
BACKUP_DIR="/backup/pg_full_$(date +%Y%m%d)"# 开始备份
LSN=$(psql -U postgres -d postgres -t -c "SELECT pg_start_backup('$BACKUP_LABEL', false, false);")# 执行文件系统备份
rsync -a --exclude=pg_wal $PG_DATA/ $BACKUP_DIR/# 确保WAL文件也备份(从LSN开始)
pg_basebackup -D $BACKUP_DIR/wal_segments --wal-method=fetch --startpoint=$LSN# 结束备份
psql -U postgres -d postgres -c "SELECT pg_stop_backup(false, true);"

2. 备份验证方法

-- 检查备份历史(需要启用wal_log_hints)
SELECT * FROM pg_switch_wal();  -- 确保所有更改已写入
SELECT * FROM pg_backup_stop(); -- 如果备份异常终止-- 验证备份文件完整性
$ pg_checksums -D /backup/pg_full_20230815

五、注意事项

1. 关键配置要求

# postgresql.conf 必须配置
wal_level = replica             # 或更高
archive_mode = on               # 如果使用PITR
max_wal_senders = 3             # 足够用于备份

2. 常见问题处理

问题1:备份期间WAL文件被清理

-- 解决方案:设置足够的wal_keep_size
ALTER SYSTEM SET wal_keep_size = '1GB';
SELECT pg_reload_conf();

问题2:长时间运行备份导致WAL堆积

-- 监控WAL文件增长
SELECT name, size/1024/1024 AS size_mb 
FROM pg_ls_waldir() 
ORDER BY modification DESC;

问题3:备份冲突错误

-- 如果出现"a backup is already in progress"错误
SELECT pg_is_in_backup();  -- 检查是否有活动备份
SELECT * FROM pg_stop_backup();  -- 清理异常状态

六、高级用法

1. 使用pg_basebackup整合

# 结合pg_start_backup和pg_basebackup
pg_basebackup -D /backup/pg_data \--label="$(date +%Y%m%d_%H%M%S)" \--checkpoint=fast \--wal-method=stream

2. 多阶段备份控制

-- 阶段1:开始备份并获取LSN
DO $$
DECLAREbackup_lsn text;
BEGINbackup_lsn := pg_start_backup('multistage_backup', true, false);INSERT INTO backup_log VALUES (now(), backup_lsn, 'started');
END $$;-- 阶段2:执行增量文件备份
-- ...-- 阶段3:确保所有WAL归档
SELECT pg_switch_wal();

3. 云环境适配

-- AWS RDS等托管服务替代方案:
-- 使用其提供的快照功能,而非直接调用pg_start_backup
-- 例如AWS RDS创建数据库快照:
$ aws rds create-db-snapshot \--db-instance-identifier my-postgres \--db-snapshot-identifier my-snapshot

pg_start_backup 是 PostgreSQL 物理备份的核心组件,正确使用可以确保获得一致性的数据库备份。对于生产环境,建议:

  1. 定期测试备份恢复流程
  2. 监控备份持续时间
  3. 结合归档和PITR能力
  4. 考虑使用Barman等专业备份工具封装这些底层操作

文章转载自:

http://hI3CMaUh.sjsfw.cn
http://hrKKiPEW.sjsfw.cn
http://QWZJGX1o.sjsfw.cn
http://EaZwfkpS.sjsfw.cn
http://JWPSf6rK.sjsfw.cn
http://7szsqg3q.sjsfw.cn
http://56JEkqxI.sjsfw.cn
http://lmRrlpTn.sjsfw.cn
http://RHTWl1LR.sjsfw.cn
http://Ix8WThMP.sjsfw.cn
http://DssiHmqt.sjsfw.cn
http://iTQCJz4t.sjsfw.cn
http://YWW0McJf.sjsfw.cn
http://cDdwIPdO.sjsfw.cn
http://yOgTgNWF.sjsfw.cn
http://dBmLqZYJ.sjsfw.cn
http://tpfhuPNP.sjsfw.cn
http://C8k08TjZ.sjsfw.cn
http://GZLNFZ3N.sjsfw.cn
http://wyK0exha.sjsfw.cn
http://HhR4XIHm.sjsfw.cn
http://gElV8ZkT.sjsfw.cn
http://R6LOs57n.sjsfw.cn
http://dz1vNtjs.sjsfw.cn
http://9DU1EXIk.sjsfw.cn
http://IQg3nlvi.sjsfw.cn
http://oKHrltvF.sjsfw.cn
http://aEdwlA7X.sjsfw.cn
http://XFvdW0VZ.sjsfw.cn
http://ZyTz0y7n.sjsfw.cn
http://www.dtcms.com/wzjs/644600.html

相关文章:

  • 购物网站修改文案网站需要数据库
  • 佛山网站设计哪家便宜万户网络是干什么的
  • 网站建设材料汇报网店营销推广实训平台
  • 建筑资质查询官方网站广告设计公司广告设计
  • 网站建设内容录入论文做网站 怎么提升浏览量
  • 丽水网站开发公司电话山西龙采网站建设合同
  • 国外做测评的网站有哪些万户网络网站建设
  • 潍坊网站建设哪家好wordpress超简洁主题
  • 网站开发需求统计wordpress 忘记数据库密码
  • 做网站什么公司岳阳网站开发
  • 免费北京网站建设网站在线建设方案
  • 深圳商城网站制作公司如何在招聘网站上做薪酬统计
  • 深圳做网站的公司搜行者seo国外短网址生成
  • 给设计网站做图会字体侵权吗网站域名申请费用
  • 网站内页做几个词爱尚网站建设
  • 企业网站的设计思路江门做网站价格
  • 网站开发工作描述手机网站用什么系统
  • 唐山网站建设优化数据库做网站和做软件有什么不一样
  • 成都网站搜索排名优化哪家好网站改版开发公司
  • 手机网站建设收费荣耀手机商城官方网站售后
  • 菏泽网站建设推广价格好的平面设计网站有哪些
  • 网站如何转移到新的空间服务器上小程序注册公司
  • 做营销网站哪家好自己做网站打开很卡
  • 石家庄制作网站的公司哪家好信息流广告投放工作内容
  • 网站建设 软件有哪些内容服务号微网站怎么做的
  • 浙江网站建设推荐静态页面网站怎么做
  • 太原免费建站沈阳突发事件刚刚
  • 黄冈市建设局网站东莞飞天网站设计公司
  • 广州h5网站制作怎么查网站的备案号
  • 个人网站也要备案吗教育培训手机网站模板下载