SELECT current_setting('server_version_num'); -- Returns 90603 (9.6.3)
-- Or using SHOW command:
SHOW server_version_num; -- Returns 90603 too
它将服务器版本作为整数返回 . 这是在PostgreSQL源中测试服务器版本的方式,例如:
/*
* This is a C code from pg_dump source.
* It will do something if PostgreSQL remote version (server) is lower than 9.1.0
*/
if (fout->remoteVersion < 90100)
/*
* Do something...
*/
12 回答
从PostgreSQL运行此查询:
如果你在debian / ubuntu系统上有shell访问服务器(提出op没有的问题,但是你有的话)
这将输出已安装的版本,
其中
Installed: <version>
是已安装的postgres包版本 .我相信这就是你要找的东西,
服务器版本:
客户版本:
使用CLI:
服务器版本:
如果有多个PostgreSQL安装,或者收到“
postgres: command not found
”错误:如果
locate
无效,请尝试find
:虽然也可以使用
postmaster
而不是postgres
,但最好使用postgres
,因为postmaster
是postgres
的弃用别名 .客户端版本:
相关的,login as postgres .
如果有多个PostgreSQL安装:
使用SQL:
服务器版本:
如果更好奇,试试
=> SHOW all;
.客户端版本:
对于它的 Value ,可以在
psql
内执行shell命令,以在路径中显示psql
可执行文件的客户端版本 . 请注意,运行psql
可能与路径中的运行不同 .使用
pgadmin4
可以通过双击Servers> server_name_here> Properties> Version看到它:执行命令
哪里
V必须是资本 .
如果
Select version()
与Memo一起返回,请尝试以这种方式使用命令:要么
不知道这有多可靠,但你可以完全自动获得两个版本的令牌:
所以你可以构建二进制文件的路径:
用这个命令替换9.2 .
在shell psql.exe中,执行
接受的答案很棒,但是如果你需要以编程方式与PostgreSQL版本进行交互,那么最好这样做:
它将服务器版本作为整数返回 . 这是在PostgreSQL源中测试服务器版本的方式,例如:
更多信息here和here .
在我的情况下
希望它会帮助某人
pg_config命令将报告安装PostgreSQL程序的目录(--bindir),C包含文件(--includedir)和目标代码库(--libdir)的位置,以及PostgreSQL的版本(--version) :