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

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

Прекратите дублировать вопросы! <stackoverflow.com/questions/101184/…>

gizmo 19.09.2008 15:31

Это не повторяющиеся вопросы. Мои исследования на сегодняшний день показывают, что вам нужны совсем другие подходы к этой проблеме.

modius 19.09.2008 15:34
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
5
2
606
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

SELECT version();
Ответ принят как подходящий

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

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 нет команды версии.

В 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)

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

select version()

SHOW server_version;

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

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

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

Другие вопросы по теме