On 22 May 2012 16:57, Florian Pflug <f...@phlo.org> wrote: > On May22, 2012, at 16:09 , Tom Lane wrote: >> Thom Brown <t...@linux.com> writes: >>> Conflicts would occur where localrolename matches an existing local >>> role name within the same database, or a global role name, but not a >>> local role name within another database. The problem with this, >>> however, is that creating global roles would need conflict checks >>> against local roles in every database, unless a manifest of all local >>> roles were registered globally. >> >> Yeah. The same type of issue arises for the roles' OIDs. You'd really >> want local and global roles to have nonconflicting OIDs, else it's >> necessary to carry around an indication of which type each role is; >> which would be more or less a show-stopper in terms of the number of >> catalogs and internal APIs affected. But I don't currently see any >> nice way to guarantee that if each database has a private table of >> local roles. > > Maybe we could simply make all global role's OIDs even, and all local ones > odd, or something like that.
Wouldn't that instantly make all previous versions of database clusters un-upgradable? -- Thom -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers