CREATE OR REPLACE FUNCTION _postgis_pgsql_version() RETURNS text
AS $$
- SELECT CASE WHEN split_part(s,'.',1)::integer > 9 THEN split_part(s,'.',1) || '0' ELSE split_part(s,'.', 1) || split_part(s,'.', 2) END AS v
+ SELECT CASE
+ WHEN split_part(s,'.', 1)::integer > 9 THEN
+ split_part(s,'.', 1) || LPAD(
+ COALESCE(NULLIF(
+ split_part(s,'.', 2),
+ ''), '0'), 2, '0')
+ ELSE
+ split_part(s,'.', 1) || split_part(s,'.', 2)
+ END AS v
FROM substring(version(), 'PostgreSQL ([0-9\.]+)') AS s;
$$ LANGUAGE 'sql' STABLE;