Windows向けPostgreSQL用クライアントアプリケーション3選

有名どころの商用RDBは一通り業務で利用したことがあって、オープンソース(OSS)系のRDBについてはあまり触れてきていなかったタイプなのですが、先日MySQLとPostgreSQLの案件に巡り会い、いろいろ調べたり聞いたりしたのでメモを残しておきたいと思います。

ちなみに、Windows10および7環境での話になります。Macのは話はいずれ。

そもそもPostgreSQLって?

いい機会なので検索してみたところ、Wikipediaには次のように記載されていました。

PostgreSQL(ぽすとぐれすきゅーえる)はオープンソースオブジェクト関係データベース管理システム (ORDBMS) である。その名称は Ingres の後継を意味する「Post-Ingres」に由来している。「Postgres」や「ポスグレ」と呼ばれることも多い。

ウィキペディア

ピンとこないですよね……。

要するにフリーで使えるオープンソースのリレーショナルデータベース管理システム(RDBMS)ということのようです。OSSなのでライセンス料は発生しません。ソースは公開されていますし、世界中のエンジニアに保守されているということもあり高品質なシステムとなっているようです。

たしかに実際に利用してみて、いわゆる商用RDBとなんら遜色なく導入できました。ただ、クライアントアプリケーションの操作性に若干の戸惑いなどもあったため、今回はそのあたりを感想をまとめていきたいと思います。

HeidiSQL

オープンソース。

僕は最近こちらに乗り換えました。

そもそもMySQL用のクライアントツールのようですが、SQLServerやPostgresSQLにも利用できます。

とにかく動作が軽快で今のところ特に不満もありません。

ワンクリックでテーブルの構造が参照できる点は非常に便利で助かっています。

https://www.heidisql.com/

A5:SQL Mk-2

http://a5m2.mmatsubara.com/

フリーツール。

いろいろある中で検索するとだいたい上位に出てくるアプリケーションです。人に聞くとまずはこれを薦められることも多いと思います。

SQL実行、テーブル変更は当然として、SQLの入力補完、SQLの実行計画、SQLの分析、ER図作成、Excel連携などフリーツールとは思えないほど様々な機能が搭載されています。また、定期的にバージョンアップもされているようで、安心して利用できるのではないでしょうか。

実際にしばらく利用してみたところ、揃っている機能や操作感は商用DBについてくるクライアントアプリケーションと変わりありませんでした。むしろ高機能なくらい!

ただ、プロジェクトの制約としてフリーツールがNGでしたので、継続しての利用を断念してしまいました……。

他のRDBにも対応しているようです。

pgAdmin

https://www.pgadmin.org/

オープンソース。

そもそもPostgreSQLをインストールすると「pgAdmin」がついてきます。ただ、サーバにインストールしたPostgreSQLをクライアントからGUI操作する場合は、クライアントにも「pgAdmin」をインストールしないといけません。

僕は最初この仕組に気がつかず、DBを触るときは毎回リモート接続してサーバのpgAdminからDBを操作していました……。みなさんは気をつけましょう。

ダウンロードはこちらからです。

pgAdminのサイト

使用感としては、やはりこちらもよくある商用RDBのGUIツールとなんら変わりありませんでした。基本的な操作でしたら、クライアントにインストールするまでもないかもしれません。

開発中はずっとこちらのお世話になっています。

phpPgAdmin

http://phppgadmin.sourceforge.net/doku.php

Webベースのツール。

PostgreSQL版phpMyAdmin。ただ、Webアプリケーションなので操作感はサーバスペックに依存しそうです。プロジェクトの制約などを考えて一度導入を検討したのですが、遅延がすごすぎて見送りとなってしまいました。

コマンドラインも悪くない

話がそれてしまいますが、エンジニアでしたらコマンドのほうが馴染み深いかもしれませんし、ちょっとデータを確認する程度ということだったらサクッとコマンドを叩きたくもなります。

しかし、慣れていないノンプログラマーからするとコマンドラインは怖いものです……。

そんな方はぜひポスグレはそういうものと割り切ってOSSの世界に片足を入れたと思い「PostgreSQL 入門」で検索してみてください。コマンドラインベースで解説しているサイトも多いので、チャレンジしてみましょう!

psql — PostgreSQL対話的ターミナル