Skip to content

Commit 0e93481

Browse files
committed
Concept WIP
1 parent 167aef2 commit 0e93481

File tree

13 files changed

+335
-10
lines changed

13 files changed

+335
-10
lines changed

src/bin/pg_rewind/t/002_databases.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111

1212
use RewindTest;
1313

14+
if (defined($ENV{TDE_MODE}))
15+
{
16+
plan skip_all => "Something weird going on with file modes";
17+
}
18+
1419
sub run_test
1520
{
1621
my $test_mode = shift;

src/bin/pg_upgrade/t/002_pg_upgrade.pl

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@
1515
use PostgreSQL::Test::AdjustUpgrade;
1616
use Test::More;
1717

18-
if (defined($ENV{TDE_MODE}))
19-
{
20-
plan skip_all => "Running with TDE doesn't support special server starts yet";
21-
}
22-
2318
# Can be changed to test the other modes.
2419
my $mode = $ENV{PG_TEST_PG_UPGRADE_MODE} || '--copy';
2520

src/test/perl/PostgreSQL/Test/Cluster.pm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ use Text::ParseWords qw(shellwords);
115115
use Time::HiRes qw(usleep);
116116
use Scalar::Util qw(blessed);
117117

118+
use if defined($ENV{TDE_MODE}), 'PostgreSQL::Test::TdeCluster';
119+
118120
our ($use_tcp, $test_localhost, $test_pghost, $last_host_assigned,
119121
$last_port_assigned, @all_nodes, $died, $portdir);
120122

@@ -1527,6 +1529,10 @@ sub new
15271529
}
15281530
}
15291531

