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

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

时间:2024-02-05 17:34:56浏览次数:39  
标签:Postgresql dump -- 低版本 备份 pg 库中 数据库

一、备份

基本使用

可以使用 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中恢复

标签:Postgresql,dump,--,低版本,备份,pg,库中,数据库
From: https://www.cnblogs.com/Snowclod/p/18008379

相关文章

  • postgresql-时间函数
    PostgreSQL-version9.4.241.系统当前时间selectnow();--天、时分秒2022-09-2915:50:13.273269+08selectcurrent_date;--天2022-09-29selectcurrent_time;--时分秒15:50:13.507701+08selectcurrent_timestamp;--天、时分秒2022-09-2915:50:......
  • 【数据库】PostgreSQL中的DISTINCT ON和DISTINCT的区别
    深入理解PostgreSQL中的DISTINCTON和DISTINCT在数据库查询中,我们经常会遇到需要去除重复数据的情况。在PostgreSQL中,我们可以使用DISTINCT和DISTINCTON来实现这个目标。那么,它们之间有什么区别呢?本文将详细介绍这两种方法的用法、区别以及适用场景。DISTINCT的基本用法DISTIN......
  • SharePoint Online 在文档库中置顶文档
    前言最近使用SharePointOnline的时候,发现一个很好玩的功能,就是置顶。正文选中一个文档,点击Pintotop,就可以置顶了,如下图:置顶以后的效果,对于一些关键文档,这个功能还是非常实用的,如下图: 结束语在SharePointOnline中,产品是不断迭代更新的,总......
  • 【PostgreSQL架构】PostgreSQL的最佳群集高可用性方案
    转载:【PostgreSQL架构】PostgreSQL的最佳群集高可用性方案-腾讯云开发者社区-腾讯云(tencent.com)如果您的系统依赖PostgreSQL数据库并且您正在寻找HA的集群解决方案,我们希望提前告知您这是一项复杂的任务,但并非不可能实现。我们将讨论一些解决方案,您可以从中选择对您的容错要......
  • PostgreSQL
    PostgreSQLsql语言范畴DDL:DROP、CREATE、ALTER等语句。DML:INSERT、UPDATE、DELETE语句。DQL:SELECT语句oDCL:GRANT、REVOKE、COMMIT、ROLLBACK等语句。DDL数据库定义语言定义数据库对象定义:数据库表,数据库类型,字段类型删除数据库表,删除字段类型等DML数据库......
  • 【数据库】为什么PostgreSQL第一次查询结果很慢,第二次就变快了
    引言在PostgreSQL数据库中,我们经常会遇到这样的情况:第一次执行某个查询语句时,结果返回的速度非常慢,而当我们再次执行相同的查询语句时,速度却变得非常快。这种现象可能会让我们感到困惑,为什么同样的查询语句,第一次执行会这么慢,而第二次执行却这么快呢?PostgreSQL的查询缓存机制Po......
  • PostgreSQL从小白到高手教程 - 第44讲:pg流复制部署
       PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。 第44讲:流复制部署 PostgreSQL第44讲:2月3日(周六)19......
  • PostgreSQL10 内置分区表
    创建分区表的主要语法包含两部分:创建主表和创建分区。建主表语法如下:CREATETABLEtablename(...)[PARTITIONBY{RANGEILIST)({columnnameI(expression))创建主表时须指定分区方式,可选的分区方式为RANGE范围分区或LIST表分区,并指定宇段或表达式作为......
  • 【数据库】对大数据量数据集,PostgreSQL分组统计数量,使用 row_number() over
    在处理大数据量数据集时,我们经常需要进行分组统计。而在PostgreSQL中,我们可以使用row_number()函数结合over(partitionby)子句来实现这个功能。同时,通过设置row_num<=100的条件,我们可以限定每组最多数量为100。本文将详细介绍如何使用这种方法进行分组统计。一、row_......
  • 【数据库】对大数据量数据集,PostgreSQL分组统计数量,使用 row_number() over
    在处理大数据量数据集时,我们经常需要进行分组统计。而在PostgreSQL中,我们可以使用row_number()函数结合over(partitionby)子句来实现这个功能。同时,通过设置row_num<=100的条件,我们可以限定每组最多数量为100。本文将详细介绍如何使用这种方法进行分组统计。一、row......