Ubuntu 18.04 に PostgreSQL 11 をインストールする

apt では PostgreSQL 10 がインストールされる

現時点(2019/05/18)では apt でインストールすると以下のように 10 が入ります。

$ sudo apt-get install postgresql
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libpq5 postgresql-10 postgresql-client-10 postgresql-client-common postgresql-common sysstat
提案パッケージ:
  postgresql-doc locales-all postgresql-doc-10 libjson-perl isag
以下のパッケージが新たにインストールされます:
  libpq5 postgresql postgresql-10 postgresql-client-10 postgresql-client-common postgresql-common sysstat
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
5,288 kB のアーカイブを取得する必要があります。
この操作後に追加で 20.8 MB のディスク容量が消費されます。
続行しますか? [Y/n]

11 を入れたいので、入れていきます。

apt のリポジトリを追加してインストールする

以下の公式ページに従い、apt のリポジトリを追加(登録)します。To use the apt repository, follow these steps: の箇所です。

1. 使っている Ubuntu のバージョンを選択し、リポジトリに登録する記述を自動生成する

下記の画像のように、インストールの対象となる Ubuntu のバージョンを選びます。


f:id:gregminster:20190518194211p:plain

すると、Create the file /etc/apt/sources.list.d/pgdg.list and add a line for the repository の下に、登録するリポジトリの記述が次のように生成されているはずです。

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main


f:id:gregminster:20190518195047p:plain

2. リポジトリを追加する

説明に書かれているように、/etc/apt/sources.list.d/pgdg.list を作成し*1、その中に先ほどの deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main を記載して保存します。

ワンライナーならば以下のようになるでしょうか。

$ sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" > /etc/apt/sources.list.d/pgdg.list

3. リポジトリに署名する

Import the repository signing key とある内容に沿って、追加したリポジトリに署名をします。具体的には以下のコマンドを実行します。

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

f:id:gregminster:20190518195207p:plain

4. apt-get update してパッケージ情報を更新します

apt-get update しましょう。

$ sudo apt-get update
(省略)
取得:13 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease [41.3 kB]
取得:14 http://apt.postgresql.org/pub/repos/apt bionic-pgdg/main amd64 Packages [146 kB]
取得:15 http://apt.postgresql.org/pub/repos/apt bionic-pgdg/main i386 Packages [146 kB]
3,578 kB を 2秒 で取得しました (1,733 kB/s)
パッケージリストを読み込んでいます... 完了

4. インストールする

apt-get install postgresql をすると、11 がインストールされます。

$ sudo apt-get install postgresql
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libpq5 pgdg-keyring postgresql-11 postgresql-client-11 postgresql-client-common postgresql-common sysstat
提案パッケージ:
  postgresql-doc postgresql-doc-11 libjson-perl isag
以下のパッケージが新たにインストールされます:
  libpq5 pgdg-keyring postgresql postgresql-11 postgresql-client-11 postgresql-client-common postgresql-common
  sysstat
アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 0 個。
16.3 MB のアーカイブを取得する必要があります。
この操作後に追加で 54.2 MB のディスク容量が消費されます。
続行しますか? [Y/n]

補足

インストール直後に動作確認するためには sudo pg_ctlcluster 11 main start してからユーザを postgres に変更し、psql コマンドを実行するとよいです。PostgreSQL のここらへんの設定は複雑な部分もあるので、別途調べるとよいと思います。たとえば こちらのページ などはいかがでしょう。

$ sudo pg_ctlcluster 11 main start
$ sudo su postgres
$ psql
psql (11.3 (Ubuntu 11.3-1.pgdg18.04+1))
"help" でヘルプを表示します。

postgres=#

*1:pgdg というファイル名でなくてもいいのですが、公式に従います

Powered by はてなブログ