我在一个企业环境中(运行Debian Linux),没有自己安装它。我使用Navicat或phpPgAdmin访问数据库(如果有帮助的话)。我也没有运行数据库的服务器的shell访问权。
当前回答
在shell psql.exe中执行
\! psql -V
其他回答
公认的答案是很好的,但如果你需要与PostgreSQL版本进行编程交互,可能更好的做法是:
SELECT current_setting('server_version_num'); -- Returns 90603 (9.6.3)
-- Or using SHOW command:
SHOW server_version_num; -- Returns 90603 too
它将以整数形式返回服务器版本。这是如何在PostgreSQL源代码中测试服务器版本的,例如:
/*
* 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...
*/
更多信息在这里和这里。
使用pgadmin4,双击Servers > server_name_here > Properties选项卡> Version:
3.5版本:
4.1、4.5版本:
如果你在debian/ubuntu系统上有对服务器的shell访问权限(问题中提到op没有,但如果你有的话)
sudo apt-cache policy postgresql
它将输出已安装的版本,
postgresql:
Installed: 9.6+184ubuntu1.1
Candidate: 9.6+184ubuntu1.1
Version table:
*** 9.6+184ubuntu1.1 500
500 http://in.archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages
500 http://in.archive.ubuntu.com/ubuntu artful-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu artful-security/main amd64 Packages
500 http://security.ubuntu.com/ubuntu artful-security/main i386 Packages
100 /var/lib/dpkg/status
9.6+184ubuntu1 500
500 http://in.archive.ubuntu.com/ubuntu artful/main amd64 Packages
500 http://in.archive.ubuntu.com/ubuntu artful/main i386 Packages
其中Installed: <version>是已安装的postgres包版本。
检查PostgreSQL数据库版本的有用查询
bash-4.1$ psql
postgres=# SELECT version();
postgres=# SHOW server_version;
检查PostgreSQL客户端版本。
bash-4.1$ psql --version
psql (PostgreSQL) 12.1
执行命令
psql -V
在哪里
V必须大写。
推荐文章
- 在tmux中保持窗口名称固定
- 如何生成一个核心转储在Linux上的分段错误?
- Postgres唯一约束与索引
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 使用{merge: true}设置的Firestore与更新之间的差异
- mysql_connect():[2002]没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)在
- 使用电子邮件地址为主键?
- 选择postgres中字段的数据类型
- MongoDB在v4之前不兼容ACID意味着什么?
- 如何在Apache服务器上自动将HTTP重定向到HTTPS ?
- 如何在PostgreSQL中查看视图的CREATE VIEW代码?
- 错误:没有唯一的约束匹配给定的键引用表"bar"
- 如何使用新的PostgreSQL JSON数据类型中的字段进行查询?
- 如何限制从grep返回的结果的数量?
- 如何彻底清除和重新安装postgresql在ubuntu?