Wie kann ich eine Datenbank bestätigen ist Postgres & welche Version es ist mit SQL?

StackOverflow https://stackoverflow.com/questions/101198

  •  01-07-2019
  •  | 
  •  

Frage

Ich baue ein Installationsprogramm für eine Anwendung. Der Benutzer erhält eine Datenquelle sie konfiguriert auszuwählen haben und zu benennen, welche Art von Datenbank ist es. Ich möchte bestätigen, dass der Datenbanktyp in der Tat Postgres ist, und, wenn möglich, welche Version von Postgres sie durch das Senden einer SQL-Anweisung an die Datenquelle ausgeführt werden.

War es hilfreich?

Lösung

Versuchen Sie folgendes:

mk=# SELECT version();
                                            version                                            
-----------------------------------------------------------------------------------------------
 PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
(1 row)

Der Befehl funktioniert auch in MySQL:

mysql> select version();
+--------------------------------+
| version()                      |
+--------------------------------+
| 5.0.32-Debian_7etch1~bpo.1-log | 
+--------------------------------+
1 row in set (0.01 sec)

Es gibt keine Version Befehl in SQLite, soweit ich sehen kann.

Andere Tipps

SHOW server_version;

(auf Vollständigkeit)

SELECT version();

PostgreSQL hat eine Version () Funktion, die Sie aufrufen können.

SELECT version();

Es wird so etwas wie dies zurück:

                                            version
-----------------------------------------------------------------------------------------------
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Diese DB abhängig ist, und in dem Fall besteht diese Funktion in einem anderen DBMS, das sagt PostgreSQL in der Ausgabe

select version()

Interessante ... Version () ist eine Funktion! Ich wundere mich warum? Version wird nicht oder unterschiedliche Werte unter verschiedenen Ein- / Umständen zurückkehren ändern.

Neugierig, weil ich aus alten Zeiten erinnern, dass in Sybase es verwendet eine globale Variable zu sein und die Version herausgefunden, indem Sie „select @@ Version“ werden könnte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top