-my $v = substr(`pg_config --version`, 11);
-my($a, $b, $c) = split(/\./, $v);
-
-print "-D PGSQL_HAS_ESCAPECONN" if(hex(sprintf("%02x", $a) . sprintf("%02x", $b) . sprintf("%02x", $c)) >= 0x080000);
+my $s = `pg_config --version`;
+$s =~ /^.*?(\d+)\.(\d+)\.(\d+).*?$/;
+my $v = hex(sprintf("0x%02x%02x%02x", $1, $2, $3));
+print "-DPGSQL_HAS_ESCAPECONN" if(($v >= 0x080104) or (($v >= 0x07030F) and ($v < 0x080000)));