Re: Cannot dump 8.4.8 database using later versions
От | Bruce Momjian |
---|---|
Тема | Re: Cannot dump 8.4.8 database using later versions |
Дата | |
Msg-id | 20120817003401.GG30286@momjian.us обсуждение исходный текст |
Ответ на | Re: Cannot dump 8.4.8 database using later versions (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
I don't think we ever addressed this, but since we have had minimal complaints about it, I guess we are OK. --------------------------------------------------------------------------- On Tue, Nov 15, 2011 at 10:04:57PM -0500, Tom Lane wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > On Tue, Nov 15, 2011 at 5:16 AM, Heikki Linnakangas > > <heikki.linnakangas@enterprisedb.com> wrote: > >> NEW used to be a reserved keyword, but it's not so in 9.0 anymore. So 9.0 > >> pg_dump thinks it doesn't need to be quoted. > > > Why isn't it correct? > > It's correct to not quote it in pg_dump's output (since we make no > promises that such output would load into a pre-9.0 server anyway). > The problem is that it needs to be quoted in commands that pg_dump > sends back to the 8.4 server. Example: > > psql (8.4.9) > You are now connected to database "db84". > db84=# create table "new"( f1 int, "new" text); > > ... pg_dump with newer pg_dump ... > > pg_dump: SQL command failed > pg_dump: Error message from server: ERROR: syntax error at or near "new" > LINE 1: COPY public.new (f1, new) TO stdout; > ^ > pg_dump: The command was: COPY public.new (f1, new) TO stdout; > > The least painful solution might be to always quote *every* identifier > in commands sent to the source server, since we don't especially care > how nice-looking those are. > > regards, tom lane -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-bugs по дате отправления: