1.1. 推荐的升级方法:

https://www.jishuwen.com/d/25lG

1.2. 主流的升级方法(很可能在其中遇到各种报错):

https://www.ikiwi.me/archives/567.html


以下是推荐的升级方法的原文,仅做备份保留,如果侵权则删除。

1.3. 升级

所以接下来的工作就很明确了,升级psql server version。

简单google了一下,找到一个 SO回答 。照着做,一路下来又是如丝般顺滑的体验(为什么要说“又”),整个过程十分钟之内就搞定了,这真的要给psql点个大大的赞!

具体过程如下:

1.3.1. 1. 安装新版psql

是的,你没看错,升级psql版本的方式,是先安装两个版本的psql,然后在执行升级,而不是直接在原有的基础上直接执行升级。

安装新版psql的方式,在 官网 上有说明。以下简述在Ubuntu 18.04上面的安装方式。

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

导入GPG密钥后,将存储库内容添加到您的Ubuntu 18.04 / 16.04系统:

echo "deb http://apt.postgresql.org/pub/repos/apt/ lsb_release -cs-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list sudo apt update sudo apt -y install postgresql-12 postgresql-client-12

1.3.2. 2. 检验新版psql安装结果

执行 sudo pg_lsclusters ,你应该可以看到你机器上有两个psql clusters在运行着。

$ sudo pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 9.1 main dddd online xxx /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log 11 main dddd online xxx /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log

1.3.3. 3. 杀掉所有psql进程

sudo service postgresql stop

1.3.4. 4. 删除在安装过程中,自动创建的新版psql cluster

sudo pg_dropcluster --stop 11 main</pre>

1.3.5. 5. 基于老版psql的数据,创建新版psql cluster

sudo pg_upgradecluster 9.1 main

这是最核心的一个步骤,在这个过程中,psql会自动的把你的psql数据文件从老版数据格式转换成新版数据格式。我在执行这一步的时候,还碰到了一个问题,具体后面再叙述。

1.3.6. 6. 启动新版psql

sudo service postgresql start 11

现在,你的psql就已经升级成功,并且运行起来了。

运行一段时间观察一下,如果没问题的话,你就可以选择把老版的psql数据文件删掉,以节省磁盘空间。

pg_dropcluster --stop 9.1 main

results matching ""

    No results matching ""

    results matching ""

      No results matching ""