我正在为应用程序构建安装程序。用户可以选择他们已配置的数据源并指定它是什么类型的数据库。我想确认数据库类型确实是Postgres,如果可能的话,通过向数据源发送SQL语句来运行它们正在运行的Postgres版本。
答案 0 :(得分:4)
试试这个:
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中没有版本命令。
答案 1 :(得分:4)
SHOW server_version;
(完整性)
答案 2 :(得分:2)
SELECT version();
答案 3 :(得分:2)
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)
答案 4 :(得分:2)
这是依赖于DB的,如果此函数存在于另一个dbms中,这表示输出中的PostgreSQL
select version()
答案 5 :(得分:0)
有趣......版本()是一个功能!我想知道为什么?在不同的输入/环境下,版本不会改变或返回不同的值。
好奇,因为我记得以前在Sybase中曾经是一个全局变量,可以通过“select @@ version”找到版本