Thread: Problems with pg_dump and -t wildcards

Problems with pg_dump and -t wildcards

From
Bill Thoen
Date:
I'm having some problems with pg_dump and the -t switch. I can't get it
to work using wildcards nor with multiple -t switches. I'm using
PostgreSQL 8.1.5 and trying to dump just a table and its associated
sequence.

As shown below, the table il_sections and the sequence
il_sections_gid_seq both exist in the database spatial1. But neither
pg_dump -Fc -t 'il_sections*' spatial1 > il_plss.dump
nor
pg_dump -Fc -t il_sections -t il_sections_gid_seq spatial1 > il_plss.dump
will work. The former generates the error listed below while the latter
just creates a tiny file with nothing but a couple of comments in it.

Anyone know what's wrong?
- Bill Thoen

Here's what I get:
$ psql -dspatial1
Welcome to psql 8.1.5, the PostgreSQL interactive terminal.
...
spatial1=# \d
                  List of relations
 Schema |         Name          |   Type   |  Owner
--------+-----------------------+----------+----------
 public | US_States_ogc_fid_seq | sequence | bthoen
 public | counties              | table    | bthoen
 public | counties_gid_seq      | sequence | bthoen
 public | geometry_columns      | table    | postgres
 public | il_sections           | table    | bthoen
 public | il_sections_gid_seq   | sequence | bthoen
 public | spatial_ref_sys       | table    | postgres
 public | states                | table    | bthoen
(8 rows)

spatial1=# \q
$ pg_dump -Fc -t 'il_section*' spatial1 > il_plss.dump
pg_dump: specified table "il_section*" does not exist



Re: Problems with pg_dump and -t wildcards

From
"Joshua D. Drake"
Date:
On Fri, 2008-07-25 at 11:36 -0600, Bill Thoen wrote:
> I'm having some problems with pg_dump and the -t switch. I can't get it
> to work using wildcards nor with multiple -t switches. I'm using
> PostgreSQL 8.1.5 and trying to dump just a table and its associated
> sequence.

That is because it doesn't work like that. IIRC you can dump exactly one
table with the -t switch.

Sincerely,

Joshua D. Drake


--
The PostgreSQL Company since 1997: http://www.commandprompt.com/
PostgreSQL Community Conference: http://www.postgresqlconference.org/
United States PostgreSQL Association: http://www.postgresql.us/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate




Re: Problems with pg_dump and -t wildcards

From
Tom Lane
Date:
"Joshua D. Drake" <jd@commandprompt.com> writes:
> On Fri, 2008-07-25 at 11:36 -0600, Bill Thoen wrote:
>> I'm having some problems with pg_dump and the -t switch. I can't get it
>> to work using wildcards nor with multiple -t switches. I'm using
>> PostgreSQL 8.1.5 and trying to dump just a table and its associated
>> sequence.

> That is because it doesn't work like that. IIRC you can dump exactly one
> table with the -t switch.

-t does take a wildcard pattern ... in 8.2 and later.  I don't believe
8.1 handled more than one -t switch, either.

            regards, tom lane

Re: Problems with pg_dump and -t wildcards

From
Andrew Sullivan
Date:
On Fri, Jul 25, 2008 at 11:36:14AM -0600, Bill Thoen wrote:
> I'm having some problems with pg_dump and the -t switch. I can't get it to
> work using wildcards nor with multiple -t switches. I'm using PostgreSQL
> 8.1.5 and trying to dump just a table and its associated sequence.

You can't do that.  The ability to specify multiple -t switches came
in 8.2.

You can work around this if you have a custom dump format, by just
restoring the tables you want using pg_restore.  This is a pretty
hideous workaround, though.

A

--
Andrew Sullivan
ajs@commandprompt.com
+1 503 667 4564 x104
http://www.commandprompt.com/

Re: Problems with pg_dump and -t wildcards

From
Bill Thoen
Date:
Ah ha! I'm reading the wrong docs. Duh...
I guess it's upgrade time!
Thank you.

Tom Lane wrote:
> "Joshua D. Drake" <jd@commandprompt.com> writes:
>
>> On Fri, 2008-07-25 at 11:36 -0600, Bill Thoen wrote:
>>
>>> I'm having some problems with pg_dump and the -t switch. I can't get it
>>> to work using wildcards nor with multiple -t switches. I'm using
>>> PostgreSQL 8.1.5 and trying to dump just a table and its associated
>>> sequence.
>>>
>
>
>> That is because it doesn't work like that. IIRC you can dump exactly one
>> table with the -t switch.
>>
>
> -t does take a wildcard pattern ... in 8.2 and later.  I don't believe
> 8.1 handled more than one -t switch, either.
>
>             regards, tom lane
>
>