返回顶部
首页 > 资讯 > 数据库 >PostgreSQL升级的方法有哪几种
  • 440
分享到

PostgreSQL升级的方法有哪几种

2024-04-02 19:04:59 440人浏览 安东尼
摘要

这篇文章主要介绍“postgresql升级的方法有哪几种”,在日常操作中,相信很多人在Postgresql升级的方法有哪几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Po

这篇文章主要介绍“postgresql升级的方法有哪几种”,在日常操作中,相信很多人在Postgresql升级的方法有哪几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL升级的方法有哪几种”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PostgreSQL的大版本发布周期通常为1年,而PostgreSQL 12即将发布,新版本除了修复了Bug,提供了新特性之外还对性能有所增强,对于使用旧版本但希望升级到新版本的数据库,PG升级的几种方法,分别是Logical Dump/restore、Binary In-Place Upgrades和Logical Replication。

Logical Dump/restore
逻辑导入导出,把数据库逆向为普通的SQL语句.使用的工具是pg_dump/pg_dumpall和pg_restore,其中pg_dump面向database级别,pg_dumpall面向instance级别.

优势
1.100%安全.对原实例没有任何影响,方便测试.
2.可从”read only”库中导出,对原库没有性能影响.
3.灵活.可指定schema或对象,可重新映射/删除属主或访问权限.

劣势
1.性能差.虽然可以并行的dump数据,但在数据量超过100G时,需要注意是否存在性能问题,而且在restore时会很耗主机资源.
2.一致性难以保证.在dump时需要源库离线,否则在dump时仍有数据变化,那么源库和目标库会处于不一致的状态.

Binary In-Place Upgrades
原地升级,使用的工具是pg_upgrade.在执行pg_upgrade前,需安装新版本的二进制文件并使用新版软件初始化实例.

优势
1.高性能.特别是使用 “pg_upgrade –link –jobs X”这种模式的情况下.

劣势
1.存在一定的风险,需要增加额外的测试工作.
2.所有的扩展和其他模块均需要在新实例上安装.
3.不存在半在线模式,必须完整离线.
4.如果不使用-link模式,则会丢失所有的备用服务器.
5.相对于首次启动,需要执行analyze.
6.占用双倍空间.

Logical Replication
逻辑复制,通过配置逻辑复制实现源库和目标库的数据同步.

优势
1.灵活.可允许目标库变更模式.
2.安全.对源库几乎没有影响.
3.无需停机.

劣势
1.配置复杂.
2.如为大库,则需要较长的配置时间和同步时间.
3.可能需要修改模式,至少需要修改 REPLICA IDENTITY.

对比汇总
下面是三种方法的对比图:

PostgreSQL升级的方法有哪几种

到此,关于“PostgreSQL升级的方法有哪几种”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL升级的方法有哪几种

