> 5.16 is still supported according to our install instructions,
> so let's see if we can adjust that regex so it works with 5.16.
> The first thing I'd try is
>
> -       $dump =~ s {(^\s+'version',) '\d+'::integer,$}
> +       $dump =~ s {^(\s+'version',) '\d+'::integer,$}
>

With the diff below, I still observed the same issue.

@@ -296,7 +296,7 @@ sub adjust_old_dumpfile

        # Same with version argument to pg_restore_relation_stats() or
        # pg_restore_attribute_stats().
-       $dump =~ s {(^\s+'version',) '\d+'::integer,$}
+       $dump =~ s {^(\s+'version',) '\d+'::integer,$}
                {$1 '000000'::integer,}mg;

        if ($old_version < 16)
@@ -645,7 +645,7 @@ sub adjust_new_dumpfile

        # Same with version argument to pg_restore_relation_stats() or
        # pg_restore_attribute_stats().
-       $dump =~ s {(^\s+'version',) '\d+'::integer,$}
+       $dump =~ s {^(\s+'version',) '\d+'::integer,$}
                {$1 '000000'::integer,}mg;


I also tested the same regexp expression in isolation
and I could not repro the issue. Will try a real dumpfile next.

/tmp/test.pl
"""
use strict;

my $dump = " 'version', '180000'::integer,";
print "$dump\n";

$dump =~ s [(^\s+'version',) '\d+'::integer,$] [$1 '000000'::integer,]mg;

print "$dump\n";

"""

simseih %  /usr/bin/perl -v | grep "This is perl"
This is perl 5, version 16, subversion 3 (v5.16.3) built for
x86_64-linux-thread-multi

simseih % /usr/bin/perl /tmp/test.pl
 'version', '180000'::integer,
 'version', '000000'::integer,

--

Sami


Reply via email to