【DB】Ubuntu 20.04にPostgreSQLの最新版をインストールした記録

DB

こんにちは、moegi (@moegi_web) です。
FBCのプラクティスでUbuntu20.04にPostgreSQLの最新バージョン15(2023年2月現在)をインストールした記録をまとめました。

事前準備

Ubuntuのバージョン確認

まずは、以下のコマンドで使っているUbuntuのバージョンを確認します。

$ cat /etc/lsb-release

Ubuntu 20.04.4 LTSと出力されました。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"

アーキテクチャ確認

以下のコマンドで使用しているLinuxマシンのアーキテクチャ(ハードウェア名)を確認します。

$ arch
x86_64

必要なソフトウェアをインストール

基本的には、公式ページの手順を参考にします。
リポジトリキーを追加するために必要なソフトウェアをインストールします。

$ sudo apt-get install curl ca-certificates gnupg

ソフトウェアをインストールしたところです。

$ sudo apt-get install curl ca-certificates gnupg
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20211016ubuntu0.20.04.1).
curl is already the newest version (7.68.0-1ubuntu2.14).
curl set to manually installed.
gnupg is already the newest version (2.2.19-3ubuntu2.2).
gnupg set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.

リポジトリキーの追加

次にリポジトリキーの追加をします。

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

リポジトリキーの追加をしたところです。

$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4812 100 4812 0 0 3642 0 0:00:01 0:00:01 --:--:-- 3639
OK

sources.listの編集

リポジトリキーの追加したらsources.listの編集(pgdg.listファイルの追加)を行います。
「$(lsb_release -cs)」には自動でOSのコードネームが入ります。

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

OSのコードネーム

こちらのコマンド$(lsb_release -cs)を利用すれば、わざわざ調べて入力する必要がないので便利です。

$ lsb_release -cs
focal

パッケージリストの更新

PostgreSQLインストールの前に、パッケージリストの更新を行います。
sources.listの編集(pgdg.listの追加)を反映させるため

$ sudo apt-get update
~$ sudo apt-get update
Hit:1 https://arkane-systems.github.io/wsl-transdebian/apt focal InRelease
Get:2 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease [10.5 kB]
Get:3 https://packages.microsoft.com/ubuntu/20.04/prod focal/main arm64 Packages [53.4 kB]
Get:4 http://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease [91.6 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:6 http://jp.archive.ubuntu.com/ubuntu focal InRelease
Get:7 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages [236 kB]
Get:8 https://packages.microsoft.com/ubuntu/20.04/prod focal/main armhf Packages [32.2 kB]
Get:9 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:10 http://apt.postgresql.org/pub/repos/apt focal-pgdg/main amd64 Packages [259 kB]
・
・
・
Get:35 http://jp.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [604 B]
Get:36 http://jp.archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [24.9 kB]
Get:37 http://jp.archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [880 B]
Fetched 12.1 MB in 9s (1380 kB/s)
Reading package lists... Done

PostgreSQLをインストール

以下のコマンドでPostgreSQLをインストールします。

$ sudo apt-get install postgresql

数十秒待ち、PostgreSQLをインストールできました!

$ sudo apt-get install postgresql
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
・
・
・
78 updates can be applied immediately.
43 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

This message is shown once a day. To disable it please create the
/var/lib/postgresql/.hushlogin file.

PostgreSQLのインストール確認

postgresユーザーになります。

$ sudo -u postgres -i

PostgreSQLのバージョン確認

postgresql-15がインストールされています。

postgres@DESKTOP-8MN9H7R:~$ apt list --installed | grep 'postgresql' | grep -v 'client'

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

postgresql-15/focal-pgdg,now 15.2-1.pgdg20.04+1 amd64 [installed,automatic]
postgresql-common/focal-pgdg,now 247.pgdg20.04+1 all [installed,automatic]
postgresql/focal-pgdg,now 15+247.pgdg20.04+1 all [installed]

外部接続許可

PostgreSQLのインストールが完了したら外部からの接続を許可する設定をします。
まずは、postgresql.confの編集です。

$ sudo vi /etc/postgresql/15/main/postgresql.conf

60行目付近のlisten_addressesの記載を変更します。

# - Connection Settings -

#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '*'

iを押して編集
escボタンで編集終了
:wqで上書き保存ができます。

続いて、pg_hba.confを編集します。

vi /etc/postgresql/15/main/pg_hba.conf

認証を受け付けるIPの範囲を追記します。

# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.1/24 md5

postgresユーザーになります。

$ sudo -u postgres -i

サービスをリスタート

$ service postgresql restart
* Restarting PostgreSQL 15 database server

接続用にユーザー作成

createuser –pwprompt –interactive pgadmin
新しいロールのためのパスワード: [パスワード入力]
もう一度入力してください:[上記とパスワード入力]
新しいロールをスーパーユーザにしますか? (y/n)

まとめ

以上Ubuntu20.04にPostgreSQLの最新バージョン15(2023年2月現在)をインストールした記録のまとめでした。
間違っている部分等ありましたら教えてください。
最後までお読みいただきありがとうございました。

コメント

タイトルとURLをコピーしました