WSL2+Ubuntu+PostgreSQL

Uncategorized
1.1k words

私がやった手順の備忘録です。ご参考になれば幸いです。

環境

  • Windows 11 Home 21H2 (22000.434)
  • Ubuntu 20.04.3 LTS
  • PostgreSQL 12.9 (Ubuntu 12.9-0ubuntu0.20.04.1)

手順

WSL2

まず WSL2 をインストールします。

管理者権限の PowerShell で次のコマンドを実行します。

1
wsl --install

WSL2をインストール

このコマンドを実行すると次のアクションが実行されます。

  1. WSL コンポーネントを有効化
  2. Linux カーネルをインストール
  3. WSL2 を既定値として設定
  4. Ubuntu をインストール

これだけで WSL2 のインストールが完了します。

前よりすごく簡単になりましたね。インストールが終わったら PC を再起動しておきましょう。

管理者権限で PowerShell を開くには?

Windows 11 の検索欄に「PowerShell」と入力し「管理者として実行する」を選択すると開けます。

管理者として実行する

Ubuntu

Windows 11 のアプリに Ubuntu が追加されているので、そこからインストールした Ubuntu を起動させることが出来ます。

 Ubuntuを起動

Ubuntu が起動するとまず初めに Ubuntu のユーザー名とパスワードの作成を求められます。

ユーザー名とパスワードの作成

パスワードの入力時は ***(アスタリスク) も表示されませんが、問題ないので気にせず入力しましょう。

Ubuntuアカウントの作成

これで Ubuntu のインストールも完了です。メチャクチャ簡単になりましたね。

バージョン確認

せっかくなので Ubuntu のバージョンを確認しておきます。

1
cat /etc/os-release

 Ubuntuのバージョン確認

PostgreSQL

初めに パッケージの更新とアップグレード を実行します。

1
sudo apt update && sudo apt upgrade

 パッケージの更新とアップグレード

パッケージの更新が終わったら次のコマンドを実行して、PostgreSQL をインストールします。

1
sudo apt install postgresql postgresql-contrib

PostgreSQLのインストール

PostgreSQL のインストールが出来たら、下記コマンドでバージョン確認ができるようになります。正しくインストールできたかの確認にもなりますので、実行してみましょう。

1
psql --version

バージョン確認

次のコマンドで PostgreSQL の状態を変えることができます。

PostgreSQL の状態を確認する

1
sudo service postgresql status

PostgreSQL を開始する

1
sudo service postgresql start

PostgreSQL を停止する

1
sudo service postgresql stop

PostgreSQL の状態を確認する

シェルを使って PostgreSQL に接続する

PostgreSQLサービスが開始されている状態で、次のコマンドを使うとシェルに接続することができます。

1
sudo -u postgres psql

sudo -u postgres psql

パスワードを設定する

外部から接続するにはパスワードを設定する必要があります。

次のコマンドを入力すると、パスワードを設定することができます。

1
ALTER ROLE postgres WITH PASSWORD 'postgres';

パスワードを設定

外部接続を有効にする

a5m2 や ロールPC の Python から接続したいため、外部接続を有効にします。

下記コマンドを入力して Ubuntu のフォルダーをエクスプローラーで開きます。

1
explorer.exe .

explorer.exe .

このコマンドを入力すると Windows 11 のエクスプローラーが開きます。

Windows 11 のエクスプローラー

2回ほど上の階層に戻って Ubuntu の root ディレクトリに行きます。

Ubuntu の root ディレクトリ

そこから下記ディレクトリのファイルへ行って編集していきます。

/etc/postgresql/12/main/pg_hba.conf

pg_hba.conf

たどり着いたらメモ帳で開いて、下記項目を修正します。

1
2
3
host    all             all             127.0.0.1/32            md5

host all all all md5

host

/etc/postgresql/12/main/postgresql.conf

postgresql.conf

続いてこちらのファイルもメモ帳で開き、下記項目を修正します。

先頭の # (シャープ) を消して、 ‘localhost’ を ‘0.0.0.0’ に変更します。

1
2
3
#listen_addresses = 'localhost'         # what IP address(es) to listen on;

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

listen_addresses

この2つの変更ができたら PostgreSQL を再起動して完了です。

1
sudo service postgresql restart

 PostgreSQL再起動

外部接続の確認

外部から SQL の実行をしたいので、PostgreSQL に接続します。

今回は a5m2 を使ってやってみましょう。

  • サーバー名: Ubuntu のローカルIPアドレス
  • データベース名: postgres
  • ユーザーID: postgres
  • パスワード: postgres

データベース接続

今回は上記設定で接続することができました。

接続確認

参考

https://docs.microsoft.com/ja-jp/windows/wsl/setup/environment

https://docs.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-database#install-postgresql