Sprawdzanie, która wersja (lub wersje) PostgreSQL jest aktywna w twoim systemie, jest dość prostym procesem, ale istnieje wiele metod, których można użyć. W tym samouczku krótko omówimy cztery metody znajdowania twojej wersji PostgreSQL, w tym zarówno wersję klienta, jak i serwer.
Uwaga:Jak zwykle podczas pracy z PostgreSQL, aby te polecenia działały poprawnie, upewnij się, że jesteś zalogowany w swojej powłoce przez użytkownika innego niż root z uprawnieniami Postgresa.
Korzystanie z wiersza poleceń powłoki
Zapytania dotyczące instalacji Postgres na serwerze i kliencie mogą być sprawdzane za pomocą odpowiednich narzędzi wiersza poleceń.
Wyświetlanie wersji serwera
Aby znaleźć wersję serwera Postgres z wiersza poleceń powłoki, po prostu wydaj postgres
polecenie z -V
flaga (dla wersji):
$ postgres -V
postgres (PostgreSQL) 9.3.10
W przypadku, gdy postgres
polecenie nie zostało znalezione, może być konieczne zlokalizowanie katalogu narzędzia. Można to zrobić, wydając locate bin/postgres
polecenie:
$ locate bin/postgres
/usr/lib/postgresql/9.3/bin/postgres
Teraz z bezpośrednią ścieżką do postgres
narzędzie, możesz je wywołać za pomocą -V
flaga, jak pokazano powyżej:
$ /usr/lib/postgresql/9.3/bin/postgres -V
postgres (PostgreSQL) 9.3.10
Wyświetlanie wersji klienta
Aby wyświetlić wersję klienta, ponownie po prostu przekaż -V
flagę do psql
polecenie narzędzia klienta:
$ psql -V
psql (PostgreSQL) 9.3.10
Podobnie jak powyżej, jeśli nie możesz znaleźć narzędzia – lub masz wiele instalacji PostgreSQL na tym komputerze – możesz łatwo zlokalizować psql
:
$ locate bin/psql
/usr/bin/psql
/usr/lib/postgresql/9.3/bin/psql
Następnie wykonaj bezpośrednie wywołanie do zlokalizowanego psql
narzędzie dla wersji:
$ /usr/lib/postgresql/9.3/bin/psql -V
psql (PostgreSQL) 9.3.10
Korzystanie z SQL
Możliwe jest również określenie wersji Postgres z poziomu zachęty Postgres SQL za pomocą prostej instrukcji SQL.
Wyświetlanie wersji serwera
Aby określić wersję serwera za pomocą instrukcji SQL, po prostu wydaj SELECT version();
polecenie:
=# SELECT version();
version
------------------------------------------------------------------------------------------------------
PostgreSQL 9.3.10 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
(1 row)
Zobaczysz pełną informację wyjściową wersji, jak widać w powyższym przykładzie.
Alternatywnie możesz zapytać o konkretną wersję serwera, w standardowym major.minor.patch
format, używając SHOW
polecenie:
=# SHOW server_version;
server_version
----------------
9.3.10
(1 row)
SHOW
służy do wyświetlania bieżących parametrów wykonawczych, które zasadniczo są po prostu tabelą name/setting
pary. Wydając SHOW server_version;
powyżej, prosimy Postgres o pobranie bieżącej wartości parametru server_version
, która oczywiście jest aktualnie uruchomioną wersją PostgreSQL.
Wyświetlanie wersji klienta
W podobnym duchu możemy również wydać krótkie polecenie SQL z monitu PostgreSQL, aby zapytać o wersję klienta psql
. Warto jednak zauważyć, że jest to wyłącznie dla wygody, ponieważ w rzeczywistości prosimy Postgres o wydanie polecenia w wierszu zachęty powłoki, ale z z wnętrza sam znak zachęty PostgreSQL.
Odbywa się to za pomocą \!
flaga podczas połączenia z klientem, a następnie oświadczenie, które chcemy wydać:
=# \! psql -V
psql (PostgreSQL) 9.3.10
Tak jak poprzednio, kiedy wydawaliśmy to polecenie bezpośrednio z wiersza poleceń, psql -V
może zwrócić wersję klienta jak powyżej lub ścieżka może nie zostać znaleziona.
W ten sposób omówiliśmy cztery proste, ale skuteczne sposoby wykrywania zarówno wersji serwerowej, jak i klienckiej Postgresa.