[{"data":1,"prerenderedAt":158},["ShallowReactive",2],{"content:\u002Fposts\u002Fpostgresql-backup":3,"surround:\u002Fposts\u002Fpostgresql-backup":147},{"id":4,"title":5,"body":6,"categories":123,"date":125,"description":126,"draft":127,"extension":128,"image":129,"meta":130,"navigation":132,"path":133,"permalink":129,"pinned":127,"published":129,"readingTime":134,"recommend":129,"references":129,"seo":139,"sitemap":140,"stem":141,"tags":142,"type":145,"updated":125,"__hash__":146},"content\u002Fposts\u002Fposts\u002Fpostgresql-backup.md","PostgreSQL 备份与恢复",{"type":7,"value":8,"toc":108},"minimark",[9,19,34,39,43,54,57,63,66,72,76,79,85,88,94,97,102],[10,11,15],"alert",{"type":12,"icon":13,"title":14},"info","tabler:robot","AI 迁移提示",[16,17,18],"p",{},"本文由 AI 协助从旧站迁移，尚未完成逐篇人工审校；内容如有疏漏，将在复核后修订。",[20,21,22,25,30],"blockquote",{},[16,23,24],{},"相关文章：",[26,27],"link-card",{"link":28,"title":29},"\u002Fposts\u002Fpostgresql-install","PostgreSQL 安装指南",[26,31],{"link":32,"title":33},"\u002Fposts\u002Fpostgresql-config","PostgreSQL 远程访问与数据目录迁移",[35,36,38],"h2",{"id":37},"一备份与恢复整个数据库","一、备份与恢复整个数据库",[40,41,42],"h3",{"id":42},"备份",[44,45,51],"pre",{"className":46,"code":48,"language":49,"meta":50},[47],"language-bash","# 导出整个集群（所有数据库）\nsudo -u postgres pg_dumpall -h localhost -p 5432 -v > \u002Ftmp\u002Fpg_full_backup.sql\n","bash","",[52,53,48],"code",{"__ignoreMap":50},[40,55,56],{"id":56},"传输到目标服务器",[44,58,61],{"className":59,"code":60,"language":49,"meta":50},[47],"rsync -avz --progress \u002Ftmp\u002Fpg_full_backup.sql user@192.168.1.100:\u002Ftmp\u002F\n",[52,62,60],{"__ignoreMap":50},[40,64,65],{"id":65},"恢复",[44,67,70],{"className":68,"code":69,"language":49,"meta":50},[47],"# 实体 PostgreSQL\nsudo -u postgres psql -f \u002Ftmp\u002Fpg_full_backup.sql\n\n# Docker 容器 PostgreSQL\ndocker cp \u002Ftmp\u002Fpg_full_backup.sql postgres:\u002Ftmp\u002F\ndocker exec -i postgres psql -U postgres -f \u002Ftmp\u002Fpg_full_backup.sql\n",[52,71,69],{"__ignoreMap":50},[35,73,75],{"id":74},"二备份与恢复单个表","二、备份与恢复单个表",[40,77,42],{"id":78},"备份-1",[44,80,83],{"className":81,"code":82,"language":49,"meta":50},[47],"# 备份指定表\nsudo -u postgres pg_dump -h localhost -p 5432 \\\n  -d mydb -t users -v > \u002Ftmp\u002Fusers_backup.sql\n\n# 备份时包含 DROP\u002FCREATE 语句（便于重复恢复）\nsudo -u postgres pg_dump -h localhost -p 5432 \\\n  -d mydb -t users --clean --if-exists -v > \u002Ftmp\u002Fusers_backup_clean.sql\n",[52,84,82],{"__ignoreMap":50},[40,86,56],{"id":87},"传输到目标服务器-1",[44,89,92],{"className":90,"code":91,"language":49,"meta":50},[47],"rsync -avz --progress \u002Ftmp\u002Fusers_backup.sql user@192.168.1.100:\u002Ftmp\u002F\n",[52,93,91],{"__ignoreMap":50},[40,95,65],{"id":96},"恢复-1",[10,98,99],{"type":12},[16,100,101],{},"如果目标表已存在，需要先删除或重命名，否则恢复会报错。",[44,103,106],{"className":104,"code":105,"language":49,"meta":50},[47],"# 实体 PostgreSQL\nsudo -u postgres psql -d target_database -f \u002Ftmp\u002Fusers_backup.sql\n\n# Docker 容器 PostgreSQL\ndocker cp \u002Ftmp\u002Fusers_backup.sql postgres:\u002Ftmp\u002F\ndocker exec -i postgres psql -U postgres -d target_database -f \u002Ftmp\u002Fusers_backup.sql\n",[52,107,105],{"__ignoreMap":50},{"title":50,"searchDepth":109,"depth":109,"links":110},4,[111,118],{"id":37,"depth":112,"text":38,"children":113},2,[114,116,117],{"id":42,"depth":115,"text":42},3,{"id":56,"depth":115,"text":56},{"id":65,"depth":115,"text":65},{"id":74,"depth":112,"text":75,"children":119},[120,121,122],{"id":78,"depth":115,"text":42},{"id":87,"depth":115,"text":56},{"id":96,"depth":115,"text":65},[124],"技术","2026-01-27 00:00:00","介绍使用 pg_dumpall 和 pg_dump 对 PostgreSQL 进行全量备份与单表备份，以及在实体机和 Docker 容器中的恢复方法。",false,"md",null,{"slots":131},{},true,"\u002Fposts\u002Fpostgresql-backup",{"text":135,"minutes":136,"time":137,"words":138},"2 min read",1.25,75000,250,{"title":5,"description":126},{"loc":133},"posts\u002Fposts\u002Fpostgresql-backup",[143,144,42],"PostgreSQL","数据库","tech","4slDqMnRcm7-lBRpEd7zoD_W2KwTbNF8dGG99rp0__k",[148,153],{"title":149,"path":150,"stem":151,"date":152,"type":145,"children":-1},"PostgreSQL 外部表（FDW）跨库查询配置","\u002Fposts\u002Fpostgresql-fdw","posts\u002Fposts\u002Fpostgresql-fdw","2026-01-26 00:00:00",{"title":154,"path":155,"stem":156,"date":157,"type":145,"children":-1},"Docker 常用命令速查","\u002Fposts\u002Fdocker-commands","posts\u002Fposts\u002Fdocker-commands","2026-01-28",1788712224806]