Re: Another nasty pg_dump problem
От | Tom Lane |
---|---|
Тема | Re: Another nasty pg_dump problem |
Дата | |
Msg-id | 12921.1059672504@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Another nasty pg_dump problem ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>) |
Ответы |
Re: Another nasty pg_dump problem
|
Список | pgsql-hackers |
"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> 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 PUBLICto exist already in the * destination database. And emit ACL info only if the ACL isn't * the standardvalue 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
В списке pgsql-hackers по дате отправления: