postgresql-upgrade-10-11-ubuntu18.04

在ubuntu18.04上升级postgresql10 到postgresql11

安装postgresql 11

1
2
3
4
5
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main 11" | sudo tee /etc/apt/sources.list.d/pgsql.list

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

sudo apt update && sudo apt install postgresql-11

安装完成后,此时机器上是有两个postgresql的。可以使用

1
dpkg -l | grep postgresql

查看安装的版本

查看此时集群:

1
2
3
4
5
pg_lsclusters

-------------
10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
11 main 5433 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log

可以看到有两个版本的pg

升级10到11

停止11集群

1
sudo pg_dropcluster 11 main --stop

采用以下命令升级:

1
sudo pg_upgradecluster 10 main

再次使用pg_lsclusters命令查看,可以看到10已经停止 11启动:

1
2
3
Ver Cluster Port Status Owner    Data directory              Log file
10 main 5433 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log

释放pg10

1
sudo pg_dropcluster 10 main

完成以后移除旧包:

1
sudo apt purge postgresql-10 postgresql-client-10 postgresql-contrib-10

不知道为什么,我这里移除时竟然装上了postgresql12,只好又使用apt purge移除了12

你的支持我的动力