In dieser kurzen Anleitung werden wir untersuchen, wie Sie überprüfen können, welche Version von Postgres entweder auf Ihrem Computer oder in einer Postgres-Instanz sowohl für die Client- als auch für die Serverversion ausgeführt wird.
Inhaltsverzeichnis
- Über die Befehlszeile
- SQL verwenden
- Verwenden Sie
VERSION
spezielle Variable
1. Über die Kommandozeile
Postgres-Installationen bieten sowohl Client- als auch Server-Dienstprogramme, die zum Abfragen der Postgres-Installation verwendet werden können.
Zur Überprüfung der Version verwenden wir die jeweilige Binärdatei, jedoch mit dem -V
oder --version
Flagge.
Serverversion
Um die Postgres-Serverversion über die Shell-Befehlszeile zu finden, verwenden Sie postgres
Befehl mit dem -V
oder (--version
) Flag (für Version):
$ postgres -V
postgres (PostgreSQL) 14.0
Oft wird der Postgresql-Befehl nicht zum $PATH hinzugefügt und ist normalerweise nicht zugänglich. In einem solchen Fall erhalten Sie den Fehler:
$ postgres -V
-bash: postgres: command not found
Wenn Sie den genauen Pfad zur Datei postgres
kennen ausführbar, geben Sie es wie folgt ein:/path/to/postgres -V
aber wenn nicht, verwenden Sie locate
Befehl. Wenn Sie den locate
erhalten Befehl so nicht gefunden:
# locate bin/postgres
-bash: locate: command not found
Sie müssen es installieren. Ich verwende Rocky Linux 8 – ähnlich wie Centos 8. Um also zu überprüfen, welches Paket das bereitstellt:
$ 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
Installieren Sie locate in Centos 8
$ sudo dnf install -y mlocate
Aktualisieren Sie dann locate
Datenbank, damit sie die Dateien finden kann:
$ sudo updatedb
Lassen Sie uns als Nächstes unser bin/postgres
lokalisieren .
$ 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
In unserem Fall interessieren wir uns für /usr/pgsql-14/bin/postgres
Befehl:
$ /usr/pgsql-14/bin/postgres -V
postgres (PostgreSQL) 14.0
Client-Version
Postgres stellt ein Client-Tool pgsql
bereit die verwendet werden kann, um sich mit Postges zu verbinden.
Um die Client-Version anzuzeigen, übergeben Sie -V
-Flag zum psql
Befehl des Client-Dienstprogramms:
$ psql -V
psql (PostgreSQL) 14.0
Wenn der Befehl psql nicht gefunden wird, suchen Sie ihn mit :
$ locate bin/psql
/usr/bin/psql
/usr/pgsql-14/bin/psql
Dann können Sie den vollständigen Pfad angeben:
$ /usr/pgsql-14/bin/psql -V
psql (PostgreSQL) 14.0
2. Verwendung von SQL
Wir können auch die SQL-Eingabeaufforderung über eine SQL-Anweisung verwenden, um die Postgesql-Datenbank abzufragen.
Serverversion
Um die Serverversion zu ermitteln, stellt postgres die select version();
bereit
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)
Der obige Befehl zeigt die vollständigen Versionsinformationen für die Datenbank an.
Sie können auch über die Befehlszeile abfragen:
psql -c "SELECT version();"
Sie können auch die spezifische Serverversion im Standard major.minor.patch
abfragen Format, indem Sie SHOW
verwenden Befehl:
postgres=# show server_version;
server_version
----------------
14.0
(1 row)
Die SHOW
Der Befehl wird verwendet, um aktuelle Laufzeitparameter anzuzeigen, die im Wesentlichen nur eine Tabelle mit name/setting
sind Paare.
Client-Version
Wir können auch eine kurze SQL-Anweisung von einer PostgreSQL-Eingabeaufforderung ausgeben, um die Client-Version von psql
abzufragen . Es ist jedoch erwähnenswert, dass dies nur der Bequemlichkeit dient, da wir Postgres im Grunde nur bitten, einen Befehl am Shell-Prompt auszugeben, aber von innerhalb die PostgreSQL-Eingabeaufforderung selbst.
Dies wird durch die Verwendung von \!
durchgeführt Flag, während Sie mit dem Client verbunden sind, gefolgt von der Anweisung, die wir ausgeben möchten:
postgres=# \! psql -V
psql (PostgreSQL) 14.0
Genau wie zuvor, als wir diesen Befehl direkt von der Shell-Eingabeaufforderung ausgegeben haben, psql -V
kann Ihre Client-Version wie oben angegeben zurückgeben, oder der Pfad wird möglicherweise nicht gefunden.
3. Verwenden Sie VERSION
spezielle Variable
Wir können auch die VERSION
verwenden spezielle Variable, die für postgres
definiert ist Benutzer. Damit dies funktioniert, müssen wir als Postgres-Benutzer angemeldet sein.
Melden Sie sich als postgres
an
sudo su - postgres
Überprüfen Sie dann die Version
$ 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
Schlussfolgerung
Wir haben es geschafft, in diesem Handbuch zu behandeln, wie man die Client- und Serverversionen von Postgres überprüft.