From 925af91ce8a8bedf25276b5fd2d4f236ba3b7d15 Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Fri, 16 Oct 2026 00:26:46 +0200 Subject: [PATCH] Fix PostgreSQL restricted mode version check --- postgresql/postgresql-lib.pl | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/postgresql/postgresql-lib.pl b/postgresql/postgresql-lib.pl index 7f0030471..9c93993db 100755 --- a/postgresql/postgresql-lib.pl +++ b/postgresql/postgresql-lib.pl @@ -835,11 +835,14 @@ sub supports_psql_restrict { local $out = &backquote_command( "e_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])