Re: BUG #8128: pg_dump (>= 9.1) failed while dumping a scheme named "old" from PostgreSQL 8.4

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Adrian(dot)Vondendriesch(at)credativ(dot)de
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #8128: pg_dump (>= 9.1) failed while dumping a scheme named "old" from PostgreSQL 8.4
Date: 2013-04-30 23:53:27
Message-ID: 15639.1367366007@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Adrian(dot)Vondendriesch(at)credativ(dot)de writes:
> [ recent pg_dump fails against an 8.4 server if "old" is used as a name ]

Yeah. The reason for this is that "old" was considered a reserved word
in 8.4 and before, but since 9.0 it is not reserved (indeed it isn't a
keyword at all anymore), so 9.0 and later pg_dump don't think they need
to quote it in commands.

De-reserving a keyword happens sufficiently rarely that it doesn't
really seem worth teaching pg_dump about such cases. There is a
workaround, which is to use the --quote-all-identifiers switch when
dumping from a server with an incompatible idea of the set of reserved
keywords.

For the archives' sake, it might be worth noting that
--quote-all-identifiers was added in 9.1, which means that 9.0 pg_dump
is vulnerable to this problem and has no workaround. That's a bit
annoying, but I rather doubt we'll take the trouble to back-port
--quote-all-identifiers into 9.0 at this point.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Adrian.Vondendriesch 2013-05-01 11:59:02 Re: BUG #8128: pg_dump (>= 9.1) failed while dumping a scheme named "old" from PostgreSQL 8.4
Previous Message John R Pierce 2013-04-30 17:05:16 Re: ISSUE after upgrading to POSTGRES 8.4.8

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-04-30 23:55:33 Should pg_upgrade use --quote-all-identifiers?
Previous Message Andres Freund 2013-04-30 23:52:23 Re: Substituting Checksum Algorithm (was: Enabling Checksums)