Ubuntu 20.04 で PostgreSQL 13 をインストールする

背景

現状では、単に $ sudo apt install postgresql をした場合に 12 が入るので、13 が入るようにしたいです。

結論

公式ドキュメント に従います。以下、ドキュメントのコマンド部分だけの抜粋です。

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get -y install postgresql

これにより、以下のように 13 が入ります。

$ sudo apt install -y postgresql-
パッケージリストを読み込んでいます... 完了
以前に未選択のパッケージ postgresql-13 を選択しています。
(データベースを読み込んでいます ... 現在 66055 個のファイルとディレクトリがインストールされています。)
.../postgresql-13_13.4-1.pgdg20.04+1_amd64.deb を展開する準備をしています ...
postgresql-13 (13.4-1.pgdg20.04+1) を展開しています...
以前に未選択のパッケージ postgresql を選択しています。
.../postgresql_13+226.pgdg20.04+1_all.deb を展開する準備をしています ...
postgresql (13+226.pgdg20.04+1) を展開しています...
postgresql-13 (13.4-1.pgdg20.04+1) を設定しています ...
Creating new PostgreSQL cluster 13/main ...
/usr/lib/postgresql/13/bin/initdb -D /var/lib/postgresql/13/main --auth-local peer --auth-host md5
データベースシステム内のファイルの所有者はユーザ"postgres"となります。
このユーザをサーバプロセスの所有者とする必要があります。

データベースクラスタはロケール"ja_JP.UTF-8"で初期化されます。
デフォルトのデータベース符号化方式はそれに対応してUTF8に設定されました。
initdb: ロケール"ja_JP.UTF-8"用の適切なテキスト検索設定が見つかりませんでした
デフォルトのテキスト検索構成は simple に設定されます。

データベージのチェックサムは無効です。

ディレクトリ/var/lib/postgresql/13/mainの権限を設定しています ... ok
サブディレクトリを作成しています ... ok
動的共有メモリの実装を選択しています ... posix
デフォルトのmax_connectionsを選択しています ... 100
デフォルトのshared_buffersを選択しています ... 128MB
デフォルトの時間帯を選択しています ... Asia/Tokyo
設定ファイルを作成しています ... ok
ブートストラップスクリプトを実行しています ... ok
ブートストラップ後の初期化を実行しています ... ok
データをディスクに同期しています ... ok

成功しました。以下のようにしてデータベースサーバを起動することができます:

    pg_ctlcluster 13 main start
Powered by はてなブログ