当前位置: 首页>>技术教程>>正文


在Ubuntu 16.10上将PostgreSQL从9.6升级到10.0

,

问题描述

我的数据库超过600 GB,而我的当前容量仅为1 TB,因此可能限制了我的选择。

我的配置文件在这里:

/etc/postgresql/9.6/main

我的数据库在这里:

/mnt/1TB/postgresql/9.6/main

编辑-本指南对我有用。我唯一需要做的就是手动下载libicu55并安装它,我必须为/tmp /文件夹授予postgres 1777权限。我也将数据文件夹保存到其他驱动器,因此必须使用以下命令:

pg_upgradecluster -m upgrade 10 main /mnt/1TB/postgresql/10

https://gist.github.com/delameko/bd3aa2a54a15c50c723f0eef8f583a44

最佳答案

Step-by-Step指南

  1. 进行备份。确保您的数据库没有被更新。

    pg_dumpall > outputfile
    
  2. 安装Postgres10。请按照此页面上的说明进行操作:https://www.postgresql.org/download/linux/ubuntu/然后运行sudo apt-get install postgresql-10。 side-by-side将安装较新的版本。

  3. 运行pg_lsclusters

    Ver Cluster Port Status Owner    Data directory               Log file
    9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
    10  main    5433 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    

    已经有一个群集main用于10(因为它是在软件包安装时默认创建的)。这样做是为了使全新安装可以立即使用,而无需首先创建集群,但是当您同时还存在10/main时尝试升级9.6/main时,当然会发生冲突。建议的过程是使用pg_dropcluster删除10个群集,然后使用pg_upgradecluster升级。

  4. 停止10个集群并将其删除:

    sudo pg_dropcluster 10 main --stop
    
  5. 停止所有进程和服务写入数据库。停止数据库:

    sudo systemctl stop postgresql 
    
  6. 升级9.6集群:

    sudo pg_upgradecluster -m upgrade 9.6 main
    
  7. 再次启动PostgreSQL

    sudo systemctl start postgresql
    
  8. 运行pg_lsclusters。您的9.6群集现在应该是”down”,而10群集应该在5432处于联机状态:

    Ver Cluster Port Status Owner    Data directory               Log file
    9.6 main    5433 down   postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
    10  main    5432 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    
  9. 首先,检查一切正常。之后,删除9.6集群:

     sudo pg_dropcluster 9.6 main --stop
    

关于pg_upgradecluster的一些说明

该指南适用于从9.5升级到10.1的情况。从较旧版本升级时,请考虑在第6步中省略-m upgrade

sudo pg_upgradecluster 9.6 main

如果您有非常大的群集,则可以将pg_upgradecluster--link选项一起使用,以便升级为in-place。但是,这很危险-如果发生故障,您可能会丢失群集。只是不必使用此选项,因为-m upgrade已经足够快了。

基于:

Update

本指南适用于从9.6升级到11以及从10升级到11的情况。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8841.html,未经允许,请勿转载。