WSL2+Ubuntu+PostgreSQL

How To

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

スポンサーリンク

環境

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

手順

WSL2

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

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

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 のバージョンを確認しておきます。

cat /etc/os-release
 Ubuntuのバージョン確認

PostgreSQL

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

sudo apt update && sudo apt upgrade
 パッケージの更新とアップグレード

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

sudo apt install postgresql postgresql-contrib
PostgreSQLのインストール

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

psql --version
バージョン確認

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

PostgreSQL の状態を確認する

sudo service postgresql status

PostgreSQL を開始する

sudo service postgresql start

PostgreSQL を停止する

sudo service postgresql stop
PostgreSQL の状態を確認する

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

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

sudo -u postgres psql
sudo -u postgres psql

パスワードを設定する

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

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

ALTER ROLE postgres WITH PASSWORD 'postgres';
パスワードを設定

外部接続を有効にする

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

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

explorer.exe .
explorer.exe .

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

Windows 11 のエクスプローラー

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

Ubuntu の root ディレクトリ

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

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

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

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’ に変更します。

#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 を再起動して完了です。

sudo service postgresql restart
 PostgreSQL再起動
外部接続の確認

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

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

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

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

接続確認

参考

WSL 開発環境を設定する
このステップバイステップガイドのベストプラクティスを使用して、WSL 開発環境を設定します。 Ubuntu、Visual Studio Code または Visual Studio、Git、Windows Credential Manager、MongoDB、MySQL、Docker リモートコンテナーなどを実行する方...
WSL を使用してデータベースを追加または接続する
Linux 用 Windows サブシステムで MySQL MongoDB、PostgreSQL、SQLite、Microsoft SQL Server、または Redis を設定する方法について学習します。
タイトルとURLをコピーしました