我在一个企业环境中(运行Debian Linux),没有自己安装它。我使用Navicat或phpPgAdmin访问数据库(如果有帮助的话)。我也没有运行数据库的服务器的shell访问权。
当前回答
使用VERSION特殊变量
$psql -c "\echo :VERSION"
其他回答
如果Select version()返回Memo,尝试这样使用命令:
Select version::char(100)
or
Select version::varchar(100)
使用pgadmin4,双击Servers > server_name_here > Properties选项卡> Version:
3.5版本:
4.1、4.5版本:
使用CLI:
服务器版本:
$ 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
如果安装了多个PostgreSQL,或者得到"postgres: command not found"错误:
$ 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
如果locate不起作用,试试find:
$ 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
虽然postmaster也可以代替postgres,但使用postgres更可取,因为postmaster是postgres的一个不推荐使用的别名。
客户端版本:
以postgres的身份登录。
$ psql -V # Or --version
psql (PostgreSQL) 9.6.1
如果安装了多个PostgreSQL:
$ 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
使用SQL:
服务器版本:
=> 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
如果更好奇,try => SHOW all;。
客户端版本:
值得注意的是,可以在psql中执行shell命令,以显示路径中psql可执行文件的客户端版本。注意,正在运行的psql可能与路径中的psql不同。
=> \! psql -V
psql (PostgreSQL) 9.2.9
使用命令行 服务器:
postgres -V
客户:
psql -V
登录postgres,然后:
postgres=# select version();
或者来自cli:
psql -c "SELECT version();"
使用VERSION特殊变量 以postgres用户登录:
sudo su - postgres
然后:
psql -c "\echo :VERSION"
请查看这里的指南以获得完整的解释
pg_config命令将报告PostgreSQL程序的安装目录(——bindir), C包含文件(——includedir)和目标代码库(——libdir)的位置,以及PostgreSQL的版本(——version):
$ pg_config --version
PostgreSQL 9.3.6
推荐文章
- 比较两个SQL Server数据库(模式和数据)的最佳工具是什么?
- PostgreSQL删除所有内容
- 如何找到Java堆大小和内存使用(Linux)?
- 遍历带空格的文件列表
- 为什么PostgreSQL要对索引列进行顺序扫描?
- Bash:无限睡眠(无限阻塞)
- 如何使Python脚本在Linux中像服务或守护进程一样运行
- PostgreSQL INSERT ON冲突更新(upsert)使用所有排除的值
- 如何检查一个表是否存在于给定的模式中
- 如何在SQL Server Management Studio中查看查询历史
- 如何使用文件的行作为命令的参数?
- time_t最终的类型定义是什么?
- 如何将整数转换为字符串作为PostgreSQL查询的一部分?
- Psycopg2:用一个查询插入多行
- PostgreSQL返回JSON数组的结果集?