¿Cómo puedo confirmar una base de datos Postgres y en qué versión está utilizando SQL?

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

  •  01-07-2019
  •  | 
  •  

Pregunta

Estoy construyendo un instalador de una aplicación.El usuario obtiene para seleccionar un origen de datos que han configurado y nominar a 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 que se ejecutan mediante el envío de una instrucción SQL para el origen de datos.

¿Fue útil?

Solución

Intente 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 ninguna versión de comando en sqlite, por lo que puedo ver.

Otros consejos

SHOW server_version;

(integridad)

SELECT version();

PostgreSQL tiene una versión() función 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)

Este es DB dependiente, y en caso de que esta función existe en otro dbms, este dice PostgreSQL en la salida

select version()

Interesante ...versión() es una función!Me pregunto ¿por qué?Versión no va a cambiar o devolver valores diferentes en diferentes entradas/circunstancias.

Curioso porque recuerdo de viejos tiempos, que en Sybase lo que solía ser una variable global y versión puede ser encontrado haciendo "select @@version"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top