1532+
if (defined($ENV{TDE_MODE})) {
1533+
bless $node, 'PostgreSQL::Test::TdeCluster';
1534+
}
1535+
15301536
# Add node to list of nodes
15311537
push(@all_nodes, $node);
15321538

Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
2+
3+
package PostgreSQL::Test::TdeCluster;
4+
5+
use parent 'PostgreSQL::Test::Cluster';
6+
7+
use strict;
8+
use warnings FATAL => 'all';
9+
10+
use Carp;
11+
use File::Copy;
12+
use PostgreSQL::Test::RecursiveCopy ();
13+
use PostgreSQL::Test::Utils ();
14+
15+
sub init
16+
{
17+
my ($self, %params) = @_;
18+
19+
$self->SUPER::init(%params);
20+
21+
$self->SUPER::append_conf('postgresql.conf', 'shared_preload_libraries = pg_tde');
22+
$self->SUPER::append_conf('postgresql.conf', 'pg_tde.wal_encrypt = on');
23+
24+
$self->_setup_keyfile;
25+
26+
unless (-e $self->pg_tde_dir)
27+
{
28+
mkdir($self->pg_tde_dir);
29+
$self->_setup_default_key;
30+
PostgreSQL::Test::Utils::chmod_recursive($self->pg_tde_dir, 0700, 0600);
31+
}
32+
33+
PostgreSQL::Test::Utils::run_log([
34+
'pg_tde_change_key_provider',
35+
'-D', $self->data_dir,
36+
'1664',
37+
'global_test_provider',
38+
'file',
39+
$self->pg_tde_keyfile,
40+
]);
41+
}
42+
43+
sub append_conf
44+
{
45+
my ($self, $filename, $str) = @_;
46+
47+
if ($filename eq 'postgresql.conf' or $filename eq 'postgresql.auto.conf')
48+
{
49+
# TODO: Will not work with shared_preload_libraries= without any libraries, but no TAP test currently do that.
50+
$str =~ s/shared_preload_libraries *= *'?([^'\n]+)'?/shared_preload_libraries = 'pg_tde,$1'/
51+
}
52+
53+
$self->SUPER::append_conf($filename, $str);
54+
}
55+
56+
sub backup
57+
{
58+
my ($self, $backup_name, %params) = @_;
59+
my $backup_dir = $self->backup_dir . '/' . $backup_name;
60+
61+
mkdir $backup_dir or die "mkdir($backup_dir) failed: $!";
62+
63+
PostgreSQL::Test::RecursiveCopy::copypath($self->pg_tde_dir, $backup_dir . '/pg_tde');
64+
65+
$self->SUPER::backup($backup_name, %params);
66+
67+
copy($self->pg_tde_dir . '/wal_keys', $backup_dir . '/pg_tde/wal_keys');
68+
PostgreSQL::Test::Utils::chmod_recursive($backup_dir . '/pg_tde', 0750, 0640);
69+
70+
}
71+
72+
# sub enable_archiving
73+
# {
74+
# my ($self) = @_;
75+
# my $path = $self->archive_dir;
76+
# my $name = $self->name;
77+
78+
# print "### Enabling WAL archiving for node \"$name\"\n";
79+
80+
# $self->append_conf('postgresql.conf',
81+
# "archive_mode = on\n" .
82+
# qq(archive_command = 'pg_tde_archive_decrypt %f %p "cp \\"%%p\\" \\"$path/%%f\\""')
83+
# );
84+
85+
# return;
86+
# }
87+
88+
# sub enable_restoring
89+
# {
90+
# my ($self, $root_node, $standby) = @_;
91+
# my $path = $root_node->archive_dir;
92+
# my $name = $self->name;
93+
94+
# print "### Enabling WAL restore for node \"$name\"\n";
95+
96+
# $self->append_conf('postgresql.conf',
97+
# qq(restore_command = 'pg_tde_restore_encrypt %f %p "cp \\"$path/%%f\\" \\"%%p\\""')
98+
# );
99+
100+
# if ($standby)
101+
# {
102+
# $self->set_standby_mode();
103+
# }
104+
# else
105+
# {
106+
# $self->set_recovery_mode();
107+
# }
108+
109+
# return;
110+
# }
111+
112+
sub pg_tde_dir
113+
{
114+
my ($self) = @_;
115+
return $self->data_dir . '/pg_tde';
116+
}
117+
118+
sub pg_tde_keyfile
119+
{
120+
my ($self) = @_;
121+
return $self->basedir . '/pg_tde_test_keys';
122+
}
123+
124+
sub _setup_keyfile
125+
{
126+
my ($self) = @_;
127+
128+
$self->_write_binary_file($self->pg_tde_keyfile, $self->_key_provider_file);
129+
130+
}
131+
132+
sub _setup_default_key
133+
{
134+
my ($self, %params) = @_;
135+
136+
$self->_write_binary_file(
137+
$self->pg_tde_dir . '/1664_providers',
138+
$self->_provider_config_file
139+
);
140+
chmod(0600, $self->pg_tde_dir . '/1664_providers');
141+
142+
$self->_write_binary_file(
143+
$self->pg_tde_dir . '/1663_keys',
144+
$self->_default_key_file
145+
);
146+
chmod(0600, $self->pg_tde_dir . '/1663_keys');
147+
}
148+
149+
sub _write_binary_file
150+
{
151+
# TODO: We need a better way since this will break if format changes
152+
# and will not work on ARM.
153+
154+
my ($self, $filename, $data) = @_;
155+
156+
my $fh;
157+
158+
open($fh, '>:raw', $filename) or die("could not create \"$filename\"");
159+
$fh->print($data);
160+
close($fh);
161+
}
162+
163+
164+
sub _provider_config_file {
165+
"\xff\xff\xff\xff\x67\x6c\x6f\x62\x61\x6c\x5f\x74\x65\x73\x74\x5f" .
166+
"\x70\x72\x6f\x76\x69\x64\x65\x72\x00\x00\x00\x00\x00\x00\x00\x00" .
167+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
168+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
169+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
170+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
171+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
172+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
173+
"\x00\x00\x00\x00\x7b\x22\x70\x61\x74\x68\x22\x3a\x22\x50\x4c\x41" .
174+
"\x43\x45\x48\x4f\x4c\x44\x45\x52\x22\x7d\x00\x00\x00\x00\x00\x00" .
175+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
176+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
177+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
178+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
179+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
180+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
181+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
182+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
183+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
184+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
185+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
186+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
187+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
188+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
189+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
190+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
191+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
192+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
193+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
194+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
195+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
196+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
197+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
198+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
199+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
200+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
201+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
202+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
203+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
204+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
205+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
206+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
207+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
208+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
209+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
210+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
211+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
212+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
213+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
214+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
215+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
216+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
217+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
218+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
219+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
220+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
221+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
222+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
223+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
224+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
225+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
226+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
227+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
228+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
229+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
230+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
231+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
232+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
233+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
234+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
235+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
236+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
237+
"\x00\x00\x00\x00\x01\x00\x00\x00";
238+
}
239+
240+
sub _default_key_file {
241+
"\x54\x44\x45\x03\x71\x61\x00\x00\x7f\x06\x00\x00\xff\xff\xff\xff" .
242+
"\xd0\xdf\x9c\x68\x00\x00\x00\x00\xe6\x7b\x05\x00\x00\x00\x00\x00" .
243+
"\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x65\x73\x74\x5f\x6b\x65\x79" .
244+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
245+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
246+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
247+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
248+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
249+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
250+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
251+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
252+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
253+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
254+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
255+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
256+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
257+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
258+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
259+
"\x43\xfd\x05\xe2\x94\x23\x1c\xfe\xc1\x20\x7f\x47\xd1\xaa\xeb\xf8" .
260+
"\x46\x12\x9c\x12\x69\x3e\xd0\x9e\x8d\xe1\x0b\x73\x53\xcc\xfa\x3d";
261+
}
262+
263+
sub _key_provider_file {
264+
"\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x65\x73\x74\x5f\x6b\x65\x79" .
265+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
266+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
267+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
268+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
269+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
270+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
271+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
272+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
273+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
274+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
275+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
276+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
277+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
278+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
279+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
280+
"\x3e\xe9\xe6\xc1\x4b\x39\xcd\x2e\x60\x5e\x9e\xf1\xd5\xdf\x93\x50" .
281+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
282+
"\x10\x00\x00\x00";
283+
}
284+
285+
1;

