この記事では、PostgreSQLのバージョン確認方法について解説しています。
「バージョン確認なんて楽勝だろw」と思う方ほど、この記事を読んで欲しいです。
もしかしたら、思いっきり勘違いしている可能性があります。
少なくともGoogleで検索すれば、勘違いしている記事が上位で出てきます。
本記事の内容
- 「psql –version」を思い浮かべた人はアウトです!!
- 正しいPostgreSQLのバージョン確認方法
- インストール済みパッケージの確認
- 「select version();」クエリの実行
それでは、上記に沿って解説していきます。
「psql –version」を思い浮かべた人はアウトです!!
psql --version
PostgreSQLのバージョン確認方法において、上記コマンドを思い浮かべた人はアウトです。
アウトの理由は、次の記事で説明しています。
上記の記事でも書いていますが、アウトでもOKです。
経験豊富なプログラマーでも普通に勘違いしますので。
プログラミング初学者なら、なおさらです。
私自身も勘違いして、間違ったバージョンを報告した経験があります。
そのときは開発チーム皆が勘違いしていました。
後日、それをインフラチームから指摘されたということです。
では、本当の確認方法はどうすればいいのでしょうか?
それを以下で解説していきます。
正しいPostgreSQLのバージョン確認方法
今回は、Ubuntuでの確認方法を解説しています。
一般的には、Linux系のOSでPostgreSQLを利用する方が多いでしょう。
そして、UbuntuであればDebianでも同じように利用できます。
その意味でも、Ubuntuでの理解は汎用性があると言えます。
Ubuntuのバージョン詳細は以下。
コマンドは、rootで発行しています。
# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
なお、PostgreSQLは次の方法でインストールしています。
# apt update # apt install postgresql
aptでインストールしています。
そのため、その際のコマンドを示しておく必要があると考えています。
ここまで、OSとインストール方法を示してきました。
さて、ここからが本題です。
PostgreSQLのバージョン確認方法は、以下の2つを挙げておきます。
- インストール済みパッケージの確認
- 「select version();」クエリの実行
下記でそれぞれを解説します。
インストール済みパッケージの確認
今時、PostgreSQLをコンパイルしてインストールすることなんてありませんよね?
aptを用いてインストールを管理している場合のみ有効です。
aptでの管理が前提の場合、次のコマンドでPostgreSQLのバージョンを確認できます。
# apt list --installed | grep 'postgresql' | grep -v 'client' WARNING: apt does not have a stable CLI interface. Use with caution in scripts. postgresql/bionic-updates,bionic-security,now 10+190ubuntu0.1 all [インストール済み] postgresql-10/bionic-updates,bionic-security,now 10.15-0ubuntu0.18.04.1 amd64 [インストール済み、自動] postgresql-common/bionic-updates,bionic-security,now 190ubuntu0.1 all [インストール済み、自動]
PostgreSQLのクライアントアプリケーションは除外しています。
あくまで、PostgreSQLのサーバーだけを抽出です。
以下から、バージョンが「10.15」だとわかります。
postgresql-10/bionic-updates,bionic-security,now 10.15-0ubuntu0.18.0
postgresql-10/bionic-updates,bionic-security,now 10.15-0ubuntu0.18.04.1 amd64 [インストール済み、自動]
でも、これはイマイチですよね。
もっとピンポイントでPostgreSQLのバージョンを表示して欲しいです。
おそらく、もっとも確実でわかりやすいのが次の方法でしょう。
「select version();」クエリの実行
クエリを発行する方法です。
そのためには、クライアントアプリケーションのpsqlコマンドでPostgreSQLサーバーに接続します。
まず、postgresユーザーになります。
# sudo -u postgres -i
そして、次のコマンドでPostgreSQLサーバーに接続です。
$ psql psql (10.15 (Ubuntu 10.15-0ubuntu0.18.04.1)) Type "help" for help. postgres=#
接続した状態で「select version();」クエリを実行します。
postgres=# select version();
実行した結果は、以下。
version -------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 10.15 (Ubuntu 10.15-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04)7.5.0, 64-bit (1 row) (END)
モードが切り替わります。
「PostgreSQL 10.15」を表示されています。
これはわかりやすいです。
なお、このモードから抜けるためには、「\q」を入力します。