🎉
PostgreSQLインストール/BDeaverでハマったことまとめ
WSL環境でPostgreSQLをインストールし、DBeaverでGUI接続するまでの手順
🎯 目標
- WSL(Ubuntu)にPostgreSQLをインストールしてRailsから使用可能にする
- Windows上のDBeaverで、WSL内のPostgreSQLと接続し、GUIでDB状態を確認する
エラーも多かったため、なるべく詳細に記録しています。RailsやWSL初心者の方にも役立てば嬉しいです。
📋 目次
✅ 前提環境
- Windows 11
- WSL2 上の Ubuntu
- Ruby on Rails 環境構築済み
✅ Railsの設定(pg導入)
1. Gemの設定
-
Gemfile
でgem '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のインストール
- https://dbeaver.io/download/ からWindows用インストーラを取得・実行
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で接続設定
- DBeaverを起動
Database > New Database Connection
-
PostgreSQL
を選択 - 接続情報を入力:
項目 | 設定値 |
---|---|
Host |
172.28.xx.xx (WSLのIP) |
Port | 5432 |
Database | myapp_dev |
Username | myuser |
Password | mypassword |
- 接続テスト → 成功すれば完了!
📘 接続確認と学び
- DBeaverからテーブルの中身が視覚的に見えるのは便利!
- コンソールからの設定編集(nano)は慣れるまでちょっと手間取ったが、意外と面白い
- DB作成後に名前を間違えた場合、
DROP DATABASE
やALTER DATABASE
で対応可能
🗓 今後の予定
- 楽譜モデル(Score)の作成
- PDFアップロード機能の実装(ActiveStorage)
- 楽譜の一覧 / 詳細ページ作成
- DBeaverでのテーブル構造・データ確認の活用
✅ おわりに
DBeaverによるGUI接続は、RailsやDBに慣れていない人ほど強力な助けになります!
WSL上で完結しがちな開発も、Windowsからのアクセスを通じてより直感的に扱えるようになりました。
Discussion