Обсуждение: pg_dump -t broken for mixed case table names in beta3?
Unless I'm missing something, pg_dump is not allowing selective dump of
a table where the table name is mixed case. The -t switch still works
for lower case. Even though quotes weren't previously needed on the
pg_dump command line, I tried that with no better luck.
postgres@DTR3:~> psql dtr
Welcome to psql 8.2beta3, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g
orterminate with semicolon to execute query \q to quit
dtr=# \d "DbTranLogRecord" Table "public.DbTranLogRecord" Column | Type | Modifiers
----------------+-------------------+-----------countyNo | "CountyNoT" | not nulltranImageSeqNo |
"TranImageSeqNoT"| not nulllogRecordSeqNo | "LogRecordSeqNoT" | not nulloperation | "OperationT" | not
nulltableName | "TableNameT" | not null
Indexes: "DbTranLogRecordPK" PRIMARY KEY, btree ("countyNo",
"tranImageSeqNo", "logRecordSeqNo") "DbTranLogRecord_tableName" btree ("countyNo", "tableName",
operation)
dtr=# \q
postgres@DTR3:~> pg_dump -s -t DbTranLogRecord dtr
pg_dump: No matching tables were found
postgres@DTR3:~>
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Unless I'm missing something, pg_dump is not allowing selective dump of
> a table where the table name is mixed case.
You do it like this:
$ pg_dump -s -t '"DbTranLogRecord"' dtr
A bit ugly but the conflict between shell and SQL quoting rules
sometimes forces us into compromises :-(
Perhaps it's worth having an example for this in the pg_dump man page?
regards, tom lane
Thanks much; it might have been a while before I tried that nested
quoting technique. I think it's worth documenting. Would you like me
to try to put a doc patch together, or would it be better for someone
else to do so?
-Kevin
>>> Tom Lane <tgl@sss.pgh.pa.us> 11/28/06 1:43 PM >>>
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Unless I'm missing something, pg_dump is not allowing selective dump
of
> a table where the table name is mixed case.
You do it like this:
$ pg_dump - s - t '"DbTranLogRecord"' dtr
A bit ugly but the conflict between shell and SQL quoting rules
sometimes forces us into compromises :- (
Perhaps it's worth having an example for this in the pg_dump man page?
regards, tom lane
On Tue, Nov 28, 2006 at 02:43:17PM -0500, Tom Lane wrote: > "Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes: > > Unless I'm missing something, pg_dump is not allowing selective dump of > > a table where the table name is mixed case. > > You do it like this: > > $ pg_dump -s -t '"DbTranLogRecord"' dtr > > A bit ugly but the conflict between shell and SQL quoting rules > sometimes forces us into compromises :-( > > Perhaps it's worth having an example for this in the pg_dump man page? Please find enclosed a patch which adds this :) Cheers, D -- David Fetter <david@fetter.org> http://fetter.org/ phone: +1 415 235 3778 AIM: dfetter666 Skype: davidfetter Remember to vote!
Вложения
David Fetter <david@fetter.org> writes:
> On Tue, Nov 28, 2006 at 02:43:17PM -0500, Tom Lane wrote:
>> Perhaps it's worth having an example for this in the pg_dump man page?
> Please find enclosed a patch which adds this :)
Already done, thanks.
regards, tom lane