在本文中,我们将说明如何查找Linux操作系统上正在运行的PostgreSQL服务器版本(PostgreSQL Version)。在某些情况下,了解系统上已安装和运行PostgreSQL服务器的版本可能很重要,例如,如果要安装需要特定PostgreSQL版本的应用程序,则需要找出PostgreSQL服务器的版本。安装请参考如何在Ubuntu 18.04上安装和使用PostgreSQL一文。
PostgreSQL版本控制
PostgreSQL版本使用以下方案进行版本控制:
MAJOR.MINOR
例如,在PostgreSQL 12.1中,12是主要版本,1是次要版本。
1、MAJOR-从PostgreSQL 10开始,每个新的主要版本都会将版本的主要部分增加1,例如10、11或12,在PostgreSQL 10之前,主要版本以十进制数字表示,例如9.0或9.6。
2、MINOR-次要版本号是版本号的最后一部分,例如,11.4和11.6是PostgreSQL版本11的一部分的次要版本,而9.6.15和9.6.16是PostgreSQL版本9.6的一部分。
具有新功能的PostgreSQL主要版本通常每年交付一次,每个主要版本的支持期限均为5年。
使用命令行
要找出系统上正在运行的PostgreSQL版本,请使用--version或-V选项调用postgres命令:
$ postgres --version
该命令将打印PostgreSQL版本:
postgres (PostgreSQL) 10.6
在此示例中,PostgreSQL服务器的版本为10.6。
如果postgres二进制文件不在系统的PATH中,则会显示一条错误消息,提示“postgres: command not found”,如果未从发行版的标准存储库中安装PostgreSQL软件包,通常会发生这种情况。
可以使用locate或find命令找到二进制文件的路径:
$ sudo find /usr -wholename '*/bin/postgres'
$ sudo updatedb
$ locate bin/postgres
输出应如下所示:
/usr/lib/postgresql/9.6/bin/postgres
找到二进制文件的路径后,就可以使用它来获取PostgreSQL服务器的版本:
$ /usr/lib/postgresql/9.6/bin/postgres -V
可以使用以下命令找到PostgreSQL客户端实用程序的版本psql:
$ psql --version
输出将如下所示:
postgres (PostgreSQL) 10.6
psql是一个交互式命令行实用程序,可让你与PostgreSQL服务器进行交互。
使用SQL Shell
确定PostgreSQL服务器版本的另一种方法是登录服务器SQL提示符并使用SQL语句打印出版本。
可以使用pgAdmin之类的GUI客户端或使用psql访问PostgreSQL shell:
$ sudo -u postgres psql
以下语句显示PostgreSQL服务器版本以及构建信息:
SELECT version();
显示的version信息为如下所示:
PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
(1 row)
如果只想获取PostgreSQL服务器版本号,请使用以下查询:
SHOW server_version;
返回:
server_version
--------------
10.6
(1 row)
注:根据上面的输入信息,可确定为PostgreSQL 10.6版本。
相关主题