Re: Thoughts on pg_hba.conf rejection
От | Robert Haas |
---|---|
Тема | Re: Thoughts on pg_hba.conf rejection |
Дата | |
Msg-id | i2t603c8f071004201512q4235e868t7d8cf376eacb6eee@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Thoughts on pg_hba.conf rejection (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Thoughts on pg_hba.conf rejection
Re: Thoughts on pg_hba.conf rejection |
Список | pgsql-hackers |
On Tue, Apr 20, 2010 at 5:51 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Tue, Apr 20, 2010 at 5:02 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Robert Haas <robertmhaas@gmail.com> writes: >>> On Tue, Apr 20, 2010 at 2:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>>> 3. We'd have to nail pg_authid, pg_auth_members, and their indexes into >>>> relcache, because relcache.c isn't prepared to cope otherwise. I doubt >>>> this would affect performance in any material way, but it would eat a >>>> few more kbytes of storage per backend. >> >>> Hmm, I'm not sure I understand why this is necessary or what our other >>> options are. >> >> relcache.c assumes that "critical" relations (those for which we have >> hard-wired descriptors in schemapg.h) are always nailed-in-cache. In >> the general case this is necessary because we'd not be able to rebuild >> the cache entry if it got discarded; eg, without a pg_class entry you're >> dead in the water. It's possible we could decouple these attributes; >> for instance develop a notion of being nailed only until authentication >> finishes, or something like that. I'm not thinking it's worth it >> though. > > Well that just begs the question - why do we need a hard-wired > descriptor? Presumably we should only need to hard-wired descriptors > for the relations are used by the relcache code itself to build more > descriptors - so clearly pg_cache and pg_attribute, but beyond that I > don't get it. In particular, I can't see any reason why we couldn't > just build the descriptor for pg_authid etc. by scanning pg_class and > pg_attribute. I suppose the problem here is that pg_attribute and pg_class are not shared catalogs, so we can't read them without selecting a database. What about making a fake version of these relations that includes only the shared catalogs? ...Robert
В списке pgsql-hackers по дате отправления: