@ -429,7 +429,211 @@ my %tests = (
unlike = > {
no_privs = > 1 ,
pg_dumpall_globals = > 1 ,
section_post_data = > 1 , } , } , ) ;
section_post_data = > 1 , } , } ,
# Objects included in extension part of a schema created by this extension */
'CREATE TABLE regress_pg_dump_schema.test_table' = > {
regexp = > qr / ^
\ QCREATE TABLE test_table ( \ E
\ n \ s + \ Qcol1 integer , \ E
\ n \ s + \ Qcol2 integer \ E
\ n \ ) ; $ / xm ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_privs = > 1 ,
no_owner = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'GRANT SELECT ON regress_pg_dump_schema.test_table' = > {
regexp = > qr / ^
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( true ) ; \ E \ n
\ QGRANT SELECT ON TABLE test_table TO regress_dump_test_role ; \ E \ n
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( false ) ; \ E
$ / xms ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_owner = > 1 ,
no_privs = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'CREATE SEQUENCE regress_pg_dump_schema.test_seq' = > {
regexp = > qr / ^
\ QCREATE SEQUENCE test_seq \ E
\ n \ s + \ QSTART WITH 1 \ E
\ n \ s + \ QINCREMENT BY 1 \ E
\ n \ s + \ QNO MINVALUE \ E
\ n \ s + \ QNO MAXVALUE \ E
\ n \ s + \ QCACHE 1 ; \ E
$ / xm ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_privs = > 1 ,
no_owner = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'GRANT USAGE ON regress_pg_dump_schema.test_seq' = > {
regexp = > qr / ^
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( true ) ; \ E \ n
\ QGRANT USAGE ON SEQUENCE test_seq TO regress_dump_test_role ; \ E \ n
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( false ) ; \ E
$ / xms ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_owner = > 1 ,
no_privs = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'CREATE TYPE regress_pg_dump_schema.test_type' = > {
regexp = > qr / ^
\ QCREATE TYPE test_type AS ( \ E
\ n \ s + \ Qcol1 integer \ E
\ n \ ) ; $ / xm ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_privs = > 1 ,
no_owner = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'GRANT USAGE ON regress_pg_dump_schema.test_type' = > {
regexp = > qr / ^
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( true ) ; \ E \ n
\ QGRANT ALL ON TYPE test_type TO regress_dump_test_role ; \ E \ n
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( false ) ; \ E
$ / xms ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_owner = > 1 ,
no_privs = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'CREATE FUNCTION regress_pg_dump_schema.test_func' = > {
regexp = > qr / ^
\ QCREATE FUNCTION test_func ( ) RETURNS integer \ E
\ n \ s + \ QLANGUAGE sql \ E
$ / xm ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_privs = > 1 ,
no_owner = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'GRANT ALL ON regress_pg_dump_schema.test_func' = > {
regexp = > qr / ^
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( true ) ; \ E \ n
\ QGRANT ALL ON FUNCTION test_func ( ) TO regress_dump_test_role ; \ E \ n
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( false ) ; \ E
$ / xms ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_owner = > 1 ,
no_privs = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'CREATE AGGREGATE regress_pg_dump_schema.test_agg' = > {
regexp = > qr / ^
\ QCREATE AGGREGATE test_agg ( smallint ) ( \ E
\ n \ s + \ QSFUNC = int2_sum , \ E
\ n \ s + \ QSTYPE = bigint \ E
\ n \ ) ; $ / xm ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_privs = > 1 ,
no_owner = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
'GRANT ALL ON regress_pg_dump_schema.test_agg' = > {
regexp = > qr / ^
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( true ) ; \ E \ n
\ QGRANT ALL ON FUNCTION test_agg ( smallint ) TO regress_dump_test_role ; \ E \ n
\ QSELECT pg_catalog . binary_upgrade_set_record_init_privs ( false ) ; \ E
$ / xms ,
like = > { binary_upgrade = > 1 , } ,
unlike = > {
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_owner = > 1 ,
no_privs = > 1 ,
pg_dumpall_globals = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 ,
section_post_data = > 1 , } , } ,
# Objects not included in extension, part of schema created by extension
'CREATE TABLE regress_pg_dump_schema.external_tab' = > {
create_order = > 4 ,
create_sql = > ' CREATE TABLE regress_pg_dump_schema . external_tab
( col1 int ) ; ' ,
regexp = > qr / ^
\ QCREATE TABLE external_tab ( \ E
\ n \ s + \ Qcol1 integer \ E
\ n \ ) ; $ / xm ,
like = > {
binary_upgrade = > 1 ,
clean = > 1 ,
clean_if_exists = > 1 ,
createdb = > 1 ,
defaults = > 1 ,
no_owner = > 1 ,
no_privs = > 1 ,
schema_only = > 1 ,
section_pre_data = > 1 , } ,
unlike = > {
pg_dumpall_globals = > 1 ,
section_post_data = > 1 , } , } , ) ;
#########################################
# Create a PG instance to test actually dumping from