ubuntu中Postgresql备份恢复及高版本恢复数据到低版本库中

一、备份

基本使用

可以使用 pg_dumppg_dumpall 命令来进行备份操作。

  • pg_dump:备份指定数据库
  • pg_dumpall:备份所有数据库

我这里只用到了 pg_dump 命令,pg_dumpall 也是大同小异,大家自己摸索一下

我们直接看一下备份的命令吧,

pg_dump -h localhost -U postgres -d 数据库名称 -F c -b -v -f 备份文件路径 --encoding UTF8
常用参数
  • -U, --username:指定连接数据库时使用的用户名。
  • -h, --host:指定连接数据库时使用的主机名。
  • -p, --port:指定连接数据库时使用的端口号。
  • -d, --dbname:指定要备份的数据库名称。
  • -f, --file:指定备份文件的路径和名称。
  • -F, --format:指定备份文件的格式,可以是"p"(普通文本格式),"c"(自定义格式),"d"(目录格式)或"t"(tar格式)。
  • -b, --blobs:在备份过程中也包括大型对象(BLOBs)。
  • -v, --verbose:该参数用于启用详细输出模式。当使用-v参数时,pg_dump会在备份过程中输出更多的信息,包括备份的对象和进度等。

还有其他的参数可以通过 pg_dump --version 命令查看。

二、还原

我们可以使用命令方式还原也可以借助工具还原。

注意:备份及还原的 Postgresql 版本最好保持一致,不然还原时可能会报错的,如果你的版本不一致,可以参考下面的高版本备份数据在低版本中恢复方案

使用 pg_restore 命令还原

使用 pg_restore 命令还原我们之前备份的文件。

pg_restore -h localhost -U postgres -d backup -v  备份文件路径
使用pgAdmin等工具还原

第一步

第二步

三、问题

高版本备份数据在低版本中恢复方案

使用高版本备份数据库后,在低版本中总是导入不进去。可以参考下面链接的解决方案,使用pg_dump 命令备份时,不要使用自定义格式,直接保存为sql文件,然后在 psql 中运行即可。

参考链接:
pgsql数据库自动备份、删除及恢复
postgres 高版本pg备份在低版本pg中恢复

posted @ 2024-02-05 17:28  香酥豆腐皮  阅读(221)  评论(0编辑  收藏  举报
正在加载今日诗词....