src/test/recovery/t/009_twophase.pl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
use PostgreSQL::Test::Utils;
1010
use Test::More;
1111

12+
if (defined($ENV{TDE_MODE}))
13+
{
14+
plan skip_all => "ASSERT triggers in critical section";
15+
}
1216
my $psql_out = '';
1317
my $psql_rc = '';
1418

src/test/recovery/t/013_crash_restart.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
use PostgreSQL::Test::Utils;
1818
use Test::More;
1919

20+
if (defined($ENV{TDE_MODE}))
21+
{
22+
plan skip_all => "could not locate a valid checkpoint record";
23+
}
24+
2025
my $psql_timeout = IPC::Run::timer($PostgreSQL::Test::Utils::timeout_default);
2126

2227
my $node = PostgreSQL::Test::Cluster->new('primary');

src/test/recovery/t/019_replslot_limit.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
use Test::More;
1313
use Time::HiRes qw(usleep);
1414

15+
if (defined($ENV{TDE_MODE}))
16+
{
17+
plan skip_all => "requested WAL segment has already been removed";
18+
}
19+
1520
# Initialize primary node, setting wal-segsize to 1MB
1621
my $node_primary = PostgreSQL::Test::Cluster->new('primary');
1722
$node_primary->init(allows_streaming => 1, extra => ['--wal-segsize=1']);

src/test/recovery/t/020_archive_status.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
use PostgreSQL::Test::Utils;
1111
use Test::More;
1212

13+
if (defined($ENV{TDE_MODE}))
14+
{
15+
plan skip_all => ".history files not archived as expected";
16+
}
17+
1318
my $primary = PostgreSQL::Test::Cluster->new('primary');
1419
$primary->init(
1520
has_archiving => 1,

src/test/recovery/t/024_archive_recovery.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
use Test::More;
1010
use Time::HiRes qw(usleep);
1111

12+
if (defined($ENV{TDE_MODE}))
13+
{
14+
plan skip_all => ".history files not archived as expected";
15+
}
16+
1217
# Initialize and start node with wal_level = replica and WAL archiving
1318
# enabled.
1419
my $node = PostgreSQL::Test::Cluster->new('orig');

0 commit comments

Comments
 (0)