Re: Instability in parallel regression tests - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Instability in parallel regression tests
Date
Msg-id 16738.1521081130@sss.pgh.pa.us
Whole thread Raw
In response to Re: Instability in parallel regression tests  (Thomas Munro <thomas.munro@enterprisedb.com>)
Responses Re: Instability in parallel regression tests  (Thomas Munro <thomas.munro@enterprisedb.com>)
List pgsql-hackers
Thomas Munro <thomas.munro@enterprisedb.com> writes:
> On Thu, Mar 15, 2018 at 12:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Moral: choose names less generic than "test" for globally-visible
>> objects.  I wonder if there's some way we could check for such
>> conflicts automatically?

> Ugh.  Yeah.  Non-temporary table and view names used in more than one .sql file:
> $ ( for F in src/test/regress/sql/*.sql ; do perl -ne '/create
> *(table|view) ([^ (]+)/i && print "$2\n";' < $F | sort | uniq ; done )
> | sort | uniq -d

I've just been investigating this a different way, which is to insert some
quick-hack logging (patch attached for amusement).  I manually filtered
out a bunch of non-problems, in particular discarding names that are in
per-test schemas; I think it's all right to allow tests that are taking
that precaution to do what they like name-wise.  I'm still left with a
bunch of stuff that looks ill-considered.

It's worth singling out the partitioned-table work, in particular, as
deserving of an F on this test.  Those patches have shown no hesitation
about using the same public-schema table names in three or four different
test scripts.  It happens that most of that is in create_table,
alter_table, insert, and update, which happen not to run concurrently;
but I don't think those tests have any business depending on that.

Other thoughts:

* We should simply ban the use of "foo", "bar", "baz", "test...", and
"tmp..." as names; at least, don't do that without adding a prefix or
suffix that is unique to the particular test script.

* The prefix "my_" is not yours.

* We have a project policy that role names created during the tests
should start with "regress_".  Obey that, but don't imagine that
doing so is enough to make your name unique.

Actual or potential trouble spots according to my filtering:

[alter_table] LOG:  CREATING FUNCTION 2200/dummy_hashint4
[insert] LOG:  CREATING FUNCTION 2200/dummy_hashint4
[update] LOG:  CREATING FUNCTION 2200/dummy_hashint4

[rangefuncs] LOG:  CREATING FUNCTION 2200/foo
[rangefuncs] LOG:  CREATING FUNCTION 2200/foo
[rangefuncs] LOG:  CREATING FUNCTION 2200/foo
[rangefuncs] LOG:  CREATING FUNCTION 2200/foo
[rangefuncs] LOG:  CREATING FUNCTION 2200/foo1
[rangefuncs] LOG:  CREATING FUNCTION 2200/foo_mat
[rangefuncs] LOG:  CREATING FUNCTION 2200/foo_sql
[rangefuncs] LOG:  CREATING FUNCTION 2200/foob
[rangefuncs] LOG:  CREATING FUNCTION 2200/foobar
[rangefuncs] LOG:  CREATING FUNCTION 2200/foobar
[select_parallel] LOG:  CREATING FUNCTION 2200/foobar
[rangefuncs] LOG:  CREATING FUNCTION 2200/foor
[rangefuncs] LOG:  CREATING FUNCTION 2200/foot
[plpgsql] LOG:  CREATING FUNCTION 2200/footest
[plpgsql] LOG:  CREATING FUNCTION 2200/footest

[plpgsql] LOG:  CREATING FUNCTION 2200/simple_func
[select_parallel] LOG:  CREATING FUNCTION 2200/simple_func

[create_aggregate] LOG:  CREATING FUNCTION 2200/sum3
[polymorphism] LOG:  CREATING FUNCTION 2200/sum3

[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[create_function_1] LOG:  CREATING FUNCTION 2200/test1
[privileges] LOG:  CREATING FUNCTION 2200/testagg1
[rolenames] LOG:  CREATING FUNCTION 2200/testagg1
[privileges] LOG:  CREATING FUNCTION 2200/testagg1b
[rolenames] LOG:  CREATING FUNCTION 2200/testagg2
[rolenames] LOG:  CREATING FUNCTION 2200/testagg3
[rolenames] LOG:  CREATING FUNCTION 2200/testagg4
[rolenames] LOG:  CREATING FUNCTION 2200/testagg5
[rolenames] LOG:  CREATING FUNCTION 2200/testagg6
[rolenames] LOG:  CREATING FUNCTION 2200/testagg7
[rolenames] LOG:  CREATING FUNCTION 2200/testagg8
[rolenames] LOG:  CREATING FUNCTION 2200/testagg9
would be a live hazard, except the functions have different arguments:
[polymorphism] LOG:  CREATING FUNCTION 2200/testfoo
[polymorphism] LOG:  CREATING FUNCTION 2200/testfoo
[rangefuncs] LOG:  CREATING FUNCTION 2200/testfoo
[rangefuncs] LOG:  CREATING FUNCTION 2200/testfoo
[create_procedure] LOG:  CREATING FUNCTION 2200/testfunc1
[privileges] LOG:  CREATING FUNCTION 2200/testfunc1
[privileges] LOG:  CREATING FUNCTION 2200/testfunc2
[privileges] LOG:  CREATING FUNCTION 2200/testfunc4
[privileges] LOG:  CREATING FUNCTION 2200/testfunc5b
[privileges] LOG:  CREATING FUNCTION 2200/testfunc6b

[select_into] LOG:  CREATING RELATION 102018/tmp1
[select_into] LOG:  CREATING RELATION 102018/tmp1
[select_into] LOG:  CREATING RELATION 102018/tmp2
[select_into] LOG:  CREATING RELATION 102018/tmp2
[select_into] LOG:  CREATING RELATION 102018/tmp3
[select_into] LOG:  CREATING RELATION 102018/tmp3

[alter_table] LOG:  CREATING RELATION 2200/atacc1
[constraints] LOG:  CREATING RELATION 2200/atacc1
[constraints] LOG:  CREATING RELATION 2200/atacc1
[alter_table] LOG:  CREATING RELATION 2200/atacc1_id_seq
[constraints] LOG:  CREATING RELATION 2200/atacc2
[constraints] LOG:  CREATING RELATION 2200/atacc2
[alter_table] LOG:  CREATING RELATION 2200/atacc2_id_key

live hazard:
[join] LOG:  CREATING RELATION 2200/bar
[transactions] LOG:  CREATING RELATION 2200/bar
[transactions] LOG:  CREATING RELATION 2200/barbaz
[transactions] LOG:  CREATING RELATION 2200/baz


[bitmapops] LOG:  CREATING RELATION 2200/bmscantest
[select_parallel] LOG:  CREATING RELATION 2200/bmscantest


[alter_table] LOG:  CREATING RELATION 2200/c1
[alter_table] LOG:  CREATING RELATION 2200/c1
[alter_table] LOG:  CREATING RELATION 2200/c1
[alter_table] LOG:  CREATING RELATION 2200/c1
[alter_table] LOG:  CREATING RELATION 2200/c1
[inherit] LOG:  CREATING RELATION 2200/c1
[inherit] LOG:  CREATING RELATION 2200/c1
[inherit] LOG:  CREATING RELATION 2200/c1
[inherit] LOG:  CREATING RELATION 2200/c2
[inherit] LOG:  CREATING RELATION 2200/c2
[inherit] LOG:  CREATING RELATION 2200/c3

[alter_table] LOG:  CREATING RELATION 2200/child
[alter_table] LOG:  CREATING RELATION 2200/child
[alter_table] LOG:  CREATING RELATION 2200/child
[triggers] LOG:  CREATING RELATION 2200/child
[triggers] LOG:  CREATING RELATION 2200/child
[triggers] LOG:  CREATING RELATION 2200/child1
[triggers] LOG:  CREATING RELATION 2200/child1
[triggers] LOG:  CREATING RELATION 2200/child2
[triggers] LOG:  CREATING RELATION 2200/child2
[triggers] LOG:  CREATING RELATION 2200/child3
[triggers] LOG:  CREATING RELATION 2200/child3
[alter_table] LOG:  CREATING RELATION 2200/child_noinh_convalid

[arrays] LOG:  CREATING RELATION 2200/comptable
[arrays] LOG:  CREATING RELATION 2200/comptype
[domain] LOG:  CREATING RELATION 2200/comptype
[domain] LOG:  CREATING RELATION 2200/comptype
[domain] LOG:  CREATING RELATION 2200/comptype

[alter_table] LOG:  CREATING RELATION 2200/fail_part
[alter_table] LOG:  CREATING RELATION 2200/fail_part
[create_table] LOG:  CREATING RELATION 2200/fail_part
[create_table] LOG:  CREATING RELATION 2200/fail_part
[create_table] LOG:  CREATING RELATION 2200/fail_part_col_not_found

live hazard join vs transactions:
[join] LOG:  CREATING RELATION 2200/foo
[rangefuncs] LOG:  CREATING RELATION 2200/foo
[rules] LOG:  CREATING RELATION 2200/foo
[transactions] LOG:  CREATING RELATION 2200/foo
[rangefuncs] LOG:  CREATING RELATION 2200/foo2
[rangefuncs] LOG:  CREATING RELATION 2200/foo2
[rules] LOG:  CREATING RELATION 2200/foo2
[rangefuncs] LOG:  CREATING RELATION 2200/foo_pkey
[rangefuncs] LOG:  CREATING RELATION 2200/foo_rescan_t
[sequence] LOG:  CREATING RELATION 2200/foo_seq
[transactions] LOG:  CREATING RELATION 2200/foobar
[rules] LOG:  CREATING RELATION 2200/fooview
[rules] LOG:  CREATING RELATION 2200/fooview
[rules] LOG:  CREATING RELATION 2200/fooview
[rules] LOG:  CREATING RELATION 2200/fooview_part

[alter_table] LOG:  CREATING RELATION 2200/hash_parted
[create_table] LOG:  CREATING RELATION 2200/hash_parted
[insert] LOG:  CREATING RELATION 2200/hash_parted
[update] LOG:  CREATING RELATION 2200/hash_parted
[create_table] LOG:  CREATING RELATION 2200/hash_parted2

[insert] LOG:  CREATING RELATION 2200/hpart0
[insert] LOG:  CREATING RELATION 2200/hpart1
[update] LOG:  CREATING RELATION 2200/hpart1
[insert] LOG:  CREATING RELATION 2200/hpart2
[update] LOG:  CREATING RELATION 2200/hpart2
[insert] LOG:  CREATING RELATION 2200/hpart3
[update] LOG:  CREATING RELATION 2200/hpart3
[update] LOG:  CREATING RELATION 2200/hpart4
[alter_table] LOG:  CREATING RELATION 2200/hpart_1
[create_table] LOG:  CREATING RELATION 2200/hpart_1
[alter_table] LOG:  CREATING RELATION 2200/hpart_2
[create_table] LOG:  CREATING RELATION 2200/hpart_2
[create_table] LOG:  CREATING RELATION 2200/hpart_3
[alter_table] LOG:  CREATING RELATION 2200/hpart_5
[alter_table] LOG:  CREATING RELATION 2200/hpart_5_a

[update] LOG:  CREATING RELATION 2200/list_part1
[update] LOG:  CREATING RELATION 2200/list_part1
[plancache] LOG:  CREATING RELATION 2200/list_part_1
[plancache] LOG:  CREATING RELATION 2200/list_part_2
[plancache] LOG:  CREATING RELATION 2200/list_part_def
[plancache] LOG:  CREATING RELATION 2200/list_part_null
[alter_table] LOG:  CREATING RELATION 2200/list_parted
[create_table] LOG:  CREATING RELATION 2200/list_parted
[inherit] LOG:  CREATING RELATION 2200/list_parted
[insert] LOG:  CREATING RELATION 2200/list_parted
[insert] LOG:  CREATING RELATION 2200/list_parted
[plancache] LOG:  CREATING RELATION 2200/list_parted
[update] LOG:  CREATING RELATION 2200/list_parted
[update] LOG:  CREATING RELATION 2200/list_parted
[alter_table] LOG:  CREATING RELATION 2200/list_parted2
[create_table] LOG:  CREATING RELATION 2200/list_parted2
[alter_table] LOG:  CREATING RELATION 2200/list_parted2_def
[create_table] LOG:  CREATING RELATION 2200/list_parted2_def

[inherit] LOG:  CREATING RELATION 2200/mcrparted
[insert] LOG:  CREATING RELATION 2200/mcrparted
[insert] LOG:  CREATING RELATION 2200/mcrparted
[inherit] LOG:  CREATING RELATION 2200/mcrparted0
[insert] LOG:  CREATING RELATION 2200/mcrparted0
[insert] LOG:  CREATING RELATION 2200/mcrparted0
[inherit] LOG:  CREATING RELATION 2200/mcrparted1
[insert] LOG:  CREATING RELATION 2200/mcrparted1
[insert] LOG:  CREATING RELATION 2200/mcrparted1_lt_b
[inherit] LOG:  CREATING RELATION 2200/mcrparted2
[insert] LOG:  CREATING RELATION 2200/mcrparted2
[insert] LOG:  CREATING RELATION 2200/mcrparted2
[insert] LOG:  CREATING RELATION 2200/mcrparted2_b
[inherit] LOG:  CREATING RELATION 2200/mcrparted3
[insert] LOG:  CREATING RELATION 2200/mcrparted3
[insert] LOG:  CREATING RELATION 2200/mcrparted3_c_to_common
[inherit] LOG:  CREATING RELATION 2200/mcrparted4
[insert] LOG:  CREATING RELATION 2200/mcrparted4
[insert] LOG:  CREATING RELATION 2200/mcrparted4
[insert] LOG:  CREATING RELATION 2200/mcrparted4_common_lt_0
[inherit] LOG:  CREATING RELATION 2200/mcrparted5
[insert] LOG:  CREATING RELATION 2200/mcrparted5
[insert] LOG:  CREATING RELATION 2200/mcrparted5_common_0_to_10
[insert] LOG:  CREATING RELATION 2200/mcrparted6_common_ge_10
[insert] LOG:  CREATING RELATION 2200/mcrparted7_gt_common_lt_d
[insert] LOG:  CREATING RELATION 2200/mcrparted8_ge_d
[inherit] LOG:  CREATING RELATION 2200/mcrparted_def

[insert] LOG:  CREATING RELATION 2200/mlparted
[insert] LOG:  CREATING RELATION 2200/mlparted1
[insert] LOG:  CREATING RELATION 2200/mlparted11
[insert] LOG:  CREATING RELATION 2200/mlparted12
[insert] LOG:  CREATING RELATION 2200/mlparted2
[insert] LOG:  CREATING RELATION 2200/mlparted3
[insert] LOG:  CREATING RELATION 2200/mlparted4
[insert] LOG:  CREATING RELATION 2200/mlparted5
[insert] LOG:  CREATING RELATION 2200/mlparted5a
[insert] LOG:  CREATING RELATION 2200/mlparted_def
[insert] LOG:  CREATING RELATION 2200/mlparted_def1
[insert] LOG:  CREATING RELATION 2200/mlparted_def2
[insert] LOG:  CREATING RELATION 2200/mlparted_defd
[inherit] LOG:  CREATING RELATION 2200/mlparted_tab
[inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part1
[inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part2
[inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part2a
[inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part2b
[inherit] LOG:  CREATING RELATION 2200/mlparted_tab_part3

[alter_table] LOG:  CREATING RELATION 2200/p
[alter_table] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p1
[inherit] LOG:  CREATING RELATION 2200/p1
[inherit] LOG:  CREATING RELATION 2200/p1
[inherit] LOG:  CREATING RELATION 2200/p1
[inherit] LOG:  CREATING RELATION 2200/p1
[alter_table] LOG:  CREATING RELATION 2200/p11
[inherit] LOG:  CREATING RELATION 2200/p1_c1
[alter_table] LOG:  CREATING RELATION 2200/p2
[inherit] LOG:  CREATING RELATION 2200/p2
[inherit] LOG:  CREATING RELATION 2200/p2

[alter_table] LOG:  CREATING RELATION 2200/parent
[alter_table] LOG:  CREATING RELATION 2200/parent
[alter_table] LOG:  CREATING RELATION 2200/parent
[alter_table] LOG:  CREATING RELATION 2200/parent
[triggers] LOG:  CREATING RELATION 2200/parent
[triggers] LOG:  CREATING RELATION 2200/parent
[triggers] LOG:  CREATING RELATION 2200/parent
[triggers] LOG:  CREATING RELATION 2200/parent
[triggers] LOG:  CREATING RELATION 2200/parent_b_idx
[alter_table] LOG:  CREATING RELATION 2200/parent_noinh_convalid
[create_table] LOG:  CREATING RELATION 2200/part0
[create_table] LOG:  CREATING RELATION 2200/part00
[alter_table] LOG:  CREATING RELATION 2200/part1
[create_table] LOG:  CREATING RELATION 2200/part1
[insert] LOG:  CREATING RELATION 2200/part1
[create_table] LOG:  CREATING RELATION 2200/part10
[create_table] LOG:  CREATING RELATION 2200/part11
[create_table] LOG:  CREATING RELATION 2200/part12
[alter_table] LOG:  CREATING RELATION 2200/part2
[create_table] LOG:  CREATING RELATION 2200/part2
[insert] LOG:  CREATING RELATION 2200/part2
[create_table] LOG:  CREATING RELATION 2200/part2_1
[alter_table] LOG:  CREATING RELATION 2200/part3
[create_table] LOG:  CREATING RELATION 2200/part3
[insert] LOG:  CREATING RELATION 2200/part3
[create_table] LOG:  CREATING RELATION 2200/part4
[insert] LOG:  CREATING RELATION 2200/part4
[alter_table] LOG:  CREATING RELATION 2200/part5_def
[alter_table] LOG:  CREATING RELATION 2200/part5_def_p1
[alter_table] LOG:  CREATING RELATION 2200/part5_p1
[alter_table] LOG:  CREATING RELATION 2200/part_1
[create_table] LOG:  CREATING RELATION 2200/part_1
[inherit] LOG:  CREATING RELATION 2200/part_10_20
[inherit] LOG:  CREATING RELATION 2200/part_10_20_ab
[inherit] LOG:  CREATING RELATION 2200/part_10_20_cd
[inherit] LOG:  CREATING RELATION 2200/part_1_10
[inherit] LOG:  CREATING RELATION 2200/part_1_10_ab
[inherit] LOG:  CREATING RELATION 2200/part_1_10_cd
[alter_table] LOG:  CREATING RELATION 2200/part_2
[create_table] LOG:  CREATING RELATION 2200/part_2
[inherit] LOG:  CREATING RELATION 2200/part_21_30
[inherit] LOG:  CREATING RELATION 2200/part_21_30_ab
[inherit] LOG:  CREATING RELATION 2200/part_21_30_cd
[alter_table] LOG:  CREATING RELATION 2200/part_3
[alter_table] LOG:  CREATING RELATION 2200/part_3_4
[inherit] LOG:  CREATING RELATION 2200/part_40_inf
[inherit] LOG:  CREATING RELATION 2200/part_40_inf_ab
[inherit] LOG:  CREATING RELATION 2200/part_40_inf_cd
[inherit] LOG:  CREATING RELATION 2200/part_40_inf_null
[alter_table] LOG:  CREATING RELATION 2200/part_5
[alter_table] LOG:  CREATING RELATION 2200/part_55_66
[alter_table] LOG:  CREATING RELATION 2200/part_5_a
[alter_table] LOG:  CREATING RELATION 2200/part_6
[alter_table] LOG:  CREATING RELATION 2200/part_7
[alter_table] LOG:  CREATING RELATION 2200/part_7_a_null
[create_table] LOG:  CREATING RELATION 2200/part_a
[update] LOG:  CREATING RELATION 2200/part_a_10_a_20
[update] LOG:  CREATING RELATION 2200/part_a_1_a_10
[insert] LOG:  CREATING RELATION 2200/part_aa_bb
[create_table] LOG:  CREATING RELATION 2200/part_ab
[inherit] LOG:  CREATING RELATION 2200/part_ab_cd
[create_table] LOG:  CREATING RELATION 2200/part_b
[update] LOG:  CREATING RELATION 2200/part_b_10_b_20
[update] LOG:  CREATING RELATION 2200/part_b_1_b_10
[update] LOG:  CREATING RELATION 2200/part_b_20_b_30
[create_table] LOG:  CREATING RELATION 2200/part_c
[update] LOG:  CREATING RELATION 2200/part_c_100_200
[create_table] LOG:  CREATING RELATION 2200/part_c_1_10
[update] LOG:  CREATING RELATION 2200/part_c_1_100
[insert] LOG:  CREATING RELATION 2200/part_cc_dd
[insert_conflict] LOG:  CREATING RELATION 2200/part_comp_key_index
[update] LOG:  CREATING RELATION 2200/part_d_15_20
[update] LOG:  CREATING RELATION 2200/part_d_1_15
[insert] LOG:  CREATING RELATION 2200/part_def
[update] LOG:  CREATING RELATION 2200/part_def
[create_table] LOG:  CREATING RELATION 2200/part_default
[insert] LOG:  CREATING RELATION 2200/part_default
[insert] LOG:  CREATING RELATION 2200/part_default
[insert] LOG:  CREATING RELATION 2200/part_default
[insert] LOG:  CREATING RELATION 2200/part_default_p1
[insert] LOG:  CREATING RELATION 2200/part_default_p2
[insert] LOG:  CREATING RELATION 2200/part_ee_ff
[insert] LOG:  CREATING RELATION 2200/part_ee_ff1
[insert] LOG:  CREATING RELATION 2200/part_ee_ff2
[insert] LOG:  CREATING RELATION 2200/part_ee_ff3
[insert] LOG:  CREATING RELATION 2200/part_ee_ff3_1
[insert] LOG:  CREATING RELATION 2200/part_ee_ff3_2
[inherit] LOG:  CREATING RELATION 2200/part_ef_gh
[create_table] LOG:  CREATING RELATION 2200/part_forced_oids
[insert] LOG:  CREATING RELATION 2200/part_gg
[insert] LOG:  CREATING RELATION 2200/part_gg1
[insert] LOG:  CREATING RELATION 2200/part_gg2
[insert] LOG:  CREATING RELATION 2200/part_gg2_1
[insert] LOG:  CREATING RELATION 2200/part_gg2_2
[create_table] LOG:  CREATING RELATION 2200/part_null
[insert] LOG:  CREATING RELATION 2200/part_null
[inherit] LOG:  CREATING RELATION 2200/part_null_xy
[create_table] LOG:  CREATING RELATION 2200/part_null_z
[alter_table] LOG:  CREATING RELATION 2200/part_rp
[insert] LOG:  CREATING RELATION 2200/part_xx_yy
[insert] LOG:  CREATING RELATION 2200/part_xx_yy_defpart
[insert] LOG:  CREATING RELATION 2200/part_xx_yy_p1
[create_table] LOG:  CREATING RELATION 2200/parted
[triggers] LOG:  CREATING RELATION 2200/parted2_stmt_trig
[triggers] LOG:  CREATING RELATION 2200/parted2_stmt_trig1
[triggers] LOG:  CREATING RELATION 2200/parted2_stmt_trig2
[create_table] LOG:  CREATING RELATION 2200/parted_col_comment
[insert_conflict] LOG:  CREATING RELATION 2200/parted_conflict_test
[insert_conflict] LOG:  CREATING RELATION 2200/parted_conflict_test_1
[insert_conflict] LOG:  CREATING RELATION 2200/parted_conflict_test_1_b_key
[inherit] LOG:  CREATING RELATION 2200/parted_minmax
[inherit] LOG:  CREATING RELATION 2200/parted_minmax1
[inherit] LOG:  CREATING RELATION 2200/parted_minmax1i
[alter_table] LOG:  CREATING RELATION 2200/parted_no_parts
[tablesample] LOG:  CREATING RELATION 2200/parted_sample
[tablesample] LOG:  CREATING RELATION 2200/parted_sample_1
[tablesample] LOG:  CREATING RELATION 2200/parted_sample_2
[triggers] LOG:  CREATING RELATION 2200/parted_stmt_trig
[triggers] LOG:  CREATING RELATION 2200/parted_stmt_trig1
[triggers] LOG:  CREATING RELATION 2200/parted_stmt_trig2
[inherit] LOG:  CREATING RELATION 2200/parted_tab
[inherit] LOG:  CREATING RELATION 2200/parted_tab_part1
[inherit] LOG:  CREATING RELATION 2200/parted_tab_part2
[inherit] LOG:  CREATING RELATION 2200/parted_tab_part3
[rules] LOG:  CREATING RELATION 2200/parted_table
[rules] LOG:  CREATING RELATION 2200/parted_table_1
[alter_table] LOG:  CREATING RELATION 2200/parted_validate_test
[alter_table] LOG:  CREATING RELATION 2200/parted_validate_test_1
[insert_conflict] LOG:  CREATING RELATION 2200/partial_key_index
[alter_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned
[create_table] LOG:  CREATING RELATION 2200/partitioned2
[plpgsql] LOG:  CREATING RELATION 2200/partitioned_table

[updatable_views] LOG:  CREATING RELATION 2200/pt
[foreign_data] LOG:  CREATING RELATION 2200/pt1
[join] LOG:  CREATING RELATION 2200/pt1
[updatable_views] LOG:  CREATING RELATION 2200/pt1
[updatable_views] LOG:  CREATING RELATION 2200/pt11
[join] LOG:  CREATING RELATION 2200/pt1p1
[join] LOG:  CREATING RELATION 2200/pt1p1p1
[join] LOG:  CREATING RELATION 2200/pt1p2
[foreign_data] LOG:  CREATING RELATION 2200/pt2
[foreign_data] LOG:  CREATING RELATION 2200/pt2_1
[foreign_data] LOG:  CREATING RELATION 2200/pt2_1
[foreign_data] LOG:  CREATING RELATION 2200/pt2_1
[plpgsql] LOG:  CREATING RELATION 2200/pt_part1
[plpgsql] LOG:  CREATING RELATION 2200/pt_part2

[inherit] LOG:  CREATING RELATION 2200/range_list_parted
[alter_table] LOG:  CREATING RELATION 2200/range_parted
[create_table] LOG:  CREATING RELATION 2200/range_parted
[insert] LOG:  CREATING RELATION 2200/range_parted
[update] LOG:  CREATING RELATION 2200/range_parted
[alter_table] LOG:  CREATING RELATION 2200/range_parted2
[create_table] LOG:  CREATING RELATION 2200/range_parted2
[create_table] LOG:  CREATING RELATION 2200/range_parted3
[create_table] LOG:  CREATING RELATION 2200/range_parted4
[create_table] LOG:  CREATING RELATION 2200/range_parted4_1
[create_table] LOG:  CREATING RELATION 2200/range_parted4_2
[create_table] LOG:  CREATING RELATION 2200/range_parted4_3

[sequence] LOG:  CREATING RELATION 2200/seq
[updatable_views] LOG:  CREATING RELATION 2200/seq
[sequence] LOG:  CREATING RELATION 2200/seq2
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3
[sequence] LOG:  CREATING RELATION 2200/seq3

[join] LOG:  CREATING RELATION 2200/t1
[privileges] LOG:  CREATING RELATION 2200/t1
[updatable_views] LOG:  CREATING RELATION 2200/t1
[updatable_views] LOG:  CREATING RELATION 2200/t1
[updatable_views] LOG:  CREATING RELATION 2200/t1
[updatable_views] LOG:  CREATING RELATION 2200/t11
[updatable_views] LOG:  CREATING RELATION 2200/t111
[updatable_views] LOG:  CREATING RELATION 2200/t111_a_idx
[updatable_views] LOG:  CREATING RELATION 2200/t11_a_idx
[updatable_views] LOG:  CREATING RELATION 2200/t12
[updatable_views] LOG:  CREATING RELATION 2200/t12_a_idx
[updatable_views] LOG:  CREATING RELATION 2200/t1_a_idx
[privileges] LOG:  CREATING RELATION 2200/t1_pkey
[join] LOG:  CREATING RELATION 2200/t2
[updatable_views] LOG:  CREATING RELATION 2200/t2
[join] LOG:  CREATING RELATION 2200/t3
[alter_table] LOG:  CREATING RELATION 2200/tab1
[alter_table] LOG:  CREATING RELATION 2200/tab2
[triggers] LOG:  CREATING RELATION 2200/table1
[triggers] LOG:  CREATING RELATION 2200/table2

[alter_table] LOG:  CREATING RELATION 2200/test
[with] LOG:  CREATING RELATION 2200/test
[alter_table] LOG:  CREATING RELATION 2200/test1
[copyselect] LOG:  CREATING RELATION 2200/test1
[privileges] LOG:  CREATING RELATION 2200/test10b
[privileges] LOG:  CREATING RELATION 2200/test11b
[copyselect] LOG:  CREATING RELATION 2200/test1_id_seq
[alter_table] LOG:  CREATING RELATION 2200/test2
[copyselect] LOG:  CREATING RELATION 2200/test2
[copyselect] LOG:  CREATING RELATION 2200/test2_id_seq
[copyselect] LOG:  CREATING RELATION 2200/test3
[privileges] LOG:  CREATING RELATION 2200/test5b
[privileges] LOG:  CREATING RELATION 2200/test6b
[privileges] LOG:  CREATING RELATION 2200/test7b
[privileges] LOG:  CREATING RELATION 2200/test8a
[privileges] LOG:  CREATING RELATION 2200/test8b
[privileges] LOG:  CREATING RELATION 2200/test9a
[privileges] LOG:  CREATING RELATION 2200/test9b
[rules] LOG:  CREATING RELATION 2200/test_1
[rules] LOG:  CREATING RELATION 2200/test_1_pkey
[rules] LOG:  CREATING RELATION 2200/test_2
[rules] LOG:  CREATING RELATION 2200/test_2_pkey
[rules] LOG:  CREATING RELATION 2200/test_3
[rules] LOG:  CREATING RELATION 2200/test_3_pkey
[alter_table] LOG:  CREATING RELATION 2200/test_add_column
[inherit] LOG:  CREATING RELATION 2200/test_constraints
[inherit] LOG:  CREATING RELATION 2200/test_constraints_inh
[inherit] LOG:  CREATING RELATION 2200/test_constraints_val1_val2_key
[alter_table] LOG:  CREATING RELATION 2200/test_drop_constr_child
[alter_table] LOG:  CREATING RELATION 2200/test_drop_constr_parent
[inherit] LOG:  CREATING RELATION 2200/test_ex_constraints
[inherit] LOG:  CREATING RELATION 2200/test_ex_constraints_c_excl
[inherit] LOG:  CREATING RELATION 2200/test_ex_constraints_inh
[drop_if_exists] LOG:  CREATING RELATION 2200/test_exists
[inherit] LOG:  CREATING RELATION 2200/test_foreign_constraints
[inherit] LOG:  CREATING RELATION 2200/test_foreign_constraints_inh
[select_having] LOG:  CREATING RELATION 2200/test_having
[drop_if_exists] LOG:  CREATING RELATION 2200/test_index_exists
[alter_table] LOG:  CREATING RELATION 2200/test_inh_check
[alter_table] LOG:  CREATING RELATION 2200/test_inh_check_child
[create_table_like] LOG:  CREATING RELATION 2200/test_like_id_1
[create_table_like] LOG:  CREATING RELATION 2200/test_like_id_1_a_seq
[create_table_like] LOG:  CREATING RELATION 2200/test_like_id_2
[create_table_like] LOG:  CREATING RELATION 2200/test_like_id_3
[create_table_like] LOG:  CREATING RELATION 2200/test_like_id_3_a_seq
[select_implicit] LOG:  CREATING RELATION 2200/test_missing_target
[select_implicit] LOG:  CREATING RELATION 2200/test_missing_target2
[select_implicit] LOG:  CREATING RELATION 2200/test_missing_target3
[inherit] LOG:  CREATING RELATION 2200/test_primary_constraints
[inherit] LOG:  CREATING RELATION 2200/test_primary_constraints_pkey
[rangetypes] LOG:  CREATING RELATION 2200/test_range_elem
[rangetypes] LOG:  CREATING RELATION 2200/test_range_elem_idx
[rangetypes] LOG:  CREATING RELATION 2200/test_range_excl
[rangetypes] LOG:  CREATING RELATION 2200/test_range_excl_room_during_excl
[rangetypes] LOG:  CREATING RELATION 2200/test_range_excl_speaker_during_excl
[rangetypes] LOG:  CREATING RELATION 2200/test_range_gist
[rangetypes] LOG:  CREATING RELATION 2200/test_range_gist_idx
[rangetypes] LOG:  CREATING RELATION 2200/test_range_gist_idx
[rangetypes] LOG:  CREATING RELATION 2200/test_range_spgist
[rangetypes] LOG:  CREATING RELATION 2200/test_range_spgist_idx
[rangetypes] LOG:  CREATING RELATION 2200/test_range_spgist_idx
[sequence] LOG:  CREATING RELATION 2200/test_seq1
[alter_table] LOG:  CREATING RELATION 2200/test_storage
[tablesample] LOG:  CREATING RELATION 2200/test_tablesample
[tablesample] LOG:  CREATING RELATION 2200/test_tablesample_v1
[tablesample] LOG:  CREATING RELATION 2200/test_tablesample_v2
[alter_table] LOG:  CREATING RELATION 2200/test_tbl1
[alter_table] LOG:  CREATING RELATION 2200/test_tbl2
[alter_table] LOG:  CREATING RELATION 2200/test_tbl2_subclass
[alter_table] LOG:  CREATING RELATION 2200/test_tbl3
[alter_table] LOG:  CREATING RELATION 2200/test_tblx
[tsearch] LOG:  CREATING RELATION 2200/test_tsquery
[create_table] LOG:  CREATING RELATION 2200/test_tsvector
[alter_table] LOG:  CREATING RELATION 2200/test_type
[alter_table] LOG:  CREATING RELATION 2200/test_type1
[alter_table] LOG:  CREATING RELATION 2200/test_type2
[alter_table] LOG:  CREATING RELATION 2200/test_type3
[alter_table] LOG:  CREATING RELATION 2200/test_type_diff
[alter_table] LOG:  CREATING RELATION 2200/test_type_diff2
[alter_table] LOG:  CREATING RELATION 2200/test_type_diff2_c1
[alter_table] LOG:  CREATING RELATION 2200/test_type_diff2_c2
[alter_table] LOG:  CREATING RELATION 2200/test_type_diff2_c3
[alter_table] LOG:  CREATING RELATION 2200/test_type_diff_c
[alter_table] LOG:  CREATING RELATION 2200/test_type_empty
[drop_if_exists] LOG:  CREATING RELATION 2200/test_type_exists
[alter_table] LOG:  CREATING RELATION 2200/test_typex
[drop_if_exists] LOG:  CREATING RELATION 2200/test_view_exists
[combocid] LOG:  CREATING RELATION 2200/testcase
[combocid] LOG:  CREATING RELATION 2200/testcase_pkey
[create_table] LOG:  CREATING RELATION 2200/testjsonb
[insert_conflict] LOG:  CREATING RELATION 2200/testoids
[insert_conflict] LOG:  CREATING RELATION 2200/testoids_pkey
[publication] LOG:  CREATING RELATION 2200/testpub_parted
[publication] LOG:  CREATING RELATION 2200/testpub_tbl1
[publication] LOG:  CREATING RELATION 2200/testpub_tbl1_id_seq
[publication] LOG:  CREATING RELATION 2200/testpub_tbl1_pkey
[publication] LOG:  CREATING RELATION 2200/testpub_tbl2
[publication] LOG:  CREATING RELATION 2200/testpub_tbl2_id_seq
[publication] LOG:  CREATING RELATION 2200/testpub_tbl2_pkey
[publication] LOG:  CREATING RELATION 2200/testpub_tbl3
[publication] LOG:  CREATING RELATION 2200/testpub_tbl3a
[publication] LOG:  CREATING RELATION 2200/testpub_view
[rolenames] LOG:  CREATING RELATION 2200/testtab1
[rolenames] LOG:  CREATING RELATION 2200/testtab2
[rolenames] LOG:  CREATING RELATION 2200/testtab3
[rolenames] LOG:  CREATING RELATION 2200/testtab4
[rolenames] LOG:  CREATING RELATION 2200/testtab5
[rolenames] LOG:  CREATING RELATION 2200/testtab6
[privileges] LOG:  CREATING RELATION 2200/testtype1
[rowtypes] LOG:  CREATING RELATION 2200/testtype1
[rowtypes] LOG:  CREATING RELATION 2200/testtype1
[rowtypes] LOG:  CREATING RELATION 2200/testtype2
[rowtypes] LOG:  CREATING RELATION 2200/testtype3
[rowtypes] LOG:  CREATING RELATION 2200/testtype3
[rowtypes] LOG:  CREATING RELATION 2200/testtype4
[rowtypes] LOG:  CREATING RELATION 2200/testtype5
[rowtypes] LOG:  CREATING RELATION 2200/testtype5
[rowtypes] LOG:  CREATING RELATION 2200/testtype6
[rowtypes] LOG:  CREATING RELATION 2200/testtype6

[alter_table] LOG:  CREATING RELATION 2200/tmp
[alter_table] LOG:  CREATING RELATION 2200/tmp
[alter_table] LOG:  CREATING RELATION 2200/tmp
[alter_table] LOG:  CREATING RELATION 2200/tmp
[constraints] LOG:  CREATING RELATION 2200/tmp
[select] LOG:  CREATING RELATION 2200/tmp
[select_into] LOG:  CREATING RELATION 2200/tmp1
[select_into] LOG:  CREATING RELATION 2200/tmp1
[alter_table] LOG:  CREATING RELATION 2200/tmp2
[alter_table] LOG:  CREATING RELATION 2200/tmp2_pkey
[alter_table] LOG:  CREATING RELATION 2200/tmp3
[alter_table] LOG:  CREATING RELATION 2200/tmp4
[alter_table] LOG:  CREATING RELATION 2200/tmp4_a_b_key
[alter_table] LOG:  CREATING RELATION 2200/tmp5
[alter_table] LOG:  CREATING RELATION 2200/tmp6
[alter_table] LOG:  CREATING RELATION 2200/tmp7
[alter_table] LOG:  CREATING RELATION 2200/tmp_array
[alter_table] LOG:  CREATING RELATION 2200/tmp_array
[alter_table] LOG:  CREATING RELATION 2200/tmp_array2
[alter_table] LOG:  CREATING RELATION 2200/tmp_idx
[alter_table] LOG:  CREATING RELATION 2200/tmp_view
[indirect_toast] LOG:  CREATING RELATION 2200/toasttest
[strings] LOG:  CREATING RELATION 2200/toasttest
[strings] LOG:  CREATING RELATION 2200/toasttest
[strings] LOG:  CREATING RELATION 2200/toasttest

[alter_table] LOG:  CREATING RELATION 2200/unlogged1
[create_table] LOG:  CREATING RELATION 2200/unlogged1
[alter_table] LOG:  CREATING RELATION 2200/unlogged1_f1_seq
[alter_table] LOG:  CREATING RELATION 2200/unlogged1_pkey
[create_table] LOG:  CREATING RELATION 2200/unlogged1_pkey
[alter_table] LOG:  CREATING RELATION 2200/unlogged2
[create_table] LOG:  CREATING RELATION 2200/unlogged2
[alter_table] LOG:  CREATING RELATION 2200/unlogged2_f1_seq
[alter_table] LOG:  CREATING RELATION 2200/unlogged2_pkey
[create_table] LOG:  CREATING RELATION 2200/unlogged2_pkey
[alter_table] LOG:  CREATING RELATION 2200/unlogged3
[alter_table] LOG:  CREATING RELATION 2200/unlogged3_f1_seq
[alter_table] LOG:  CREATING RELATION 2200/unlogged3_pkey
[create_index] LOG:  CREATING RELATION 2200/unlogged_hash_index
[create_index] LOG:  CREATING RELATION 2200/unlogged_hash_table
[alter_table] LOG:  CREATING RELATION 2200/unparted
[create_table] LOG:  CREATING RELATION 2200/unparted

[alter_table] LOG:  CREATING RELATION 2200/xxx
[with] LOG:  CREATING RELATION 2200/z
[with] LOG:  CREATING RELATION 2200/z_k_key

[alter_generic] LOG:  CREATING ROLE regress_alter_user1
[alter_table] LOG:  CREATING ROLE regress_alter_user1
[alter_generic] LOG:  CREATING ROLE regress_alter_user2
[alter_generic] LOG:  CREATING ROLE regress_alter_user3
[alter_generic] LOG:  CREATING ROLE regress_alter_user5
[alter_generic] LOG:  CREATING ROLE regress_alter_user6

[create_procedure] LOG:  CREATING ROLE regress_user1
[identity] LOG:  CREATING ROLE regress_user1
[privileges] LOG:  CREATING ROLE regress_user1
[privileges] LOG:  CREATING ROLE regress_user2
[privileges] LOG:  CREATING ROLE regress_user3
[privileges] LOG:  CREATING ROLE regress_user4
[privileges] LOG:  CREATING ROLE regress_user5

[rolenames] LOG:  CREATING ROLE session_user
[insert] LOG:  CREATING ROLE someone_else
[rolenames] LOG:  CREATING ROLE user

[create_view] LOG:  CREATING SCHEMA test_schema
[rolenames] LOG:  CREATING SCHEMA test_schema
[namespace] LOG:  CREATING SCHEMA test_schema_1

Some of these test pairs have enough conflicts that it may
not be worth the work to eliminate them.  Not sure just what
to change here.

            regards, tom lane

diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 3d80ff9..59b37fe 100644
*** a/src/backend/catalog/heap.c
--- b/src/backend/catalog/heap.c
***************
*** 40,45 ****
--- 40,46 ----
  #include "catalog/dependency.h"
  #include "catalog/heap.h"
  #include "catalog/index.h"
+ #include "catalog/namespace.h"
  #include "catalog/objectaccess.h"
  #include "catalog/partition.h"
  #include "catalog/pg_attrdef.h"
*************** InsertPgClassTuple(Relation pg_class_des
*** 828,833 ****
--- 829,838 ----
       */
      HeapTupleSetOid(tup, new_rel_oid);

+     if (!isTempNamespace(rd_rel->relnamespace))
+         elog(LOG, "CREATING RELATION %u/%s",
+              rd_rel->relnamespace, RelationGetRelationName(new_rel_desc));
+
      /* finally insert the new tuple, update the indexes, and clean up */
      CatalogTupleInsert(pg_class_desc, tup);

diff --git a/src/backend/catalog/pg_namespace.c b/src/backend/catalog/pg_namespace.c
index 2cf52be..a331b9c 100644
*** a/src/backend/catalog/pg_namespace.c
--- b/src/backend/catalog/pg_namespace.c
*************** NamespaceCreate(const char *nspName, Oid
*** 87,92 ****
--- 87,94 ----

      tup = heap_form_tuple(tupDesc, values, nulls);

+     elog(LOG, "CREATING SCHEMA %s", nspName);
+
      nspoid = CatalogTupleInsert(nspdesc, tup);
      Assert(OidIsValid(nspoid));

diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
index 466ff03..42b1a2f 100644
*** a/src/backend/catalog/pg_proc.c
--- b/src/backend/catalog/pg_proc.c
***************
*** 18,23 ****
--- 18,24 ----
  #include "access/xact.h"
  #include "catalog/dependency.h"
  #include "catalog/indexing.h"
+ #include "catalog/namespace.h"
  #include "catalog/objectaccess.h"
  #include "catalog/pg_language.h"
  #include "catalog/pg_namespace.h"
*************** ProcedureCreate(const char *procedureNam
*** 576,581 ****
--- 577,587 ----
              nulls[Anum_pg_proc_proacl - 1] = true;

          tup = heap_form_tuple(tupDesc, values, nulls);
+
+         if (!isTempNamespace(procNamespace))
+             elog(LOG, "CREATING FUNCTION %u/%s",
+                  procNamespace, procedureName);
+
          CatalogTupleInsert(rel, tup);
          is_update = false;
      }
diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c
index 71c5caa..b66a933 100644
*** a/src/backend/commands/user.c
--- b/src/backend/commands/user.c
*************** CreateRole(ParseState *pstate, CreateRol
*** 440,445 ****
--- 440,447 ----
          binary_upgrade_next_pg_authid_oid = InvalidOid;
      }

+     elog(LOG, "CREATING ROLE %s", stmt->role);
+
      /*
       * Insert new record in the pg_authid table
       */

pgsql-hackers by date:

Previous
From: Claudio Freire
Date:
Subject: Re: Faster inserts with mostly-monotonically increasing values
Next
From: Tom Lane
Date:
Subject: Re: JIT compiling with LLVM v11