AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 313450
Accepted
sandre89
sandre89
Asked: 2022-06-17 08:32:47 +0800 CST2022-06-17 08:32:47 +0800 CST 2022-06-17 08:32:47 +0800 CST

如何在 Ubuntu 20.04 LTS 中将 Postgres 次要版本从 14.x 升级到 14.4

  • 772

在 2022 年 6 月 16 日,Postgres 发布了一个周期外版本 14.4concurrently ,它修复了使用14.0 到 14.3 版本中的选项创建的索引可能出现的损坏。

不用说,这是一个非常重要的升级,应该尽快完成。

由于我是一名 Web 开发人员,也碰巧为我的副项目运行他自己的服务器,因此我希望能验证从 14.2 升级到 14.4 的步骤。

  1. 由于这是一个小升级,因此无需转储和重新导入;简单地“替换二进制文件”就足够了。这是否意味着我可以预期在停止服务器后的停机时间少于 5 分钟?(正好是安装新版本的时间?)

  2. 我的服务器已经http://apt.postgresql.org/pub/repos/apt/添加了 apt 存储库。在 a 之后sudo apt update,如何确保 asudo apt install postgresql在运行之前安装 14.4 版本?(我不希望它尝试升级到 14.3 或其他陈旧版本)

  3. 使用 停止服务器后,对于此升级是否足够sudo systemctl stop postgresql简单?sudo apt install postgresql

postgresql ubuntu
  • 2 2 个回答
  • 423 Views

2 个回答

  • Voted
  1. Best Answer
    Daniel Vérité
    2022-06-18T01:47:37+08:002022-06-18T01:47:37+08:00

    问:这是否意味着我可以预计在停止服务器后少于 5 分钟的停机时间?(正好是安装新版本的时间?)

    是的,但您不需要停止服务器。升级过程会做到这一点。

    问:在 sudo apt update 之后,如何确保 sudo apt install postgresql 在运行之前安装 14.4 版本?

    apt update获取最新版本后,可以看到要安装的候选版本apt policy。例如在升级前的 Ubuntu 20.04 上:

    $ apt 策略 postgresql-14
    PostgreSQL-14:
      已安装:14.3-1.pgdg20.04+1
      候选人:14.4-1.pgdg20.04+1
      版本表:
         14.4-1.pgdg20.04+1 500
            500 http://apt.postgresql.org/pub/repos/apt focus-pgdg/main amd64 包
     *** 14.3-1.pgdg20.04+1 100
            100 /var/lib/dpkg/状态
    

    使用 sudo systemctl stop postgresql 停止服务器后,简单的 sudo apt install postgresql 是否足以进行此升级?

    服务器包是postgresql-14,不是postgresql,它是一个“元包”。随便做apt install postgresql一般不会升级postgresql-14。

    这是将 postgresql-14 升级到时的输出14.4:

    $ sudo apt install postgresql-14
    阅读包裹清单...完成
    构建依赖树       
    读取状态信息...完成
    将升级以下软件包:
      postgresql-14
    1 个已升级,0 个新安装,0 个要移除,10 个未升级。
    需要获得 15.8 MB 的档案。
    此操作后,将使用 12.3 kB 的额外磁盘空间。
    获取:1 http://apt.postgresql.org/pub/repos/apt focus-pgdg/main amd64 postgresql-14 amd64 14.4-1.pgdg20.04+1 [15.8 MB]
    在 5 秒内获取 15.8 MB (2946 kB/s)        
    预配置包...
    (正在读取数据库...当前安装的 349578 个文件和目录。)
    准备解压.../postgresql-14_14.4-1.pgdg20.04+1_amd64.deb ...
    在 (14.3-1.pgdg20.04+1) 上解压 postgresql-14 (14.4-1.pgdg20.04+1) ...
    设置 postgresql-14 (14.4-1.pgdg20.04+1) ...
    处理 postgresql-common (241.pgdg20.04+1) 的触发器 ...
    从已安装的 myspell/hunspell 软件包构建 PostgreSQL 字典...
      en_us
      FR
    删除过时的字典文件:
    

    您可以检查sudo tail /var/log/postgresql/postgresql-14-main.log服务器是否已停止并使用新版本重新启动。输出通常如下所示:

    2022-06-17 11:36:58.794 CEST [26346] 日志:后台工作人员“逻辑复制启动器”(PID 26353)以退出代码 1 退出
    2022-06-17 11:36:58.810 CEST [26348] 日志:关闭
    2022-06-17 11:36:59.364 CEST [26346] 日志:数据库系统已关闭
    2022-06-17 11:37:02.173 CEST [15840] 日志:在 x86_64-pc-linux-gnu 上启动 PostgreSQL 14.4 (Ubuntu 14.4-1.pgdg20.04+1),由 gcc (Ubuntu 9.4.0-1ubuntu1) 编译~20.04.1) 9.4.0,64 位
    2022-06-17 11:37:02.173 CEST [15840] 日志:侦听 IPv4 地址“0.0.0.0”,端口 5432
    2022-06-17 11:37:02.173 CEST [15840] 日志:侦听 IPv6 地址“::”,端口 5432
    2022-06-17 11:37:02.210 CEST [15840] 日志:监听 Unix 套接字“/var/run/postgresql/.s.PGSQL.5432”
    2022-06-17 11:37:02.304 CEST [15842] LOG:数据库系统于 2022-06-17 11:36:59 CEST 关闭
    2022-06-17 11:37:02.367 CEST [15840] 日志:数据库系统已准备好接受连接
    

    比较上述输出中的关闭和启动时间,在这种情况下,它只有几秒钟。

    • 1
  2. Laurenz Albe
    2022-06-17T12:24:18+08:002022-06-17T12:24:18+08:00

    您可以像这样查看已安装的 PostgreSQL 软件包

    dpkg -l 'postgres*'
    

    你可以升级一个包

    apt-get update
    apt-get upgrade packagename
    
    • 0

相关问题

  • 我可以在使用数据库后激活 PITR 吗?

  • 运行时间偏移延迟复制的最佳实践

  • 存储过程可以防止 SQL 注入吗?

  • PostgreSQL 中 UniProt 的生物序列

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve