pgFormatterはPostgreSQLをはじめとするSQLを整形するソフトウェアです。

SQLは文法さえ覚えてしまえば誰でも使えるようになる反面、書き方が冗長的でものすごく複雑な形になってしまうことが多々あります。そこで使ってみたいのがpgFormatter、SQL整形ツールです。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.39.09_thumb.1358310434.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.39.09.1358310434.png)
元のSQLです。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.40.14_thumb.1358310438.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.40.14.1358310438.png)
こんな感じに整形されます。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.40.34_thumb.1358310442.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.40.34.1358310442.png)
デモです。こんな複雑なSQLも…

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.40.55_thumb.1358310448.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.40.55.1358310448.png)
すっきり見やすく!

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.41.05_thumb.1358310456.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-16 10.41.05.1358310456.png)
インデントが深くても見やすいです。

pgFormatterはその名の通り、PostgreSQLのシンタックスハイライトに対応しています。SQLとしてはSQL-92/99/2003/2008/2011のキーワードに対応しています。キーワードや関数の大文字化(または逆に小文字化)も指定できます。

pgFormatterはPerl製、PostgreSQL Licenceのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

最近ではO/Rマッパーを使うことが多くなり、素のSQLを書く機会も減ってきています。しかし高いパフォーマンスを求める場合においてO/Rマッパーでは役不足というケースも多いでしょう(とは言え個人的にはビューを使うことのが多いのですが)。そんな時にはやはりSQLを書く必要があります。

しかし全てのデータをSQLだけで取り出そうとするとサブクエリが幾つも重なったりして非常にパフォーマンスが悪いものになることもあります。要は使い分けですが、どちらの場合においても最適なパフォーマンスを出せるためには両方を経験しなければならないでしょう。

pgFormatter

darold/pgFormatter · GitHub