PostgreSQLのバージョン確認方法【Ubuntu】

PostgreSQLのバージョン確認方法【Ubuntu】 サーバー

この記事では、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」を入力します。

タイトルとURLをコピーしました