PostgreSQL12から12.1へのアップグレード（メモ）

# はじめに

PostgreSQL12.1が2019年11月14日にリリースされました。
詳細は以下のページに詳細が説明されています。

- [PostgreSQL 12.1 に関する技術情報](https://www.sraoss.co.jp/tech-blog/pgsql/12-1/)
- [Release Notes](https://www.postgresql.org/docs/release/12.1/)

マイナーバージョンのアップで基本はバグフィックスのようです。

せっかくなので手元の開発環境を12から12.1にアップグレードしておきます。
マイナーバージョンのアップグレードなのでデータベースは互換があり、モジュールの入れ替えのみで完了します。

以下で構築した環境を用いています。

- [CentOS 7.5にPostgreSQL12をインストールする](https://qiita.com/mkyz08/items/a768cceccdc6083f971e)

以下は作業時のメモですが、数分で終わっています。


# PostgreSQL12から12.1へのアップグレード

アップグレード前にPostgreSQLを停止しておきます。

```
$ pg_ctl stop
```

モジュールをバージョンアップします。
12.1へアップグレードと書きましたが、この方法だとそのときの最新バージョンへのアップグレードになります。

```
# yum update postgresql12-server

～省略～
Running transaction
  Updating   : postgresql12-libs-12.1-2PGDG.rhel7.x86_64                                                       1/10 
  Updating   : postgresql12-12.1-2PGDG.rhel7.x86_64                                                            2/10 
  Updating   : postgresql12-server-12.1-2PGDG.rhel7.x86_64                                                     3/10 
  Updating   : postgresql12-devel-12.1-2PGDG.rhel7.x86_64                                                      4/10 
  Updating   : postgresql12-contrib-12.1-2PGDG.rhel7.x86_64                                                    5/10 
  Cleanup    : postgresql12-contrib-12.0-1PGDG.rhel7.x86_64                                                    6/10 
  Cleanup    : postgresql12-devel-12.0-1PGDG.rhel7.x86_64                                                      7/10 
  Cleanup    : postgresql12-server-12.0-1PGDG.rhel7.x86_64                                                     8/10 
  Cleanup    : postgresql12-12.0-1PGDG.rhel7.x86_64                                                            9/10 
  Cleanup    : postgresql12-libs-12.0-1PGDG.rhel7.x86_64                                                      10/10 
  Verifying  : postgresql12-libs-12.1-2PGDG.rhel7.x86_64                                                       1/10 
  Verifying  : postgresql12-12.1-2PGDG.rhel7.x86_64                                                            2/10 
  Verifying  : postgresql12-server-12.1-2PGDG.rhel7.x86_64                                                     3/10 
  Verifying  : postgresql12-devel-12.1-2PGDG.rhel7.x86_64                                                      4/10 
  Verifying  : postgresql12-contrib-12.1-2PGDG.rhel7.x86_64                                                    5/10 
  Verifying  : postgresql12-12.0-1PGDG.rhel7.x86_64                                                            6/10 
  Verifying  : postgresql12-libs-12.0-1PGDG.rhel7.x86_64                                                       7/10 
  Verifying  : postgresql12-server-12.0-1PGDG.rhel7.x86_64                                                     8/10 
  Verifying  : postgresql12-contrib-12.0-1PGDG.rhel7.x86_64                                                    9/10 
  Verifying  : postgresql12-devel-12.0-1PGDG.rhel7.x86_64                                                     10/10 

Updated:
  postgresql12-server.x86_64 0:12.1-2PGDG.rhel7                                                                     

Dependency Updated:
  postgresql12.x86_64 0:12.1-2PGDG.rhel7                  postgresql12-contrib.x86_64 0:12.1-2PGDG.rhel7           
  postgresql12-devel.x86_64 0:12.1-2PGDG.rhel7            postgresql12-libs.x86_64 0:12.1-2PGDG.rhel7              

Complete!

```

PostgreSQLを開始する。

```
$ pg_ctl start
waiting for server to start....2019-12-21 08:48:11 CET [3159]: [1-1] user=, db=LOG:  starting PostgreSQL 12.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
2019-12-21 08:48:11 CET [3159]: [2-1] user=, db=LOG:  listening on IPv4 address "0.0.0.0", port 5432
2019-12-21 08:48:11 CET [3159]: [3-1] user=, db=LOG:  listening on IPv6 address "::", port 5432
2019-12-21 08:48:11 CET [3159]: [4-1] user=, db=LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-12-21 08:48:11 CET [3159]: [5-1] user=, db=LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2019-12-21 08:48:11 CET [3159]: [6-1] user=, db=LOG:  redirecting log output to logging collector process
2019-12-21 08:48:11 CET [3159]: [7-1] user=, db=HINT:  Future log output will appear in directory "log".
 done
server started
```

バージョンを確認します。PostgreSQL 12.1となっていることが確認できました。

```
$ psql
postgres=# SELECT version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 12.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)
```

（ほとんど何もしていないけど）おわり