📦

PostgreSQL の無料 GUI アプリを導入する ( pgAdmin, DBeaver )

2024/03/14に公開1

はじめに

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 の編集操作は、スプレッドシートと同じイメージなので直感的に編集できるのですが、意図せぬ編集をしてしまいそうで編集操作が少し怖く感じたため、候補から外しました。

参考 URL

Discussion