OSSのデータベースGUI比較:DBeaver vs Beekeeper Studio vs pgAdmin でDBを快適に操作する
オープンソースラボ編集部 ・ 2026年6月13日
OSSのデータベースGUI比較:DBeaver vs Beekeeper Studio vs pgAdmin でDBを快適に操作する
TablePlus($89/ライフタイム〜)・DataGrip(年$99〜)に対して、DBeaver(全DB対応の最強DB管理ツール)・Beekeeper Studio(シンプル・モダンUI)・pgAdmin(PostgreSQL特化の公式GUI)はOSSのデータベースGUIクライアントです。
DBツールが必要な場面
- SQL開発: クエリ作成・実行・実行計画確認・インデックス分析
- データブラウジング: テーブルデータの閲覧・フィルタ・編集
- スキーマ管理: テーブル作成・ALTER・外部キー設定をGUIで
- データエクスポート: CSV・JSON・SQL形式でのデータ出力・マイグレーション
主要ツールの概要
DBeaver
2010年から開発されているJava製のユニバーサルデータベースGUIです。GitHubスター41k+。80以上のデータベース(PostgreSQL・MySQL・Oracle・SQL Server・SQLite・MongoDB・Redis・Cassandra・Elasticsearch等)に対応し、ER図自動生成・SQLフォーマッター・データ比較・バックアップ・シェル連携など機能が豊富。Community EditionはMPL-2.0ライセンスで完全無料です。
-- DBeaverのSQL Editorでよく使うPostgreSQL管理クエリ
-- テーブルサイズランキング(上位20件)
SELECT
relname AS table_name,
pg_size_pretty(pg_total_relation_size(relid)) AS total_size,
pg_size_pretty(pg_relation_size(relid)) AS table_size,
pg_size_pretty(pg_indexes_size(relid)) AS indexes_size,
n_live_tup AS live_rows,
n_dead_tup AS dead_rows
FROM pg_stat_user_tables
ORDER BY pg_total_relation_size(relid) DESC
LIMIT 20;
-- スロークエリ(pg_stat_statementsが必要)
SELECT
calls,
round(total_exec_time::numeric / calls, 2) AS avg_ms,
round(max_exec_time::numeric, 2) AS max_ms,
round((total_exec_time / sum(total_exec_time) OVER ()) * 100, 2) AS percentage,
query
FROM pg_stat_statements
WHERE calls > 100
ORDER BY avg_ms DESC
LIMIT 20;
-- 未使用インデックス一覧
SELECT
schemaname,
tablename,
indexname,
pg_size_pretty(pg_relation_size(indexrelid)) AS index_size,
idx_scan AS times_used
FROM pg_stat_user_indexes
WHERE idx_scan = 0
AND pg_relation_size(indexrelid) > 100000
ORDER BY pg_relation_size(indexrelid) DESC;
-- ロックの状況確認
SELECT
pid,
now() - query_start AS query_duration,
state,
wait_event_type,
wait_event,
left(query, 100) AS query_excerpt
FROM pg_stat_activity
WHERE state != 'idle'
AND now() - query_start > interval '5 seconds'
ORDER BY query_duration DESC;
# DBeaverのコマンドラインでSQLスクリプトを実行
# (CI/CDでのDB操作に使用)
# インストール(Linux)
wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
dpkg -i dbeaver-ce_latest_amd64.deb
# CLIでSQLを実行(-con でDB接続設定)
dbeaver-ce -con "driver=postgresql|host=localhost|database=myapp|user=admin|password=secret" -sql "SELECT count(*) FROM users" -f /tmp/export.csv
Beekeeper Studio
2020年に公開されたElectron製のモダンなデータベースGUIです。GitHubスター16k+。TablePlusに最も近いOSS代替で、クリーンなUI・ダークモード・タブ機能・saved queries・外部キーのGUI設定が特徴。PostgreSQL・MySQL・SQLite・MariaDB・SQL Server・BigQueryに対応。Community Editionは完全無料です。
# Beekeeper Studioのインストール
# Linux
wget https://github.com/beekeeper-studio/beekeeper-studio/releases/latest/download/Beekeeper-Studio.AppImage
chmod +x Beekeeper-Studio.AppImage
./Beekeeper-Studio.AppImage
# macOS
brew install --cask beekeeper-studio
# Windows
winget install BeekeeperStudio.BeekeeperStudio
# セキュアなトンネル接続(SSH Jump Host経由のDB接続)
# Connection設定:
# SSH Tunnel: enabled
# SSH Host: bastion.yourcompany.com
# SSH User: ec2-user
# SSH Key: ~/.ssh/id_rsa
# DB Host: prod-db.private.subnet (プライベートIP)
# DB Port: 5432
pgAdmin 4
2019年に公開されたPostgreSQL公式のWebベースGUIです。GitHubスター4k+。PostgreSQLに特化しており、クエリツール・バキューム・EXPLAIN ANALYZE可視化・統計モニタリング・ロール・権限管理が最も充実しています。WebアプリとしてDockerで起動してチームで共有できます。PostgreSQLを本番で運用するDBAにとって必須ツールです。
# docker-compose.yml - pgAdmin 4
version: '3.8'
services:
pgadmin:
image: dpage/pgadmin4:latest
environment:
PGADMIN_DEFAULT_EMAIL: admin@yourcompany.com
PGADMIN_DEFAULT_PASSWORD: admin-password
PGADMIN_CONFIG_SERVER_MODE: "True" # サーバーモード(複数ユーザー)
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False"
ports:
- "5050:80"
volumes:
- pgadmin_data:/var/lib/pgadmin
- ./servers.json:/pgadmin4/servers.json # 接続設定のプリセット
volumes:
pgadmin_data:
// servers.json - pgAdminの接続設定プリセット
// Docker起動時に自動で接続先が登録される
{
"Servers": {
"1": {
"Name": "Production DB",
"Group": "Production",
"Host": "prod-db.yourcompany.com",
"Port": 5432,
"MaintenanceDB": "postgres",
"Username": "readonly_user",
"SSLMode": "require"
},
"2": {
"Name": "Development DB",
"Group": "Development",
"Host": "localhost",
"Port": 5432,
"MaintenanceDB": "postgres",
"Username": "developer",
"SSLMode": "disable"
}
}
}
機能比較表
| 比較項目 | DBeaver | Beekeeper Studio | pgAdmin 4 |
|---|---|---|---|
| 対応DB数 | 80+ | 8+ | PostgreSQL専用 |
| ER図生成 | ✅ | ❌ | ❌ |
| EXPLAIN可視化 | ✅ | ✅ | ✅(最高機能) |
| Webアプリ | ❌(Desktop) | ❌(Desktop) | ✅(Docker共有可) |
| UI操作性 | 中 | 高(シンプル) | 中 |
| SSH トンネル | ✅ | ✅ | ✅ |
| GitHub Stars | 41k+ | 16k+ | 4k+ |
DBのスロークエリをGrafanaで可視化するにはDevOpsカテゴリ/categories/devopsのGrafana+Prometheusでpg_stat_statementsを可視化します。DB接続のシークレット(パスワード・接続文字列)管理にはSecurityカテゴリ/categories/securityのVaultwardenと組み合わせてください。
FAQ
Q. DBeaver・pgAdmin・Beekeeper Studioの中でどれを使い分けるべきですか?
A. DBeaver: PostgreSQL以外(MySQL・MongoDB・Oracle・Redshift・BigQuery・Snowflake等)のDBも使う場合。ER図やデータ比較が必要な場合。Beekeeper Studio: PostgreSQL/MySQLのみで、シンプルできれいなUIを好む場合。TablePlusに近い体験がほしい場合(セカンドモニターで常時表示するには最適)。pgAdmin: PostgreSQLのみで、DBAとして本格的な管理作業(バキューム・統計・権限)が必要な場合。チームでDockerで共有したい場合。個人的な日常のクエリ作業はBeekeeper Studio、深い分析やマルチDBはDBeaver、本番PostgreSQL管理はpgAdminという使い分けが一般的です。
Q. 本番データベースにDBGUIを安全に接続するベストプラクティスは?
A. 絶対にやってはいけないこと: 本番DBのポートをインターネットに公開する。推奨アプローチ: ①SSHトンネル: 踏み台サーバー(Bastion Host)経由でDBに接続。DBeaver・Beekeeper StudioともSSH Tunnel設定をサポート②VPN接続: WireGuard/Tailscaleで社内VPNに接続してからDBにアクセス③Read-only接続: 本番DBへの接続は読み取り専用ユーザーを使用し、書き込みは必ずステージングでテスト④接続ロギング: pgAdmin/DBeaver経由のクエリを監査ログに記録。本番接続には必ずSSHトンネルかVPNを使い、裸でポート開放は厳禁です。
Q. Beekeeper StudioでSaved Queriesをチームで共有するには?
A. Beekeeper Studioのコミュニティ版はローカル保存のみです。チーム共有には: ①SQLファイルをGitHubリポジトリに保存してチームで共有(ファイルをBeekeeper Studioに直接開ける)②Beekeeper Studio Ultimate(有料版)のTeam Sharing機能③DbQuery.io(OSSのSQLクエリ管理・共有ツール)を補助的に使う。多くのチームはSQLをGitで管理してチームに共有し、実行はそれぞれのGUIツールで行うシンプルな運用をしています。
Q. DBeaverのデータエクスポート機能でBigQueryに直接エクスポートできますか?
A. DBeaverはBigQueryへの直接エクスポートはできませんが、CSVエクスポート→BigQuery Data Transfer(bqコマンド・コンソール)という2段階は可能です。または、DBeaver → CSV → Google Cloud Storageへアップロード → BigQueryのEXTERNAL_QUERY または LOAD DATAという手順になります。BigQueryにリアルタイムでデータを送りたい場合はKafka→BigQuery StorageWrite APIまたはAirbyte(OSSのETLツール)を使う方が効率的です。
まとめ
| ユースケース | 推奨ツール |
|---|---|
| マルチDB・ER図・フル機能 | DBeaver |
| シンプルUI・TablePlus代替・日常使い | Beekeeper Studio |
| PostgreSQL本格管理・チームWeb共有 | pgAdmin 4 |