Come visualizzare la versione di Postgres nel pompt della CLI?


8

Desidero visualizzare la versione del server a cui sono connesso nel prompt dell'interfaccia della riga di comando (console). Da quanto ho letto nella documentazione, è possibile eseguire un comando shell, è possibile visualizzare un valore variabile psql.

L'idea è di ottenere le informazioni sulla versione del server al momento della connessione e utilizzarle nel prompt del client. Come posso (nel .psqlrcfile?) Assegnare la versione del server in una variabile psql?

Modifica: Jack Douglas ♦ ha la risposta giusta sottolineando la \gsetfunzione. Si è concluso con un

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

Grazie.

Risposte:


8

Da 9.3, puoi farlo usando \ gset in psqlrc:

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

Oppure, poiché " il valore della variabile prompt selezionata viene letteralmente stampato, tranne quando viene rilevato un segno di percentuale (%) ":

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

Se la tua versione è <9.3, è ancora possibile, ma molto più brutta , ad esempio qualcosa di simile:

\set PROMPT1 `psql postgres postgres -Atc "select split_part(version(),' ',2)"`
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.