背景
現状では、単に $ 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