Fix PostgreSQL restricted mode version check

This commit is contained in:
Ilia Ross
2026-10-16 00:26:46 +02:00
parent e3e6a9b44f
commit 925af91ce8

View File

@@ -835,11 +835,14 @@ sub supports_psql_restrict
{
local $out = &backquote_command(
&quote_path($config{'psql'})." -V 2>&1 <$null_file");
local ($major, $minor) = $out =~ /psql.*?\s(\d+)(?:\.(\d+))?/i;
local %minimum = ( 13 => 22, 14 => 19, 15 => 14, 16 => 10, 17 => 6 );
return 0 if (!defined($major));
return $major >= 18 || defined($minor) && $minimum{$major} &&
$minor >= $minimum{$major};
local ($version) = $out =~ /psql.*?\s(\d+(?:\.\d+)*)/i;
return 0 if (!defined($version));
local ($major) = split(/\./, $version);
local %minimum = ( 13 => "13.22", 14 => "14.19", 15 => "15.14",
16 => "16.10", 17 => "17.6" );
return &compare_version_numbers($version, "18") >= 0 ||
$minimum{$major} &&
&compare_version_numbers($version, $minimum{$major}) >= 0;
}
# execute_sql_file(database, file, [user, pass], [unix-user])