2013年3月4日、ブログは以下のURLに移行しました。最新の記事はこちらで公開しています。
新しいブログでは、コメントやリンクが一部切れていたり、一部機能が調整中です。
新しいブログへ

データベースのバージョンを調べてみる

投稿日:2008.08.31 / カテゴリ:コンピュータ / 投稿者:Tom Goodsun
データベースのバージョンを調べる方法はいくつかある。とは言っても、例えば「PostgreSQL パージョン 取得」と調べても、SQLを記載するページが山ほど検索されるだけだ。今回私が知りたかったのは、PHPからバージョンを調べる方法だ。それも検索キーワードにPHPを追加したところで私の求める結果は返ってこなかった。
Nucleusのinstall.phpには以下のようなコードが記述されている。コメントにもあるように、これはphpMyAdminというフリーのデータベース管理ツールに記述されているものだ。とは言っても、最近のphpMyAdminにはこの記述は見られない。

どうやら接続リソースがなくても処理が通るらしい。ちょっと驚きだ。「SELECT VERSION();」というSQLはMySQLもPostgreSQLも実装されている。ただPostgreSQLは接続リソースがないと取れないようだ。

サーバーの仕様にもよるのだろうがMySQLにパスワード保護かかかっていもこれは取得できる。どうやらMySQLの仕様でSELECT VERSION();は外からでも実行できるようになっているらしい。ためしに、既存のテーブルをSELECTしてみたが、エラーになった。

Nucleus同様、インストーラでのバージョンチェックには有効だが、他のバージョンのシステム(サーバー、PHP、MySQLなど)ではどういった動きをするのかはわからない。おそらく最新版のMySQLでも有効なはずだが、PHP6で関数の仕様が変更されていると使えない可能性も高い。ちなみにPHP4、PHP5での可能のようだ。

コメント

まだコメントはありません。
このアイテムは閲覧専用です。コメントの投稿、投票はできません。