Làm cách nào để hiển thị phiên bản Postgres trong pompt CLI?


8

Tôi muốn hiển thị phiên bản của máy chủ mà tôi được kết nối trong lời nhắc giao diện dòng lệnh (bảng điều khiển). Từ những gì tôi đọc được trong tài liệu, có thể thực thi lệnh shell, có thể hiển thị giá trị biến psql.

Ý tưởng là lấy thông tin phiên bản của máy chủ về kết nối và sử dụng nó trong lời nhắc của khách hàng. Làm cách nào tôi có thể (trong .psqlrctệp?) Chỉ định phiên bản máy chủ trong biến psql?

Chỉnh sửa: Jack Douglas ♦ có câu trả lời đúng bằng cách chỉ ra \gsettính năng này. Nó đã kết thúc với một

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

Cảm ơn bạn.

Câu trả lời:


8

Kể từ 9.3, bạn có thể thực hiện việc này bằng cách sử dụng \ gset trong psqlrc:

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

Hoặc, như ' giá trị của biến nhắc được chọn được in theo nghĩa đen, ngoại trừ trường hợp gặp phải dấu phần trăm (%) ':

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

Nếu phiên bản của bạn là <9.3, nó vẫn có thể, nhưng xấu hơn nhiều , ví dụ như:

\set PROMPT1 `psql postgres postgres -Atc "select split_part(version(),' ',2)"`
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.