Comment puis-je confirmer une base de données est Postgres & amp; quelle version utilise-t-il SQL?

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

  •  01-07-2019
  •  | 
  •  

Question

Je construis un programme d'installation pour une application. L'utilisateur doit sélectionner une source de données qu'il a configurée et nommer son type de base de données. Je souhaite confirmer que le type de base de données est bien Postgres et, si possible, quelle version de Postgres elle exécute en envoyant une instruction SQL à la source de données.

Était-ce utile?

La solution

Essayez ceci:

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)

La commande fonctionne aussi dans MySQL:

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

Il n'y a pas de commande de version dans sqlite pour autant que je sache.

Autres conseils

SHOW version_serveur;

(pour être complet)

SELECT version();

PostgreSQL a une fonction version () que vous pouvez appeler.

SELECT version();

Il retournera quelque chose comme ceci:

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

Ceci dépend de la base de données, et si cette fonction existe dans un autre dbms, ceci indique PostgreSQL dans la sortie

select version()

Intéressant ... version () est une fonction! Je me demande pourquoi? La version ne va pas changer ou retourner des valeurs différentes sous différentes entrées / circonstances.

Curieux car je me souviens que jadis, dans Sybase, il s'agissait d'une variable globale et sa version pouvait être trouvée en effectuant la commande "select @@ version"

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top