Обсуждение: Re: [COMMITTERS] pgsql: Create a "relation mapping" infrastructure to support changing
Re: [COMMITTERS] pgsql: Create a "relation mapping" infrastructure to support changing
От
Alvaro Herrera
Дата:
I just noticed that this patch > Create a "relation mapping" infrastructure to support changing the relfilenodes > of shared or nailed system catalogs. This has two key benefits: creates a new function pg_relation_filenode() that only uses the syscache to fetch the relation's filenode, without locking it. I wonder if we could do the same in the pg_relation_size() function and friends, to avoid having to grab a lock on the relation. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.
Alvaro Herrera <alvherre@commandprompt.com> writes:
> I just noticed that this patch
>> Create a "relation mapping" infrastructure to support changing the relfilenodes
>> of shared or nailed system catalogs. This has two key benefits:
> creates a new function pg_relation_filenode() that only uses the
> syscache to fetch the relation's filenode, without locking it. I wonder
> if we could do the same in the pg_relation_size() function and friends,
> to avoid having to grab a lock on the relation.
I don't think it's a good idea to try to do physical access to the
relation without any lock. The filenode function is a bit special
because it doesn't need anything except the pg_class row itself.
(Except in the case of a mapped relationn, but the underlying
mapping entry is unlikely to disappear, too.)
regards, tom lane