> 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