2 # src/test/regress/parallel_schedule
4 # Most test scripts can be run after running just test_setup and possibly
5 # create_index. Exceptions to this rule are documented below.
7 # By convention, we put no more than twenty tests in any one parallel group;
8 # this limits the number of connections needed to run the tests.
11 # required setup steps
15 # The first group of parallel tests
17 test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric txid uuid enum money rangetypes pg_lsn regproc
20 # The second group of parallel tests
21 # multirangetypes depends on rangetypes
22 # multirangetypes shouldn't run concurrently with type_sanity
24 test: strings md5 numerology point lseg line box path polygon circle date time timetz timestamp timestamptz interval inet macaddr macaddr8 multirangetypes
27 # Another group of parallel tests
28 # geometry depends on point, lseg, line, box, path, polygon, circle
29 # horology depends on date, time, timetz, timestamp, timestamptz, interval
31 test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc
34 # Load huge amounts of data
35 # We should split the data files into single files and then
36 # execute two copy tests in parallel, to check that copy itself
39 test: copy copyselect copydml insert insert_conflict
42 # More groups of parallel tests
43 # Note: many of the tests in later groups depend on create_index
45 test: create_function_c create_misc create_operator create_procedure create_table create_type create_schema
46 test: create_index create_index_spgist create_view index_including index_including_gist
49 # Another group of parallel tests
51 test: create_aggregate create_function_sql create_cast constraints triggers select inherit typed_table vacuum drop_if_exists updatable_views roleattributes create_am hash_func errors infinite_recurse
54 # sanity_check does a vacuum, affecting the sort order of SELECT *
55 # results. So it should not run parallel to other tests.
60 # Another group of parallel tests
61 # aggregates depends on create_aggregate
62 # join depends on create_misc
64 test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates transactions random portals arrays btree_index hash_index update delete namespace prepared_xacts
67 # Another group of parallel tests
69 test: brin gin gist spgist privileges init_privs security_label collate matview lock replica_identity rowsecurity object_address tablesample groupingsets drop_operator password identity generated join_hash
72 # Additional BRIN tests
74 test: brin_bloom brin_multi
77 # Another group of parallel tests
78 # psql depends on create_am
79 # amutils depends on geometry, create_index_spgist, hash_index, brin
81 test: create_table_like alter_generic alter_operator misc async dbsize merge misc_functions sysviews tsrf tid tidscan tidrangescan collate.icu.utf8 incremental_sort create_role
83 # collate.*.utf8 tests cannot be run in parallel with each other
84 test: rules psql psql_crosstab amutils stats_ext collate.linux.utf8 collate.windows.win1252
87 # Run these alone so they don't run out of parallel workers
88 # select_parallel depends on create_misc
94 # no relation related tests can be put in this group
95 test: publication subscription
98 # Another group of parallel tests
99 # select_views depends on create_view
101 test: select_views portals_p2 foreign_key cluster dependency guc bitmapops combocid tsearch tsdicts foreign_data window xmlmap functional_deps advisory_lock indirect_toast equivclass
104 # Another group of parallel tests (JSON related)
106 test: json jsonb json_encoding jsonpath jsonpath_encoding jsonb_jsonpath sqljson
109 # Another group of parallel tests
110 # with depends on create_misc
111 # NB: temp.sql does a reconnect which transiently uses 2 connections,
112 # so keep this parallel group to at most 19 tests
114 test: plancache limit plpgsql copy2 temp domain rangefuncs prepare conversion truncate alter_table sequence polymorphism rowtypes returning largeobject with xml
117 # Another group of parallel tests
119 # The stats test resets stats, so nothing else needing stats access can be in
122 test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain compression memoize stats
124 # event_trigger cannot run concurrently with any test that runs DDL
125 # oidjoins is read-only, though, and should run late for best coverage
126 test: event_trigger oidjoins
128 # this test also uses event triggers, so likewise run it by itself
131 # run tablespace test at the end because it drops the tablespace created during
132 # setup that other tests may use.