普段はpsql最高!な人なのですが
せっかくpgAdmin4のようなGUIクライアントもあるのだから、たまには使ってみるのもいいかなあと。
EXPLAIN表示
まあ、一番気になるのは9.6で追加されたパラレルクエリまわりが、どんな感じでEXPLAINでグラフィカルに表示されるのか、ということ。
なのでやってみた。
pgAdmin4のインストール
今回は、私物のLet's note君に突っ込んでみることにする。
といっても、Windows版 PostgreSQL 9.6 beta3には、pgAdmin4が同梱されているので、Windows版PostgreSQLをインストールするだけでおしまい。
パラレルクエリをpgAdmin4で表示させてみる
これも別に特別な設定が必要なわけじゃない。
インストール直後のデフォルトの設定のままでいい。
PostgreSQL 9.5からはpgbenchも最初から使える。
とりあえずpgbenchでスケールファクタ10程度のデータ(pgbench_accounts 100万件)を投入しておく。
この状態で、以下の様なクエリを実行。
SELECT avg(abalance) FROM pgbench_accounts
これでパラレルクエリが内部的に動作する。
次はpgAdmin4をちょいと設定。Query Toolを起動。
で、EXPLAINのoptionとしてVERBOSEを指定しておく。
実行するとこんなJSONk形式の出力がQuery Toolの結果ペインに表示される。
Workerが起動しているのが見えますね。
さて、この実行計画をグラフィカルに見てみるとどうなるか。Explainタブをクリックすると
こんな感じで表示される。
Workerを起動していても、枝分かれして表示するわけではないようだ。
あと、PostgreSQL 9.6で追加されたGatherノードは、まだpgAdmin4では対応していないらしく、空白で表示される。ちょっと寂しいw まあ、これは今後改善されていくのだろうけど。
で、Gatherの部分にマウスオーバーすると、詳細情報が表示される。
詳細情報にWorkers Plannedという項目がある。今回は2と表示されていますね。
これでworkerを起動してパラレル処理しているか否かが判断できそう。
おわりに
pgAdmin3のビミョーな印象があったので、PostgreSQLを使うときにはGUIクライアントは使わなかったんだけど、pgAdmin3よりはちょっとオサレっぽい画面だし、psqlのようなCUIを使っていると若者に見られないらしいので、今後はpgAdmin4もちょっとは使ってみようと思う。
まあ、メインで使うのはpsqlであることは今後とも変わらないとは思うけどw