diff -U3 /tmp/cirrus-ci-build/contrib/pg_visibility/expected/pg_visibility.out /tmp/cirrus-ci-build/contrib/pg_visibility/results/pg_visibility.out --- /tmp/cirrus-ci-build/contrib/pg_visibility/expected/pg_visibility.out 2024-09-03 19:04:23.184537621 +0000 +++ /tmp/cirrus-ci-build/contrib/pg_visibility/results/pg_visibility.out 2024-09-03 19:08:22.425812619 +0000 @@ -132,147 +132,7 @@ insert into regular_table values (1, repeat('one', 1000)), (2, repeat('two', 1000)); vacuum (disable_page_skipping) regular_table; select count(*) > 0 from pg_visibility('regular_table'); - ?column? ----------- - t -(1 row) - -select count(*) > 0 from pg_visibility((select reltoastrelid from pg_class where relname = 'regular_table')); - ?column? ----------- - t -(1 row) - -truncate regular_table; -select count(*) > 0 from pg_visibility('regular_table'); - ?column? ----------- - f -(1 row) - -select count(*) > 0 from pg_visibility((select reltoastrelid from pg_class where relname = 'regular_table')); - ?column? ----------- - f -(1 row) - -create materialized view matview_visibility_test as select * from regular_table; -vacuum (disable_page_skipping) matview_visibility_test; -select count(*) > 0 from pg_visibility('matview_visibility_test'); - ?column? ----------- - f -(1 row) - -insert into regular_table values (1), (2); -refresh materialized view matview_visibility_test; -select count(*) > 0 from pg_visibility('matview_visibility_test'); - ?column? ----------- - t -(1 row) - --- regular tables which are part of a partition *do* have visibility maps -insert into test_partition values (1); -vacuum (disable_page_skipping) test_partition; -select count(*) > 0 from pg_visibility('test_partition', 0); - ?column? ----------- - t -(1 row) - -select count(*) > 0 from pg_visibility_map('test_partition'); - ?column? ----------- - t -(1 row) - -select count(*) > 0 from pg_visibility_map_summary('test_partition'); - ?column? ----------- - t -(1 row) - -select * from pg_check_frozen('test_partition'); -- hopefully none - t_ctid --------- -(0 rows) - -select pg_truncate_visibility_map('test_partition'); - pg_truncate_visibility_map ----------------------------- - -(1 row) - --- test copy freeze -create table copyfreeze (a int, b char(1500)); --- load all rows via COPY FREEZE and ensure that all pages are set all-visible --- and all-frozen. -begin; -truncate copyfreeze; -copy copyfreeze from stdin freeze; -commit; -select * from pg_visibility_map('copyfreeze'); - blkno | all_visible | all_frozen --------+-------------+------------ - 0 | t | t - 1 | t | t -(2 rows) - -select * from pg_check_frozen('copyfreeze'); - t_ctid --------- -(0 rows) - --- load half the rows via regular COPY and rest via COPY FREEZE. The pages --- which are touched by regular COPY must not be set all-visible/all-frozen. On --- the other hand, pages allocated by COPY FREEZE should be marked --- all-frozen/all-visible. -begin; -truncate copyfreeze; -copy copyfreeze from stdin; -copy copyfreeze from stdin freeze; -commit; -select * from pg_visibility_map('copyfreeze'); - blkno | all_visible | all_frozen --------+-------------+------------ - 0 | f | f - 1 | f | f - 2 | t | t -(3 rows) - -select * from pg_check_frozen('copyfreeze'); - t_ctid --------- -(0 rows) - --- Try a mix of regular COPY and COPY FREEZE. -begin; -truncate copyfreeze; -copy copyfreeze from stdin freeze; -copy copyfreeze from stdin; -copy copyfreeze from stdin freeze; -commit; -select * from pg_visibility_map('copyfreeze'); - blkno | all_visible | all_frozen --------+-------------+------------ - 0 | t | t - 1 | f | f - 2 | t | t -(3 rows) - -select * from pg_check_frozen('copyfreeze'); - t_ctid --------- -(0 rows) - --- cleanup -drop table test_partitioned; -drop view test_view; -drop sequence test_sequence; -drop foreign table test_foreign_table; -drop server dummy_server; -drop foreign data wrapper dummy; -drop materialized view matview_visibility_test; -drop table regular_table; -drop table copyfreeze; +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection to server was lost