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
相关推荐
2301_803875614 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623924 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
2501_914245935 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
maqr_1106 小时前
MySQL数据库迁移到云端如何保障安全_数据加密与SSL连接配置
jvm·数据库·python
u0109147607 小时前
MySQL如何限制触发器递归调用的深度_防止触发器死循环方法
jvm·数据库·python
weixin_381288187 小时前
MySQL中如何使用HEX函数转换十六进制_MySQL进制转换函数
jvm·数据库·python
Deitymoon7 小时前
嵌入式数据库——SQLite基础
数据库·sqlite
YMatrix 官方技术社区7 小时前
美国·硅谷|YMatrix 即将亮相 Postgres Conference 2026,前瞻 AI 时代的数据基座
数据库·数据仓库·postgresql·时序数据库·ymatrix
bKYP953cL7 小时前
构建自己的AI编程助手:基于RAG的上下文感知实现方案
数据库·人工智能·ai编程
Bert.Cai7 小时前
MySQL DML简介
数据库·mysql