本文链接: https://lsjlt.com/news/63625.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PostgreSQL升级的方法有哪几种
    这篇文章主要介绍“PostgreSQL升级的方法有哪几种”,在日常操作中,相信很多人在PostgreSQL升级的方法有哪几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Po...
    99+
    2024-04-02
  • nodejs升级的方法有哪些
    这篇文章主要介绍“nodejs升级的方法有哪些”,在日常操作中,相信很多人在nodejs升级的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nodejs升级的方法有...
    99+
    2024-04-02
  • python赋值的方法有哪几种
    在Python中,赋值可以通过以下几种方法实现:1. 单变量赋值:将一个值赋给一个变量。例如:pythonx = 102. 多变量赋...
    99+
    2023-10-18
    python
  • MySQL分页的方法有哪几种
    MySQL分页的方法有以下几种: 使用LIMIT和OFFSET:通过使用LIMIT和OFFSET子句来限制结果集的数量,并指定要...
    99+
    2024-04-09
    mysql
  • python 性能提升的几种方法
    关于python 性能提升的一些方案。 一、函数调用优化(空间跨度,避免访问内存) 程序的优化核心点在于尽量减少操作跨度,包括代码执行时间上的跨度以及内存中空间跨度。 1.大数据求和,使用sum a...
    99+
    2022-06-04
    几种方法 性能 python
  • java方法调用的方式有哪几种
    在Java中,方法调用的方式主要有以下几种: 直接调用:直接在代码中使用方法名和参数调用方法。 通过对象调用:通过对象名调用对象的...
    99+
    2024-03-11
    java
  • python传参数的方法有哪几种
    在Python中,有以下几种方法可以传递参数: 位置参数:按照参数在函数定义中的顺序传递值。这是最常见的方法,参数的值根据位置进行...
    99+
    2024-02-29
    python
  • java的json解析方法有哪几种
    在Java中,有多种方法可以解析JSON数据。以下是其中几种常用的方法: 使用原生的Java API:可以使用org.json包...
    99+
    2024-02-29
    java json
  • 升级Ubuntu 11.04 Natty的方法有哪些
    这篇文章主要讲解了“升级Ubuntu 11.04 Natty的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“升级Ubuntu 11.04 Natty的方法有哪些”吧!在线升级: G...
    99+
    2023-06-16
  • 免费升级win11的方法有哪些
    今天小编给大家分享一下免费升级win11的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。方法一:win11推送升级...
    99+
    2023-07-02
  • PostgreSQL 查看服务器版本的几种方法
    本文介绍一下查看 PostgreSQL 服务器版本的几种方法。 方法一:SELECT version() 如果已经连接到 PostgreSQL 服务器,可以执行以下查询语句获取服务器版本信息: SEL...
    99+
    2023-09-28
    postgresql 数据库
  • 从入门到精通,轻松升级pip工具的几种方法
    从入门到精通,轻松升级pip工具的几种方法 引言:Python是一种流行的编程语言,其生态系统庞大而活跃。其中,pip工具是Python包管理器,可以帮助我们轻松安装、升级和管理Python包。然而,随着Python生态系统的不...
    99+
    2024-01-16
    升级 入门 pip工具
  • CSS清除浮动的方法有哪几种
    本篇内容主要讲解“CSS清除浮动的方法有哪几种”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS清除浮动的方法有哪几种”吧! 清...
    99+
    2024-04-02
  • 数组array的5类方法有哪几种
    本篇内容介绍了“数组array的5类方法有哪几种”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、数组变形...
    99+
    2024-04-02
  • 防止sql注入的方法有哪几种
    防止SQL注入的方法有哪几种,需要具体代码示例 SQL注入是一种常见的网络安全威胁,它可以让攻击者通过构造恶意的输入来修改、删除或者泄露数据库中的数据。为了有效防止SQL注入攻击,开发...
    99+
    2024-02-22
    参数化查询 输入验证和过滤 使用orm框架 防止sql注入
  • golang指针赋值的方法有哪几种
    在Go语言中,有以下几种方法可以给指针赋值: 直接赋值:可以使用=运算符直接将一个变量的地址赋给指针变量。例如: var x i...
    99+
    2024-02-29
    golang
  • java实现异步的方法有哪几种
    在Java中实现异步的方法有多种方式,其中一些常见的包括: 使用线程池:通过创建一个线程池来处理异步任务,可以使用Executo...
    99+
    2024-04-02
  • redis删除数据的方法有哪几种
    DEL key [key …]: 删除指定的key及其关联的值。 FLUSHDB: 删除当前数据库中的所有key。 FL...
    99+
    2024-04-09
    redis
  • mysql提供的隔离级别有哪几种
    MySQL 提供了四种隔离级别,分别是:1. 读未提交(Read Uncommitted):当一个事务正在执行时,它所做的修改对于其...
    99+
    2023-09-15
    mysql
  • Cassandra中的一致性级别有哪几种
    在Cassandra中,一致性级别有以下几种: ONE:只要有一个副本写入成功,就认为操作成功。QUORUM:要求写入操作在超过一...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作