我需要确保可用的PostgreSQL版本不低于所需版本。可以按如下方式请求版本字符串:
SELECT VERSION();
它给我回复:
PostgreSQL 9.5.4,由Visual C ++ build 1800,64位编译
理论上我可以解析这个字符串,但我不确定PostgreSQL服务器的未来版本会保持这个字序。
PostgreSQL是否有一些可预测的版本报告可能会分为主要版本号和次要版本号?
答案 0 :(得分:1)
show server_version_num; --returns 90602::text
show server_version; --returns 9.6.2::text
答案 1 :(得分:1)
https://blog.2ndquadrant.com/finding-postgresql-version/说:
您可以在SQL查询中更轻松地使用它,例如
SELECT current_setting('server_version_num');
答案 2 :(得分:0)
您可以查询pg_settings
pg_catalog
select * from pg_settings where name like '%version%';
上面的查询会为您带来两个设置:
name other columns .....
server_version .....
server_version_num .....
对于您的具体情况,您需要以下配置:
select name, setting, min_val, max_val
from pg_settings
where name = 'server_version_num';
name setting min_val max_val
--------------------------------------------------
server_version_num 90503 90503 90503
从这里开始,您可以使用min_val
和max_val
此查询等同于@ŁukaszKamiński提供的答案,其中包含更多详细信息(如果您选择所有列。)