----- Original Message ----- From: "Christopher Kings-Lynne" <[EMAIL PROTECTED]> To: "Nicolai Tufar" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Sunday, December 01, 2002 4:05 AM Subject: Re: [HACKERS] Hard-coded PUBLIC in pg_dump
> > Hmmmm...does putting double quotes (eg. "PUBLIC") around the public word fix > it? No: apb=> GRANT SELECT ON TABLE maras2.esya TO "PUBLIC"; ERROR: user "PUBLIC" does not exist apb=> GRANT SELECT ON TABLE maras2.esya TO 'PUBLIC'; ERROR: parser: parse error at or near "'PUBLIC'" at character 38 apb=> GRANT SELECT ON TABLE maras2.esya TO public; GRANT apb=> The problem here is case conversion from capital "I" to lower-case "i". In Turkish locale tolower('I') is not equal to 'i'. So, since "public" role is lower-case internally, why would we not make it lower-case in dump file. > > You can't put single quotes around table and column names. You need to use > double quotes as they are identifiers rather than literals. > > Bear in mind that some improvements have been made in Postgres 7.3 with > regards to quoting, so have you checked 7.3? I stand corrected. It is indeed has to be double-quoted. 7.3 is quoting only SET SESSION AUTHORIZATION 'role' clause in my dump. Possibly, because it has been added recently. Old code does not quote anything. > > Chris Regards, Nic. ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org