如何检查PostgreSQL版本

时间:2020-03-05 15:24:48  来源:igfitidea点击:

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

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

在本文中,我们将说明如何查找系统上正在运行的PostgreSQL服务器的版本。

PostgreSQL版本控制

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

MAJOR.MINOR

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

  • 'MAJOR'-从PostgreSQL 10开始,每个新的主要版本都将版本的'MAJOR'部分增加一个,例如10、11或者12. 在PostgreSQL 10之前,主要版本以十进制数字表示,例如9.0或者9.6. 。
  • '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:找不到命令”。

当未从发行版的标准存储库中安装PostgreSQL软件包时,通常会发生这种情况。

我们可以使用“ locate”或者“ find”命令找到二进制文件的路径:

sudo find /usr -wholename '*/bin/postgres'
sudo updatedblocate 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 20160905 (Red Hat 8.2.1-3), 64-bit
(1 row)

如果只想获取PostgreSQL服务器版本号,请使用以下查询:

SHOW server_version;
server_version 
---------------
 10.6
(1 row)