We need to think about whether to surround all identifiers with double
quotes all the time in pg_dump output.
The reason is that Postgres allows reserved keywords to be specified as
table and column names if they are surrounded by the double quotes, but
pg_dump doesn't know whether an identifier also happens to be a reserved
keyword. afaik it's now only using DQs if there is upper case or funny
characters in the identifier. Instead it should probably surround the
fields with DQs all the time. It could perhaps have a command-line
switch to turn off that feature if necessary.
The alternative to always using the DQs is to have pg_dump use the
keywords.c routine available in the backend. But I don't think that is
as reliable since it isn't guaranteed to be in sync with the backend
version and since there are non-reserved keywords in that file which
test the same as the reserved ones.
This should probably be a "must do" for v6.4...
Comments?
- Tom