2018-03-11 追記
仕事ではMySQLよりPostgreSQL歴が長かったりします。
プロダクション環境へのクエリはさすがにpsqlを使われる方がおおいかと思いますが、開発環境やステージング環境へクエリを発行する場合は何らかのGUIクライアントソフトを使うことが多いと思います。
最近使っているGUIクライアントツールを簡単に説明したいと思います。
(Windows版です)
GUIクライアントソフト履歴
2000年前後・・・CSE(Common SQL Environment)
2014年前後・・・A5:SQL Mk-2(今ここ!)
実は10年以上CSEを使っていました。
その間に一時的にpgAdminを使っていましたが、すぐにCSEに戻ってしまいました。
CSEを使い続けた理由
CSE自体は2001年くらいにはすでにあったような気がします。それなりに老舗のソフトだと思います。
ホームページ探してみたら、今でも配布してるそうです。
ちなみに、CSE自体はPostgreSQL専用のGUIクライアントではなく、MySQLなどの他のRDBMSにも対応しています(別途ドライバなどが必要・・・だと思います)
CSEを使い続けた理由ですが、2点あります。
・動作がサクサク
・SQL崩し
CSEは、機能自体はそれなりにシンプルなので結構サクサク動きます。ただレコード数の多いテーブルをselect等するとそれなりにビューが重いです。
あと便利だったのがSQL崩し。どういうことかというとSQL文のフォーマットを行います。
[sql]
select id, created_at, updated_at, username, password from users where id = 999
[/sql]
みたいなSQL文をCSEのエディタに貼り付けて、SQL崩し(ショートカット[Ctrl] + q)すると
[sql]
select
id,
created_at,
updated_at,
username,
password
from
users
where
id = 999
[/sql]
みたいな感じで、見やすく整形してくれます。ただし、サブクエリなどは正しく整形してくれなかった記憶があります。
シンプルゆえに軽い、操作も簡単という、自分としてはすごい使いやすかったツールです。
pgAdminがなじまなかった理由
動作環境や感覚にもよるんだと思うんですけど、pgAdminは高機能なのですがその分少しもっさり・・・これはもちろんCSEに比べたらということなのでそれほど感じられるほどもっさりはしないと思いますが、CSEよりはもっさりすることもあり、自分には馴染めませんでした。
pgAdminはすごい高機能でGUIクライアントソフトという枠組みではなくPostgreSQLの管理に重みをおいたソフトだと思います。
GUI上からユーザーを追加できたり、テーブルのカラムなども編集できたと思います。
自分の場合、GUIを使って操作するよりもSQL文で操作することがおおいので、そういうこともありpgAdminはあんまり使わずにCSEに戻りました。
あと、SQL崩しがやりかった・・・。
A5:SQL Mk-2を使っている理由
ホームページはこちら。
昨年末くらいからこのクライアントツールを使っています。
CSEくらいサクサク動く、色々便利っていう感じです。
サクサク動く
使っているパソコンの性能によるところも大きいのかのしれませんが、CSEを使っているのと同じくらいサクサク動きます。
重いと感じたことは一度もないです。
便利機能
SQL崩し(SQL整形)があります。しかもオプションで整形結果を制御できます。
キーワードの大文字小文字変換、カンマの位置、and orの位置など。
よほど細かい要望出ないかぎりは、ある程度自分の思い通りの整形ができると思います。
構造ツリー
個人的にすごい便利な機能が構造をツリー表示してくれる機能です。
カラム名がすごいたくさん書かれたsql文をデバッグするときに役立っています。
サブクエリなども一応表示してくれます。
ER図
自分でER図をかけたり、データベースからER図をかけたりします。
OpenSource系のたとえばWordPressとかのデータベースもER図で見てみると楽しいかもです。
今のところ無料
しっかし、このソフトが今のところ無料で使えるというのが本当に驚きです。
まとめ
開発中はGUIで見たほうがレコード状態がわかりやすいということも多いかと思います。
psqlでも全然問題ないんですけど、その選択肢の一つとしてA5:SQL Mk-2が今のところ自分には一番馴染んでいるかなーと思っています。
JetBrainsが0xDBEというソフトを開発中?らしいので、こちらもどういうソフトになるのか期待されます。