"Christopher Kings-Lynne" <[EMAIL PROTECTED]> writes:
> On my 7.3 server:
> REVOKE ALL ON TABLE exercise_activities FROM PUBLIC;
> GRANT ALL ON TABLE exercise_activities TO chriskl;
> GRANT SELECT ON TABLE exercise_activities TO "au-diary";
> GRANT SELECT ON TABLE exercise_activities TO "au-php";

> Now if you load that into 7.4CVS, you get:

> REVOKE ALL ON TABLE exercise_activities FROM PUBLIC;
> GRANT ALL ON TABLE exercise_activities TO chriskl;
> GRANT SELECT ON TABLE exercise_activities TO "\""au-diary\""";
> GRANT SELECT ON TABLE exercise_activities TO "\""au-php\""";

I've repaired this in CVS tip.  While testing it, though, I notice that
CVS-tip pg_dump puts out useless commands

        REVOKE ALL ON SCHEMA public FROM PUBLIC;
        GRANT ALL ON SCHEMA public TO PUBLIC;

which are not generated when dumping from 7.3.  The reason evidently is
that this check in pg_dump.c no longer works:

        /*
         * If it's the PUBLIC namespace, don't emit a CREATE SCHEMA record
         * for it, since we expect PUBLIC to exist already in the
         * destination database.  And emit ACL info only if the ACL isn't
         * the standard value for PUBLIC.
         */
        if (strcmp(nspinfo->nspname, "public") == 0)
        {
            if (!aclsSkip && strcmp(nspinfo->nspacl, "{=UC}") != 0)
                dumpACL(fout, "SCHEMA", qnspname, nspinfo->nspname, NULL,
                        nspinfo->usename, nspinfo->nspacl,
                        nspinfo->oid);
        }

since the default ACL for public no longer looks like that.  Can we fix
this?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to