CLIプロンプトでPostgresのバージョンを表示する方法は?


8

接続しているサーバーのバージョンをコマンドライン(コンソール)インターフェイスプロンプトに表示します。私がドキュメントで読んだものから、シェルコマンドを実行することが可能であり、psql変数値を表示することが可能です。

接続時にサーバーのバージョン情報を取得し、クライアントのプロンプトで使用するという考え方です。どうすれば(.psqlrcファイル内で)サーバーのバージョンをpsql変数に割り当てることができますか?

編集:ジャックダグラス♦は\gset機能を指摘することで正しい答えを持っています。それはで終わった

show server_version
\gset
\set PROMPT1 '%:server_version: >'

ありがとうございました。

回答:


8

9.3以降、psqlrcの\ gsetを使用してこれを行うことができます。

select split_part(version(),' ',2) pmt
\gset
\set PROMPT1 '%:pmt:'

または、「パーセント記号(%)が検出された場合を除いて、選択したプロンプト変数の値が文字どおりに出力されます」:

select split_part(version(),' ',2) "PROMPT1"
\gset

バージョンが9.3未満の場合でも可能ですが、次のように非常に醜くなります。

\set PROMPT1 `psql postgres postgres -Atc "select split_part(version(),' ',2)"`
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.