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

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

在教程中,我们将说明如何查找PostgreSQL服务器的版本。包括适使用用命令行查找PostgreSQL的版本,使用SQL Shell获取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,你可使用postgres的--version-V选项调用postgres命令。

postgres --version命令将会打印PostgreSQL版本。将会打印消息postgres (PostgreSQL) 10.6。在此示例中,PostgreSQL服务器的版本为10.6

如果postgres二进制文件不在系统的PATH环境变量中,则会出现错误,提示 postgres:命令未找到

当未从发行版的仓库中安装PostgreSQL时。换句话说,也就是你并没有使用系统的软件管理器进行安装,例如yum/dnf/apt等。就会发生这种情况。

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

sudo find /usr -wholename '*/bin/postgres'命令将从/usr目录开始搜索postgres二进制文件。

在本教程示例中,我们的二进制文件位于/usr/lib/postgresql/9.6/bin/postgres。找到二进制文件的路径后,就可以使用它来获取PostgreSQL服务器的版本。

/usr/lib/postgresql/9.6/bin/postgres -V命令将会打印PostgreSQL的版本号,你可能还需要检查命令行客户端psql的版本。

psql --version命令将会打印PostgreSQL客户端psql的版本。psql是一个交互式命令行,可让您与PostgreSQL服务器进行交互。

使用SQL Shell

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

您可以使用GUI客户端pgAdmin或psql访问PostgreSQL Shell。命令sudo -u postgres psql将会打开PostgreSQL Shell会话。

当登录到PostgreSQL服务器后,你可运行SQL语句SELECT version();检查PostgreSQL服务器的版本。

如果您只想获取PostgreSQL服务器版本号,请使用SQL语句SHOW server_version;进行查询。

结论

在本文中,我们显示了几个有关如何查找系统上运行的PostgreSQL服务器版本的选项。如有任何疑问,请随时发表评论。