Обсуждение: pg_dump and table exclusion: multiple patterns
hello,
I'm trying to export a schema with multiple table exclusions:
pg_dump -i -v -nXXX -T '*20((08[0-9]+)|(09[0-9]+)|(100[1-8][0-9]+)|(1009[0-1][0-9]+))'
unfortunately, the filter does not work as expected.(no table at all are excluded)
when I try the same pattern with psql dt\, I get the expected list of tables to exclude...
pg_dump --version
pg_dump (PostgreSQL) 8.3.9
I'd appreciate some help.
best regards,
Marc Mamin
here is a strange behaviour: I did first simplify my syntax with multiples -T flags: pg_dump -i -v -nXXX -T '*2008*' -T '*2009*' -T '*201001*' -T '*201002*' ..... still not working. But if I prefix my pattern with the schema name, then I finally get the expected result: pg_dump -i -v -nXXX -T 'XXX.*2008*' -T ' XXX.*2009*' -T ' XXX.*201001*' -T XXX.'*201002*' ..... seems that the use of the -n flag requires to use these schema names within the patterns ... best regards, Marc Mamin > ------------------------------- hello, I'm trying to export a schema with multiple table exclusions: pg_dump -i -v -nXXX -T '*20((08[0-9]+)|(09[0-9]+)|(100[1-8][0-9]+)|(1009[0-1][0-9]+))' unfortunately, the filter does not work as expected.(no table at all are excluded) when I try the same pattern with psql dt\, I get the expected list of tables to exclude... pg_dump --version pg_dump (PostgreSQL) 8.3.9 I'd appreciate some help. best regards, Marc Mamin
On Sep 28, 2010, at 6:26 PM, Marc Mamin wrote: > But if I prefix my pattern with the schema name, then I finally get the expected result: > > pg_dump -i -v -nXXX -T 'XXX.*2008*' -T ' XXX.*2009*' -T ' XXX.*201001*' -T XXX.'*201002*' ..... > > > seems that the use of the -n flag requires to use these schema names within the patterns ... By default tablename without namespace get search in Public Schema. Please try something like this pg_dump -i -v -n XXXX -T '*.2008*' .... Thanks & Regards, Vibhor Kumar (PCP & OCP) ITIL V3 Cerftified. Web:www.EnterpriseDB.com
On Sep 28, 2010, at 6:26 PM, Marc Mamin wrote: > But if I prefix my pattern with the schema name, then I finally get the expected result: > > pg_dump -i -v -nXXX -T 'XXX.*2008*' -T ' XXX.*2009*' -T ' XXX.*201001*' -T XXX.'*201002*' ..... > > > seems that the use of the -n flag requires to use these schema names within the patterns ... By default tablename without namespace get search in Public Schema. Please try something like this pg_dump -i -v -n XXXX -T '*.2008*' .... Thanks & Regards, Vibhor Kumar (PCP & OCP) ITIL V3 Cerftified. Web:www.EnterpriseDB.com