【WSL2】UbuntuにPostgreSQLをインストールする【pgAdminも】

アイキャッチ画像
  • Ubuntu(WSL2)にPostgreSQLをインストールするには?
  • Ubuntu(WSL2)でpgAdminを使用してPostgreSQLを操作するには?

本記事ではこのような疑問を解決します。


今回はUbuntu × PostgreSQLという昨今の開発現場でよく使われる定番の組み合わせを扱います。

また、今回の内容を学べば、
Ubuntuにおけるサードパーティ製パッケージの一般的なインストール方法の習得も可能です。


ちなみに、本記事はWSL2を扱いますが、
Ubuntuに関する設定手順から先はWSL2の利用有無は関係ないので、
純粋に「Ubuntu上にPostgreSQLの環境を構築する方法」として読み進めていただければと思います。


なお、本記事で扱うパッケージ等のバージョンは以下の通りです。

・Ubuntu20.04
・PostgreSQL14.7
・pgadmin4

あわせて読みたい

エンジニアが副業を始めるには?エンジニアの副業にはどんな種類がある? 本記事ではこのような疑問を解決します。副業がブームになっている昨今、エンジニアほど副業をやりやすい職業はないでしょう。副業に関心があったり、副業をしてみたいと思っ[…]

アイキャッチ画像

WSL2でUbuntuをインストールする(systemd有効化も)

まずはWindowsにて、WSL2からUbuntuをインストールしましょう。

WSL2によるUbuntuのインストール方法はこちらの記事をご参照ください。

あわせて読みたい

WindowsでLinux環境(Ubuntu)を扱うには?WSL2の使い方とは?Ubuntu上にDockerをインストールしてするには? 本記事ではこのような疑問を解決します。今回はWSL2 + Ubuntu + Dockerでの環[…]

アイキャッチ画像

具体的には、目次にある以下のセクションの手順を踏んでいただければインストール完了です。

・WSL2でUbuntuをインストールする

・systemdを有効化する(プロセスのデーモン化)

PostgreSQLをインストールする

WSL2(Ubuntu)の用意とsystemdの有効化が完了したところで、
本題のPostgreSQLに入っていきます。

なお、ここからはaptコマンドを使っていくので、
aptについて少し詳しくなりたい方はこちらの記事も参考にしてみてください。

あわせて読みたい

そもそもaptとは?aptとapt-getの違いは?aptコマンドを使ってパッケージをインストールするには? 本記事ではこのような疑問を解決します。DebianやUbuntuを利用するときに99%使うことになるのがaptコマンドです[…]

アイキャッチ画像

今後、UbuntuやDebianをお使いになる際に役立つ記事となっています。

それでは以下の手順にしたがってPostgreSQLを動かすところまで完了させましょう!

リポジトリの登録

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

認証キー(公開鍵)の追加

$ sudo apt install ca-certificates curl gnupg
※必要パッケージを追加

$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pgdg.gpg

ちなみに・・・
ネット上では以下のようにapt-keyコマンドを使用したパターンで書かれている記事が多く存在します。

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

もちろんapt-keyコマンドでも大丈夫なのですが、
apt-keyコマンドは現在非推奨となっています。

そのため、本記事では公開鍵をファイルとして/etc/apt/trusted.gpg.d/ディレクトリに直接追加する方法で記載しています。

※「Could not resolve host: www.postgresql.org」のエラーが発生する場合

WSL2のDNS問題で上記エラーが発生する場合があります。

そんな時は以下の手順を踏んでください。

○WSL2のネットワーク設定

$ sudo vim /etc/wsl.conf

編集画面に切り替わった後、「i」キー(挿入モード)を押して以下のテキストを追記してください。

[network]generateResolvConf = false

追記後、「Esc」キー押してから、
「shift」キーを押しながら「z」キーを2回押して保存完了です。

○Ubuntu再起動

その後、PowerShellまたはコマンドプロンプトにて以下のコマンドを実行し、Ubuntuを終了させます。

> wsl --shutdown

○再度、リポジトリ公開鍵の追加

再度ターミナルを立ち上げ、以下のコマンドを実行しましょう。

$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pgdg.gpg

パッケージのインストール

$ sudo apt update
$ sudo apt install -y postgresql-14

初期ユーザのパスワード設定

$ sudo su - postgres
$ psql

※初期はデフォルトでユーザ名が「postgres」(パスワード未設定)のユーザが存在します。

ここでは初期ユーザ(postgres)に「postgres」というパスワードを設定します。

=# ALTER USER postgres WITH PASSWORD 'postgres';

その後、PostgreSQLおよびUbuntuルートユーザからログアウトします。

=# ¥q
$ exit

systemctlコマンドを使って、デーモンで動いているPostgreSQLを再起動します。

$ sudo systemctl restart postgresql

あわせて読みたい

フリーランスエンジニアが案件獲得方法とは?自ら営業せずに案件を獲得するには?実務経験1年未満でも大丈夫なの? 本記事ではこのような疑問を解決します。これからフリーランスエンジニアとして独立したい方は、兎にも角にも案件の獲得が急務です[…]

アイキャッチ画像

pgAdminをインストールする

PostgreSQLの準備が整ったら、
PostgreSQLをGUIで操作するツールであるpgAdminをインストールしていきます。

リポジトリの登録

$ sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list'

認証キーの追加

$ curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pgadmin.gpg

パッケージのインストール

$ sudo apt update
$ sudo apt install -y pgadmin4

メールアドレスとパスワードの登録

以下のコマンドを実行後、シェルに従ってメールアドレスとパスワードを登録します。

$ sudo /usr/pgadmin4/bin/setup-web.sh

pgadminへのログイン

ブラウザからhttp://localhost/pgadmin4へアクセスします。

ログイン画面が表示されたら、先ほど登録したメールアドレスとパスワードでログインしましょう。

データベースサーバの登録

Pgadminへのログインができたら、
インストールしたデータベースサーバ(PostgreSQL14)を登録します。

「Servers」を右クリックし、「Register」→「Server…」を選択しましょう。

登録画面が表示されたら、以下の値を入力して「Save」をクリックします。

○General
・Name: PostgreSQL14

○Connection
・Host name/address: localhost
・Username: postgres
・Password: postgres
・Save password? Yes

ここまでで、Ubuntu上でpgadminからPostgreSQLのデータベースサーバへのアクセスができるようになりました。

以後は任意のデータベーステーブルの作成やレコードの登録などを行っていただければと思います。

まとめ

以上がWSL2(Ubuntu)にPostgreSQL(pgAdmin含む)をインストールする方法になります。

aptにおけるパッケージ管理さえクリアすれば、
インストールと初期設定については特に難しいところはないかと思います。

Ubuntu × PostgreSQLというのは定番な組み合わせであるため、
今後同じ場面に出くわした際には、また本記事に戻ってきてください!