Come posso confermare un database Postgres & quale versione si sta utilizzando SQL?

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

  •  01-07-2019
  •  | 
  •  

Domanda

Sto costruendo un programma di installazione per un'applicazione.L'utente può selezionare un'origine hanno configurato e nominare quale tipo di database è.Voglio confermare che il tipo di database è, infatti, Postgres, e, se possibile, qual è la versione di Postgres sono in esecuzione tramite l'invio di un'istruzione SQL per l'origine dati.

È stato utile?

Soluzione

Prova questo:

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)

Il comando funziona anche in MySQL:

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

Non esiste una versione di comando in sqlite, per quanto posso vedere.

Altri suggerimenti

SHOW server_version;

(per completezza)

SELECT version();

PostgreSQL ha una versione() la funzione si può chiamare.

SELECT version();

Restituirà qualcosa di simile a questo:

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

Questo è il DB dipendente, e nel caso in cui questa funzione è presente in un altro dbms, dice di PostgreSQL in uscita

select version()

Interessante ...versione() è una funzione!Mi chiedo perché?La versione non ha intenzione di cambiare o restituire valori diversi in diversi ingressi/circostanze.

Curioso, perché mi ricordo che da giorni che in Sybase ha usato per essere una variabile globale e la versione potrebbe essere scoperto da fare "select @@version"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top