この簡単なガイドでは、クライアントとサーバーの両方のバージョンについて、マシン上またはpostgresインスタンスで実行されているPostgresのバージョンを確認する方法について説明します。
目次
- コマンドラインの使用
- SQLの使用
-
VERSION
を使用する 特別な変数
1。コマンドラインを使用する
Postgresインストールは、Postgresインストールのクエリに使用できるクライアントユーティリティとサーバーユーティリティの両方を提供します。
バージョンを確認するには、それぞれのバイナリを使用しますが、-V
または--version
フラグ。
サーバーバージョン
シェルコマンドラインからPostgresサーバーのバージョンを見つけるには、postgres
を使用します -V
を使用したコマンド または(--version
)フラグ(バージョン用):
$ postgres -V
postgres (PostgreSQL) 14.0
多くの場合、Postgresqlコマンドは$ PATHに追加されず、通常はアクセスできません。このような場合、エラーが発生します:
$ postgres -V
-bash: postgres: command not found
postgres
への正確なパスがわかっている場合 実行可能ファイルの場合は、/path/to/postgres -V
のように入力します ただし、使用しない場合はlocate
指図。 locate
を取得した場合 このようにコマンドが見つかりません:
# locate bin/postgres
-bash: locate: command not found
あなたはそれをインストールする必要があります。 Rocky Linux 8を使用しています– Centos 8に似ています。したがって、どのパッケージがそれを提供するかを確認するには:
$ sudo dnf whatprovides locate
Last metadata expiration check: 0:44:27 ago on Wed 06 Oct 2021 05:46:04 AM UTC.
mlocate-0.26-20.el8.x86_64 : An utility for finding files by name
Repo : baseos
Matched from:
Filename : /usr/bin/locate
Locate incentos8をインストールします
$ sudo dnf install -y mlocate
次に、locate
を更新します データベースを使用してファイルを検索できるようにします:
$ sudo updatedb
次に、bin/postgres
を見つけましょう 。
$ locate bin/postgres
/usr/bin/postgresql-14-setup
/usr/pgsql-14/bin/postgres
/usr/pgsql-14/bin/postgresql-14-check-db-dir
/usr/pgsql-14/bin/postgresql-14-setup
この例では、/usr/pgsql-14/bin/postgres
に関心があります。 コマンド:
$ /usr/pgsql-14/bin/postgres -V
postgres (PostgreSQL) 14.0
クライアントバージョン
Postgresはクライアントツールpgsql
を提供します ポストジに接続するために使用できます。
クライアントのバージョンを表示するには、-V
を渡します psql
へのフラグ クライアントユーティリティコマンド:
$ psql -V
psql (PostgreSQL) 14.0
psqlコマンドが見つからない場合は、:
で検索してください。$ locate bin/psql
/usr/bin/psql
/usr/pgsql-14/bin/psql
次に、フルパスを指定できます:
$ /usr/pgsql-14/bin/psql -V
psql (PostgreSQL) 14.0
2。 SQLの使用
SQLステートメントを介してSQLプロンプトを使用して、Postgesqlデータベースにクエリを実行することもできます。
サーバーバージョン
サーバーのバージョンを判別するために、postgresはselect version();
を提供します
postgres=# select version();
version
-----------------------------------------------------------------------------------------------------
---
PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1), 64-b
it
(1 row)
上記のコマンドは、データベースの完全なバージョン情報を表示します。
コマンドラインからクエリを実行することもできます:
psql -c "SELECT version();"
標準のmajor.minor.patch
で、特定のサーバーバージョンをクエリすることもできます。 SHOW
を使用してフォーマットします コマンド:
postgres=# show server_version;
server_version
----------------
14.0
(1 row)
SHOW
コマンドは、現在の実行時パラメーターを表示するために使用されます。これは、基本的にはname/setting
の単なるテーブルです。 ペア。
クライアントバージョン
PostgreSQLプロンプトから短いSQLステートメントを発行して、クライアントバージョンのpsql
をクエリすることもできます。 。ただし、これは純粋に便宜上のものであることに注意してください。事実上、Postgresにシェルプロンプトでコマンドを発行するように要求しているだけですが、内 PostgreSQLプロンプト自体。
これは、\!
を使用して実行されます クライアントに接続しているときにフラグを立て、その後に発行したいステートメントを続けます:
postgres=# \! psql -V
psql (PostgreSQL) 14.0
シェルプロンプトから直接このコマンドを発行したときと同じように、psql -V
上記のようにクライアントのバージョンが返されるか、パスが見つからない可能性があります。
3。 VERSION
を使用する 特別な変数
VERSION
を使用することもできます postgres
用に定義された特別な変数 ユーザー。これを機能させるには、postgresユーザーとしてログインする必要があります。
postgres
としてログインします。
sudo su - postgres
次にバージョンを確認します
$ psql -c "\echo :VERSION"
PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1), 64-bit
結論
このガイドでは、postgresのクライアントバージョンとサーバーバージョンを確認する方法について説明しました。