PostgreSQL,通常简称为Postgres,是一种开放源代码的通用对象关系型数据库管理系统。

在某些情况下,了解系统上已安装和运行PostgreSQL服务器的版本可能很重要。例如,如果需要安装特定版本的PostgreSQL程序,则需要找出PostgreSQL服务器的版本。

在教程中,我们将说明如何查找系统上正在运行的PostgreSQL服务器的版本。包括适用命令行查找PostgreSQL的版本,使用SQL Shell获取PostgreSQL版本号以及PostgreSQL版本控制说明。

PostgreSQL版本控制

PostgreSQL发行版使用以下方案进行版本控制:

MAJOR.MINOR

例如,在PostgreSQL 12.1中,12是主要版本,1是次要版本。

MAJOR-从PostgreSQL 10开始,每个新的主要发行版都将版本的MAJOR的值增加1,例如10、11或12。在PostgreSQL 10之前,代表了主要版本带有十进制数字,例如9.0或9.6。

MINOR -次要版本号是版本号的最后一部分。例如,11.411.6是PostgreSQL版本11的一部分的次要版本,9.6.159.6.16是PostgreSQL版本9.6的次要版本。

具有新功能的PostgreSQL主要版本通常每年交付一次。每个主要版本的支持期均为5年。

使用命令行检查PostgreSQL版本

要了解您的系统上正在运行什么版本的PostgreSQL,请使用--version-V选项调用postgres命令:

postgres --version

该命令将打印PostgreSQL版本:

postgres (PostgreSQL) 10.6

在此示例中,PostgreSQL服务器的版本为10.6

如果postgres二进制文件不在系统的PATH中,则会出现错误,提示“ postgres:命令未找到”。当未从发行版的标准存储库中安装PostgreSQL软件包时,通常会发生这种情况。

您可以使用locatefind命令找到二进制文件的路径:

sudo find /usr -wholename '*/bin/postgres'

输出应如下所示:

/usr/lib/postgresql/9.6/bin/postgres

找到二进制文件的路径后,就可以使用它来获取PostgreSQL服务器的版本:

/usr/lib/postgresql/9.6/bin/postgres -V

可以使用以下psql命令找到PostgreSQL客户端的版本:

psql --version

输出将如下所示:

postgres (PostgreSQL) 10.6

psql是一个交互式命令行,可让您与PostgreSQL服务器进行交互。

使用SQL Shell

确定PostgreSQL服务器版本的另一种方法是登录服务器SQL提示符并使用SQL语句打印出版本。

您可以使用GUI客户端(例如pgAdmin)或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服务器版本的选项。如有任何疑问,请随时发表评论。