Update the partitioned table with pg_tde, as the default table access method crashes the server
Reproducible test case
Note: Occasionally the test case runs without a problem, and requires two or three tries to reproduce the crash
SET default_table_access_method TO 'pg_tde';
drop table if exists mlparted_tab cascade;
drop table if exists some_tab cascade;
drop table if exists some_tab_child cascade;
create table some_tab (a int) ;
insert into some_tab values (0);
create table some_tab_child () inherits (some_tab);
insert into some_tab_child values (1);
create table mlparted_tab (a int, b char, c text) partition by list (a) ;
create table mlparted_tab_part1 partition of mlparted_tab for values in (1);
create table mlparted_tab_part2 partition of mlparted_tab for values in (2) partition by list (b);
create table mlparted_tab_part3 partition of mlparted_tab for values in (3);
create table mlparted_tab_part2a partition of mlparted_tab_part2 for values in ('a');
create table mlparted_tab_part2b partition of mlparted_tab_part2 for values in ('b');
insert into mlparted_tab values (1, 'a'), (2, 'a'), (2, 'b'), (3, 'a');
UPDATE mlparted_tab mlp set c = 'xxx'
FROM
(SELECT a from some_tab union all select a+1 from some_tab) ss (a)
WHERE (mlp.a = ss.a and mlp.b = 'b') or mlp.a = 3;
select tableoid::regclass::text as relname, mlparted_tab.* from mlparted_tab order by 1,2;
Update the partitioned table with pg_tde, as the default table access method crashes the server
Reproducible test case Note: Occasionally the test case runs without a problem, and requires two or three tries to reproduce the crash