PostgreSQL 单库备份


1 前置检查

bash 复制代码
# 确认连得上
psql -U <用户名> -h <host> -p 5432 -d <库名> -c "SELECT version();"

能出结果再继续。


2 场景 1:纯 SQL 文本

备份

bash 复制代码
pg_dump -U postgres -h 127.0.0.1 -p 5432 mydb \
  > mydb_$(date +%F).sql

文件大小 ≈ 裸数据,压缩可再省 70%

bash 复制代码
gzip mydb_2025-09-19.sql   # 得到 .gz

恢复

bash 复制代码
# 1. 建空库(如已存在可跳过)
createdb -U postgres newdb

# 2. 导入
psql -U postgres -d newdb -f mydb_2025-09-19.sql

3 场景 2:自定义格式(推荐)

  • 体积更小
  • 支持只恢复某张表只恢复数据

备份

bash 复制代码
pg_dump -U postgres -h 127.0.0.1 -F c -b -v \
  -f mydb.dump mydb

参数说明
-F c 自定义压缩格式
-b 含大对象
-v 显示进度

恢复整库

bash 复制代码
pg_restore -U postgres -d newdb -v mydb.dump

只恢复两张表

bash 复制代码
pg_restore -U postgres -d newdb -t users -t orders mydb.dump
相关推荐
七度黑光8 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化
华科易迅9 小时前
Spring 事务(注解)
java·数据库·spring
Java面试题总结9 小时前
MySQL篇 索引失效
数据库·mysql
last demo10 小时前
mysql
运维·数据库·mysql·oracle
kevin_cat11 小时前
oracle 扩展表空间
数据库·oracle
花间相见12 小时前
【MySQL面试题】—— MySQL面试高频问题汇总:从原理到实战,覆盖90%考点
数据库·mysql·面试
高梦轩12 小时前
MySQL 数据库备份与恢复
数据库·oracle
一直都在57213 小时前
Redis(二)
数据库·redis·缓存
TDengine (老段)13 小时前
TDengine IDMP 工业数据建模 —— 属性
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
爱丽_14 小时前
Redis 分布式锁:SET NX、过期时间、续租、可重入、Redlock 与坑
数据库·redis·分布式