我正在运行哪个版本的 PostgreSQL?

我在公司环境中(正在运行 Debian Linux),并且自己没有安装它。我使用 Navicat 或 phpPgAdmin 访问数据库(如果有帮助)。我也无权访问运行数据库的服务器。

答案

从 PostgreSQL 运行以下查询:

SELECT version();

我相信这就是您想要的,

服务器版本:

pg_config --version

客户端版本:

psql --version
$ postgres -V  # Or --version.  Use "locate bin/postgres" if not found.
postgres (PostgreSQL) 9.6.1
$ postgres -V | awk '{print $NF}'  # Last column is version.
9.6.1
$ postgres -V | egrep -o '[0-9]{1,}\.[0-9]{1,}'  # Major.Minor version
9.6
$ locate bin/postgres | xargs -i xargs -t '{}' -V  # xargs is intentionally twice.
/usr/pgsql-9.3/bin/postgres -V 
postgres (PostgreSQL) 9.3.5
/usr/pgsql-9.6/bin/postgres -V 
postgres (PostgreSQL) 9.6.1
$ sudo find / -wholename '*/bin/postgres' 2>&- | xargs -i xargs -t '{}' -V  # xargs is intentionally twice.
/usr/pgsql-9.6/bin/postgres -V 
postgres (PostgreSQL) 9.6.1
$ psql -V  # Or --version
psql (PostgreSQL) 9.6.1
$ locate bin/psql | xargs -i xargs -t '{}' -V  # xargs is intentionally twice.
/usr/bin/psql -V 
psql (PostgreSQL) 9.3.5
/usr/pgsql-9.2/bin/psql -V 
psql (PostgreSQL) 9.2.9
/usr/pgsql-9.3/bin/psql -V 
psql (PostgreSQL) 9.3.5
=> SELECT version();
                                                   version                                                    
--------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.2.9 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit

=> SHOW server_version;
 server_version 
----------------
 9.2.9

=> SHOW server_version_num;
 server_version_num 
--------------------
 90209
=> \! psql -V
psql (PostgreSQL) 9.2.9

如果您使用的是CLI,并且是postgres 用户 ,则可以执行以下操作:

psql -c "SELECT version();"
version                                                         
-------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 11.1 (Debian 11.1-3.pgdg80+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10+deb8u2) 4.9.2, 64-bit
(1 row)

执行命令

psql -V

哪里

V必须大写。

SELECT current_setting('server_version_num'); -- Returns 90603 (9.6.3)
-- Or using SHOW command:
SHOW server_version_num; -- Returns 90603 too
/*
 * 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...
     */
\! psql -V

使用pgadmin4 ,可以通过双击服务器 > server_name_here > 属性选项卡 > 版本来看到它:

版本 3.5:

pgadmin4显示postgres版本。服务器> server_name>属性>版本

版本 4.1、4.5:

在此处输入图片说明

一种简单的方法是通过在终端中键入psql --version来检查版本

$ pg_config --version
PostgreSQL 9.3.6