PostgreSQL のバージョンを確認するには、接続して SQL で調べる方法と、OS のコマンドで調べる方法があります。この記事の出力は PostgreSQL 17.6 で採りました。
まず見る(結論)
- 接続中のサーバーのバージョン:
SELECT version();またはSHOW server_version; - スクリプトで比較するなら数値の
SHOW server_version_num;(17.6 なら170006) - psql 自体のバージョン:
psql --version。サーバーとは別物 - 2026年10月時点の最新メジャーは PostgreSQL 18。サポート中は 14〜18
SQL で確認する
SELECT version();
version
--------------------------------------------------------------------------------------------------------------------
PostgreSQL 17.6 (Debian 17.6-2.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
(1 row)
version() はビルドした OS やコンパイラまで含めた長い文字列を返します。番号だけ欲しいときは SHOW server_version; を使います。
SHOW server_version;
server_version
-------------------------------
17.6 (Debian 17.6-2.pgdg13+1)
(1 row)
SHOW server_version_num;
server_version_num
--------------------
170006
(1 row)
server_version にはパッケージの付加情報(この例では (Debian ...))が付くことがあり、文字列のまま大小比較すると誤ります。「17 以上なら」のような判定は server_version_num を整数にして比べます。
SELECT current_setting('server_version_num')::int >= 170000;
?column?
----------
t
(1 row)
psql の中では変数でも見られます。VERSION_NAME が psql、SERVER_VERSION_NAME が接続先サーバーです。
\echo :VERSION_NAME :SERVER_VERSION_NAME
17.6 (Debian 17.6-2.pgdg13+1) 17.6 (Debian 17.6-2.pgdg13+1)
コマンドで確認する
$ psql --version
psql (PostgreSQL) 17.6 (Debian 17.6-2.pgdg13+1)
$ postgres --version
postgres (PostgreSQL) 17.6 (Debian 17.6-2.pgdg13+1)
psql --version が返すのはクライアントのバージョンです。別のサーバーにつなぐ psql や、複数バージョンを入れたマシンでは、サーバーと一致するとは限りません。postgres --version はサーバー本体のバイナリのバージョンです。ただし PATH に無いことが多く、PGDG のパッケージなら /usr/pgsql-17/bin/postgres のようにバージョン付きのディレクトリにあります。
番号の読み方
PostgreSQL 10 以降は「メジャー.マイナー」の2つの数字です。17.6 は、メジャー 17 の6回目のマイナーリリースです。マイナーリリースはバグとセキュリティの修正だけで、データ形式は変わりません。同じメジャーの中なら、バイナリを入れ替えて再起動するだけで上げられます。メジャーを上げるときは pg_upgrade か、ダンプとリストアが必要です。
9.6 以前は「9.6.24」のように3つの数字で、メジャーは「9.6」まででした。
最新バージョンとサポート期限(2026年10月時点)
公式の Versioning Policy によると、サポート中のバージョンは次のとおりです。
| メジャー | 最新マイナー | 初回リリース | サポート終了 |
|---|---|---|---|
| 18 | 18.6 | 2025-09-25 | 2030-11-14 |
| 17 | 17.11 | 2024-09-26 | 2029-11-08 |
| 16 | 16.15 | 2023-09-14 | 2028-11-09 |
| 15 | 15.19 | 2022-10-13 | 2027-11-11 |
| 14 | 14.24 | 2021-09-30 | 2026-11-12 |
メジャーはおよそ年1回、マイナーは少なくとも3か月に1回出ます。各メジャーは初回リリースから5年サポートされます。14 はあと1か月ほどでサポートが終わるので、使っているなら移行先を決めておきます。
SHOW server_version; の結果を上の表と比べれば、マイナーアップデートが溜まっていないかを確認できます。