Как я могу подтвердить, что база данных Postgres и какая версия использует SQL? - PullRequest
5 голосов
/ 19 сентября 2008

Я создаю установщик для приложения. Пользователь получает возможность выбрать источник данных, который он настроил, и назначить тип базы данных. Я хочу подтвердить, что тип базы данных действительно Postgres, и, если возможно, какую версию Postgres они используют, отправив оператор SQL в источник данных.

Ответы [ 6 ]

4 голосов
/ 19 сентября 2008

SHOW server_version;

(для полноты)

4 голосов
/ 19 сентября 2008

Попробуйте это:

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)

Команда также работает в MySQL:

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

Насколько я вижу, в sqlite нет команды версии.

2 голосов
/ 19 сентября 2008

Это зависит от БД, и если эта функция существует в другой базе данных, это говорит PostgreSQL в выводе

select version()
2 голосов
/ 19 сентября 2008

PostgreSQL имеет функцию version (), которую вы можете вызвать.

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)
2 голосов
/ 19 сентября 2008
SELECT version();
0 голосов
/ 19 сентября 2008

Интересно ... версия () - это функция! Интересно, почему? Версия не собирается изменять или возвращать разные значения при разных входах / обстоятельствах.

Любопытно, потому что в старые времена я помню, что в Sybase это была глобальная переменная, и узнать версию можно, выполнив "select @@ version"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...