在 PostgreSQL 中,“避免数据丢失”通常从可靠性、备份、容灾、运维规范几个层面来做。下面按优先级和实用性给你一个较完整的技术清单。
WAL 是 PG 防止崩溃丢数据的核心。
wal_level = replica
fsync = on
synchronous_commit = on
fsync=on:确保 WAL 写入磁盘synchronous_commit=on:事务提交不丢(默认)synchronous_commit = remote_apply
(配合同步备库)
synchronous_standby_names = 'standby1'
⚠️ 同步复制会影响写入性能
使用 pg_basebackup 或工具(pgBackRest / Barman)
pg_basebackup -D /backup/pgdata -Ft -z -P
建议:
archive_mode = on
archive_command = 'cp %p /archive/%f'
可用于:
pg_dump dbname > db.sql
pg_dumpall > all.sql
适合:
⚠️ 不能替代物理备份
工具:
避免“主库挂了没人切”
避免:
autocommit + 误操作
建议:
DROP / TRUNCATE 权限DROP DATABASEUPDATE user SET deleted = true WHERE id = 1;
没有演练的备份 = 没有备份
关键业务推荐架构:
如果你愿意,我可以:
你现在的 PG 是单机还是已有主从?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。