この簡単なガイドでは、クライアントとサーバーの両方のバージョンについて、マシン上または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のクライアントバージョンとサーバーバージョンを確認する方法について説明しました。