PostgreSQL 备份与恢复

234 字
1 分钟
PostgreSQL 备份与恢复

相关文章:PostgreSQL 安装指南 · PostgreSQL 远程访问与数据目录迁移

一、备份与恢复整个数据库#

备份#

Terminal window
# 导出整个集群(所有数据库)
sudo -u postgres pg_dumpall -h localhost -p 5432 -v > /tmp/pg_full_backup.sql

传输到目标服务器#

Terminal window
rsync -avz --progress /tmp/pg_full_backup.sql user@192.168.1.100:/tmp/

恢复#

Terminal window
# 实体 PostgreSQL
sudo -u postgres psql -f /tmp/pg_full_backup.sql
# Docker 容器 PostgreSQL
docker cp /tmp/pg_full_backup.sql postgres:/tmp/
docker exec -i postgres psql -U postgres -f /tmp/pg_full_backup.sql

二、备份与恢复单个表#

备份#

Terminal window
# 备份指定表
sudo -u postgres pg_dump -h localhost -p 5432 \
-d mydb -t users -v > /tmp/users_backup.sql
# 备份时包含 DROP/CREATE 语句(便于重复恢复)
sudo -u postgres pg_dump -h localhost -p 5432 \
-d mydb -t users --clean --if-exists -v > /tmp/users_backup_clean.sql

传输到目标服务器#

Terminal window
rsync -avz --progress /tmp/users_backup.sql user@192.168.1.100:/tmp/

恢复#

Note

如果目标表已存在,需要先删除或重命名,否则恢复会报错。

Terminal window
# 实体 PostgreSQL
sudo -u postgres psql -d target_database -f /tmp/users_backup.sql
# Docker 容器 PostgreSQL
docker cp /tmp/users_backup.sql postgres:/tmp/
docker exec -i postgres psql -U postgres -d target_database -f /tmp/users_backup.sql

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
PostgreSQL 备份与恢复
https://blog.olinl.com/posts/postgresql-backup/
作者
顾拾柒
发布于
2026-01-27
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
顾拾柒
The world is big, you have to go and see.
公告
欢迎来到我的博客!
分类
标签
站点统计
文章
81
分类
7
标签
158
总字数
83,114
运行时长
0
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.12.1
文章许可
CC BY-NC-SA 4.0

文章目录