🎉

PostgreSQLインストール/BDeaverでハマったことまとめ

に公開

WSL環境でPostgreSQLをインストールし、DBeaverでGUI接続するまでの手順

🎯 目標

  • WSL(Ubuntu)にPostgreSQLをインストールしてRailsから使用可能にする
  • Windows上のDBeaverで、WSL内のPostgreSQLと接続し、GUIでDB状態を確認する

エラーも多かったため、なるべく詳細に記録しています。RailsやWSL初心者の方にも役立てば嬉しいです。


📋 目次

  1. 前提環境
  2. Railsの設定(pg導入)
  3. PostgreSQLのインストールと設定(WSL側)
  4. DBeaverのインストールと接続設定(Windows側)
  5. 接続確認と学び
  6. 今後の予定

✅ 前提環境

  • Windows 11
  • WSL2 上の Ubuntu
  • Ruby on Rails 環境構築済み

✅ Railsの設定(pg導入)

1. Gemの設定

  • Gemfilegem 'sqlite3'gem 'pg' に変更
  • ターミナルで以下を実行:
bundle install

これを行わないと、後続の rails db:create でエラーになります。


✅ PostgreSQLのインストールと設定(WSL側)

2. PostgreSQLのインストール

sudo apt update
sudo apt install postgresql postgresql-contrib libpq-dev

3. 起動確認

sudo systemctl status postgresql

4. ユーザー・DBの作成

sudo -u postgres psql

中で以下を実行:

CREATE USER myuser WITH PASSWORD 'mypassword';
ALTER USER myuser CREATEDB;
\q

5. database.yml の編集

default: &default
  adapter: postgresql
  encoding: unicode
  host: localhost
  username: myuser
  password: mypassword
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: myapp_dev

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  database: myapp_production
  username: <%= ENV["PG_USERNAME"] %>
  password: <%= ENV["PG_PASSWORD"] %>
  host: <%= ENV["PG_HOST"] || "localhost" %>

6. DB作成・マイグレーション

rails db:create
rails db:migrate

7. DB確認

sudo -u postgres psql
SELECT datname FROM pg_database;

postgres, template1, template0 はデフォルトDBです。


✅ DBeaverのインストールと接続設定(Windows側)

1. DBeaverのインストール

2. WSL側のPostgreSQLを外部接続可能にする

postgresql.conf の編集

sudo nano /etc/postgresql/14/main/postgresql.conf

変更:

# listen_addresses = 'localhost'
↓
listen_addresses = '*'

pg_hba.conf の編集

sudo nano /etc/postgresql/14/main/pg_hba.conf

末尾に以下を追記:

host    all             all             0.0.0.0/0               md5

セキュリティ上、本番環境ではアクセス範囲を絞るのが望ましいです。

PostgreSQLを再起動

sudo systemctl restart postgresql

3. WSLのIPアドレスを確認

hostname -I

例: 172.28.47.2

4. DBeaverで接続設定

  1. DBeaverを起動
  2. Database > New Database Connection
  3. PostgreSQL を選択
  4. 接続情報を入力:
項目 設定値
Host 172.28.xx.xx(WSLのIP)
Port 5432
Database myapp_dev
Username myuser
Password mypassword
  1. 接続テスト → 成功すれば完了!

📘 接続確認と学び

  • DBeaverからテーブルの中身が視覚的に見えるのは便利!
  • コンソールからの設定編集(nano)は慣れるまでちょっと手間取ったが、意外と面白い
  • DB作成後に名前を間違えた場合、DROP DATABASEALTER DATABASE で対応可能

🗓 今後の予定

  • 楽譜モデル(Score)の作成
  • PDFアップロード機能の実装(ActiveStorage)
  • 楽譜の一覧 / 詳細ページ作成
  • DBeaverでのテーブル構造・データ確認の活用

✅ おわりに

DBeaverによるGUI接続は、RailsやDBに慣れていない人ほど強力な助けになります!
WSL上で完結しがちな開発も、Windowsからのアクセスを通じてより直感的に扱えるようになりました。

Discussion