Re: BUG #5560: pg_dump generates invalid DDL
От | Tom Lane |
---|---|
Тема | Re: BUG #5560: pg_dump generates invalid DDL |
Дата | |
Msg-id | 18612.1279060282@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #5560: pg_dump generates invalid DDL ("Shigeru Hanada" <hanada@metrosystems.co.jp>) |
Список | pgsql-bugs |
"Shigeru Hanada" <hanada@metrosystems.co.jp> writes: > When target database contains user mapping for public, pg_dump generates > invalid DDL with empty string like this. > CREATE USER MAPPING FOR "" SERVER srv; I can reproduce this behavior. Another serious problem with the pg_dump code for user mappings is that it fails outright if the user is not superuser --- meaning that that patch has completely broken non-superuser use of pg_dump. That's entirely unacceptable IMO. The simplest fix seems to be to have pg_dump look at the pg_user_mappings view rather than directly at pg_user_mapping. That both provides the special case for PUBLIC and gets around the permissions problem. It does mean that user mappings will be silently dumped without the options data if you don't have privileges for the specific mapping, but ISTM that beats failing entirely. (Alternatively, we could probably persuade pg_dump to not dump mappings the caller hasn't got permissions for ... is that better?) Peter, any comments? regards, tom lane
В списке pgsql-bugs по дате отправления: