🛢️
WSL2 上の postgresql サーバーに windows10 から A5:SQL Mk-2 を使って接続する
タイトルに書いてあることをやろうとしたとき、
パソコンが苦手な私にとっては、いろいろと苦戦してしまったので、同じようなことをする人の参考になればと思い、手順をまとめて見ます。
A5:SQL Mk-2 とは
- 公式サイト:
- 各種 DB (mysql や postgresql) に接続してデータベースの管理・操作ができる GUI ツール
- 無料で使える
- ER図をリバースエンジニアリングで作成できる(ER図からテーブルの作成もできる??)
(特に既存のデータベースからER図を作る機能が使いたくて、今回私はインストールしました)
環境・バージョンなど
OS
- エディション Windows 10 Pro
- バージョン 21H1
- OS ビルド 19043.844
WSL
$ lsb_release --all
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
postgresql (WSL上)
$ psql --version
psql (PostgreSQL) 10.15 (Ubuntu 10.15-0ubuntu0.18.04.1)
インストール手順
- postgresql 設定ファイルの更新
- パスワード変更
- A5:SQL Mk-2 をダウンロード・インストール
- A5:SQL Mk-2 で接続情報を設定
1. postgresql 設定ファイルの更新
変更するのは下記の2点
- /etc/postgresql/10/main/pg_hba.conf
- /etc/postgresql/10/main/postgresql.conf
※システムによっては、パスが異なるかもしれません。
それぞれ更新内容は下記の通り。
/etc/postgresql/10/main/pg_hba.conf
pg_hba.conf
- host all all 127.0.0.1/32 md5
+ host all all all md5
-
pg_hba.conf
はクライアント(A5:SQL Mk-2 など)の認証に関する設定を行うファイルです。 - 一番左の
host
という値が、 TCP/IP に関する設定を表します。 - 1行目は、もともと書かれていた設定で、
127.0.0.1/32
とあり、ローカルホストしか認証しません。 - windows10 から wsl(ubuntu) 上の postgresql に接続するとき、TCP/IP を使うので、ローカルホスト以外でも接続できるようにする必要があります。
- そのため、1行目を削除(もしくはコメントアウト)して、2行目の設定をファイルに追加します。
-
127.0.0.1/32
となっている値をall
にすることで、全ての IP アドレスからの接続を認証します。
-
/etc/postgresql/10/main/postgresql.conf
postgresql.conf
listen_addresses = '0.0.0.0'
- デフォルトでは、
listen_addresses
の設定がコメントになっているので、コメントを外す。 -
0.0.0.0
を設定することで、postgresql がすべての IP アドレスからの接続を待ち受けるようになる
2. パスワード変更
A5:SQL Mk-2 のようなクライアントから postgresql に接続する際に、接続するユーザーとして、postgres
を指定します。
パスワードは、デフォルトの postgres
を使いたいです。
postgres
ユーザーのパスワードが postgres
以外の場合 postgres
にパスワードを変更します。
$ sudo -u postgres psql
psql (10.15 (Ubuntu 10.15-0ubuntu0.18.04.1))
Type "help" for help.
postgres=# ALTER ROLE postgres WITH PASSWORD 'postgres';
ALTER ROLE
postgres=#
3. A5:SQL Mk-2 をダウンロード・インストール
公式サイト からダウンロード・インストールできます。
- Zip をダウンロードするやり方と、Microsoft Store からダウンロードするやり方が提供されている
- Microsoft Store からダウンロードするやり方だと 2クリックくらいの操作でインストールまで完了しました
4. A5:SQL Mk-2 で接続情報を設定
インストール後に A5:SQL Mk-2 を開きます(スタートメニューでA5:SQL Mk-2
を検索すると見つかります)
データベースの追加と削除
で接続設定を 追加
します
PostgreSQL(直接接続)
を選択します。
下記の様に接続設定を入力する
-
サーバー名
- WSL の IP アドレスを入力する
- WSL の IP アドレスは ifconfig コマンドで確認しました。
- WSL の IP アドレスは ifconfig コマンドで確認しました。
- WSL の IP アドレスを入力する
-
ポート番号
- デフォルトの
5432
を指定
- デフォルトの
-
データベース名
- 接続したいデータベース名を指定する
-
ユーザーID/パスワード
- 両方とも、
postgres
を指定 - パスワードは保存するにしたほうが良いかも
- 両方とも、
-
プロトコルバージョン
- 変更しない
-
色
- 好きないろに変更
OK を押して、接続情報を保存した後、メニューの データベース
> データベースを開く
から接続できます。
Discussion