LOGO
Yutuo

其实PostgreSQL的备份和恢复很简单,就简单的两个命令就行。

主要要注意的就是几个参数。比如是否包含DDL,是否清除原有数据,备份格式之类的。

例如:

Bash
# 备份数据
pg_dump -h localhost -p 5432 -U postgres -d testdb -c -C -F c -f /home/postgres/backup/testdb_bak.dmp
# 恢复数据
pg_restore  -h localhost -p 5432 -U postgres -d postgres -c -C -F c /home/postgres/backup/testdb_bak.dmp

备份和恢复命令的常用参数如下:

-d, --dbname=DBNAME:指定备份对象数据库名
-h, --host=主机名:指定备份或恢复对象数据库服务器
-p, --port=端口号:指定备份或恢复对象数据库服务器端口号
-U, --username=名字:数据库用户

-c, --clean:在重新创建之前,先删除数据库对象
-C, --create:包含DDL
-f, --file=FILENAME:备份或恢复的文件或目录路径
-F, --format=c|d|t|p:备份或恢复的文件格式。其中c是PostgreSQL自己的格式,数据内容会加密;d是目录形式,t是把目录打包,p是明文。

注意

要注意的是一般我们备份数据库时都会加上-c -C参数,也就是说加上删除数据库对象和重建功能。这样在恢复数据时,恢复对象数据库名我们不能选择我们真正要恢复的数据库,如果选择要恢复的数据库时就无法删除原数据库,自然也无法恢复数据库内容了。

我们可以选择postgres数据库,在恢复过程中,PostgreSQL会自动选择要要恢复的数据库,并恢复数据。

比如我的例子里,写的就是-d postgres

转载请注明:宇托的狗窝 » PostgreSQL的备份和恢复
上一篇 下一篇
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址