Can I use pg_dump to save a sequence for a table that is not also being saved? - Mailing list pgsql-general

From Shaheed Haque
Subject Can I use pg_dump to save a sequence for a table that is not also being saved?
Date
Msg-id CAHAc2jdyYM4U3Ts6Hed8GVYWMgNPo=kaBc3QpC5XoHEZ_5YAag@mail.gmail.com
Whole thread
Responses Re: Can I use pg_dump to save a sequence for a table that is not also being saved?
List pgsql-general
Hi,

I observe when using pg_dump like this:

pg_dump -h localhost -p 5432 -U dbcoreuser -Ft -f abc.tar --no-privileges --data-only \
--exclude-table="public.(jobs|queues|results) \ 
--table=public.django_migrations \ 
--table=public.paiyroll_input \
--table=public.*_id_seq \
--verbose foo

that the dumped data contains the content of the two tables, and the two sequences.  (FWIW, the above command is actually submitted via a Python subprocess call, so quoting should not be an issue). The verbose output confirms this:

pg_dump: processing data for table "public.django_migrations"
pg_dump: processing data for table "public.paiyroll_input"
pg_dump: executing SEQUENCE SET django_migrations_id_seq
pg_dump: executing SEQUENCE SET paiyroll_input_id_seq

Note that the instance "foo" contains many other tables, whose sequences I was expecting to be included. To confirm this, if I drop the second "--table", the verbose log shows only:

pg_dump: processing data for table "public.django_migrations"
pg_dump: executing SEQUENCE SET django_migrations_id_seq

My conclusion is that - despite what I understood from the pg_dump docs - the use of "--table=public.*id_seq" does not include all the sequences in fo, only those named by another --table.

Did I misunderstand, or formulate the command incorrectly?

Thanks, Shaheed

pgsql-general by date:

Previous
From: rob stone
Date:
Subject: Re: Using \copy to populate a table
Next
From: Adrian Klaver
Date:
Subject: Re: Can I use pg_dump to save a sequence for a table that is not also being saved?