Re: empty role names in pg_dumpall output
От | Filip Rembiałkowski |
---|---|
Тема | Re: empty role names in pg_dumpall output |
Дата | |
Msg-id | CAP_rwwk1ovGjYzFZHw3YF2W10yh0uoKYjDBExvQtTMXM-JD9Lw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: empty role names in pg_dumpall output (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: empty role names in pg_dumpall output
|
Список | pgsql-general |
On Wed, Apr 25, 2012 at 8:56 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > =?UTF-8?Q?Filip_Rembia=C5=82kowski?= <filip.rembialkowski@gmail.com> writes: >> PostgreSQL 9.0.4 > >> I have this in pg_dumpall -g output (non-empty role names changed): > >> GRANT "" TO a GRANTED BY postgres; >> GRANT "" TO b GRANTED BY c; >> GRANT "" TO b GRANTED BY c; >> GRANT "" TO b GRANTED BY c; >> GRANT "" TO b GRANTED BY c; >> GRANT "" TO "" GRANTED BY c; >> GRANT "" TO "" GRANTED BY postgres; >> GRANT "" TO "" GRANTED BY postgres; > > Hmm. A look at the code in pg_dumpall suggests that the problem is > unmatched entries in pg_auth_members, ie this query: > > SELECT ur.rolname AS roleid > FROM pg_auth_members a LEFT JOIN pg_authid ur on ur.oid = a.roleid > > is returning some null results. Yes that is the case: SELECT ur.rolname AS roleid, member, grantor FROM pg_auth_members a LEFT JOIN pg_authid ur on ur.oid = a.roleid WHERE ur.oid IS NULL; roleid | member | grantor --------+--------+--------- <NULL> | 21468 | 19553 <NULL> | 21468 | 19553 <NULL> | 18332 | 19553 <NULL> | 21468 | 19553 <NULL> | 18332 | 10 <NULL> | 20615 | 10 <NULL> | 18332 | 10 <NULL> | 21468 | 19553 (8 rows) > You might look into that catalog > and see if you can figure out what happened. > Could it be (theoretically) caused by human-made insertions into pg_auth_members? Maybe you remember some bug which could have caused this in the past? Thanks alot for help, Filip
В списке pgsql-general по дате отправления: