PostgreSQL の無料 GUI アプリを導入する ( pgAdmin, DBeaver )
はじめに
Relational Database ( RDB ) を GUI アプリで操作したい。
今までは MySQL を使用する場合、 Sequel Ace を使用していました。
ただ今回は PostgreSQL を使用します。
しかし調べてみると選択肢が多い、、どれを選ぶか迷います。。。
候補を選定
前提としては無料で使用できること、また機能としてはテーブルのレコードが概観できて GUI からクエリ実行できるなら十分と考えています。
そのため、上記条件の場合は pgAdmin と DBeaver Community が候補になりました。
Postico 2 と Aqua Data Studio は、多機能、チーム運用、高パフォーマンス、 PosgreSQL 互換 DB 接続可能など売りですが、1人で費用をかけたくないため、候補から外れます。
次は pgAdmin と DBeaver Community の操作感を確認するため、実際に触ってみます。
確認環境
GUI アプリは、 以下リポジトリで用意する PostgreSQL サーバと接続します。
masayuki-0319/remix_todoapp: Remix, PostgreSQL, Docker ( DB only ), Prisma
# docker-compose.yml
version: '3.9'
services:
db:
image: postgres:15-alpine
restart: always
environment:
- POSTGRES_PASSWORD=password
- POSTGRES_DB=sample_development
ports:
- '54320:5432'
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:
driver: local
アプリ導入
pgAdmin 4
Homebrew 経由でインストールを実行します。
brew install --cask pgadmin4
インストール完了すると、 Launchpad に以下のアイコンが追加されます。
pgAdmin 4 を起動します。
Add new server ボタンを押下します。
設定ダイアログが表示されるため、以下の項目を入力し、「SAVE」ボタンを押下します。
項目 | 入力 |
---|---|
General > Name | 任意の値 ( development ) |
Connection > Host name/address | 接続先サーバのホスト名 ( localhost ) |
Connection > Port | 接続先サーバのポート番号 ( 54320 ) |
Connection > Maintenance database | 任意の値 ( デフォルト設定 ) |
Connection > Username | 接続ユーザ名 ( デフォルト設定 ) |
Connection > Password | 接続ユーザのパスワード ( password ) |
接続成功すると、 左サイドバーのフォルダ構造の UI において、 Servers
フォルダに Name で入力した値が表示されます。
また、 Databases > sample_development ( Webアプリで設定した DB 名 ) > Schemas > public > Tables を参照すると、 Web アプリで設定したテーブルが確認できます。
DBeaver
brew install --cask dbeaver-community
インストール完了すると、 Launchpad に以下のアイコンが追加されます。
DBeaver を起動します。
サンプルデータベースを作成を促すダイアログが表示されます。
今回は不要なため、「いいえ」ボタンを押下します。
PostgreSQL を選択し、「次へ」ボタンを押下します。
設定ダイアログが表示されるため、以下の項目を入力し、「テスト接続」ボタンを押下します。
項目 | 入力 |
---|---|
一般 > Server > Host: | 接続先サーバのホスト名 ( localhost ) |
一般 > Server > Port: | 接続先サーバのポート番号 ( 54320 ) |
一般 > Server > Database: | 接続先 DB 名 ( sample_development ) |
一般 > 認証 > 認証: | Database Native ( デフォルト設定 ) |
一般 > 認証 > ユーザー名: | 接続時ユーザ名 ( デフォルト設定 ) |
一般 > 認証 > パスワード: | 接続時ユーザのパスワード ( password ) |
もしも、ドライバファイルが見つからない場合、ダイアログに従って「ダウンロード」ボタンを押下します。
ダウンロード後は自動的にテスト接続されます。
テスト接続に成功を確認し、「OK」ボタンを押下します。
「終了」ボタンを押下します。
接続完了し、 Post をダブルクリックすると、テーブルの情報を確認できます。
使用感: レコードの編集
pgAdmin の場合、左サイドバーの DB アイコンを押下してクエリ結果出力後、 Data Output
タブで表示されたデータを直接編集できます。
また、SAVE ボタンを押下することで変更が適用されます。
DBeaver Community の場合、テーブルを押下し、 データ
タブに表示されたデータをスプレッドシートのイメージで編集できます。
また、SAVE ボタンを押下することで変更が適用されます。
まとめ
pgAdmin を選びました。
触った感じ、どちらも良い感じです。
私は、 UI がモダンであり、編集機能が触ってて安心の感触から pgAdmin に決めました。
DBeaver の編集操作は、スプレッドシートと同じイメージなので直感的に編集できるのですが、意図せぬ編集をしてしまいそうで編集操作が少し怖く感じたため、候補から外しました。
Discussion
DbVisualizer も良さそう。