mejor - postgresql pdf
¿Cómo puedo confirmar que una base de datos es Postgres y qué versión usa SQL? (6)
Estoy construyendo un instalador para una aplicación. El usuario puede seleccionar una fuente de datos que haya configurado y nominar qué tipo de base de datos es. Quiero confirmar que el tipo de base de datos es de hecho Postgres y, si es posible, qué versión de Postgres están ejecutando enviando una declaración SQL a la fuente de datos.
Esto depende de DB, y en caso de que esta función exista en otro dbms, esto dice PostgreSQL en la salida
select version()
Interesante ... la versión () es una función! ¿Me pregunto porque? La versión no va a cambiar o devolver valores diferentes bajo diferentes entradas / circunstancias.
Curioso porque recuerdo desde tiempos antiguos que en Sybase solía ser una variable global y se podía encontrar una versión haciendo "seleccionar @@ versión"
PostgreSQL tiene una función de versión () a la que puede llamar.
SELECT version();
Devolverá algo como esto:
version
-----------------------------------------------------------------------------------------------
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Prueba esto:
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)
El comando también funciona en MySQL:
mysql> select version();
+--------------------------------+
| version() |
+--------------------------------+
| 5.0.32-Debian_7etch1~bpo.1-log |
+--------------------------------+
1 row in set (0.01 sec)
No hay comando de versión en sqlite por lo que puedo ver.
SHOW server_version;
(por completitud)
SELECT version();