----- 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

Reply via email to