Thread: Re: [COMMITTERS] pgsql: Create a "relation mapping" infrastructure to support changing
Re: [COMMITTERS] pgsql: Create a "relation mapping" infrastructure to support changing
From
Alvaro Herrera
Date:
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.
Re: [COMMITTERS] pgsql: Create a "relation mapping" infrastructure to support changing
From
Tom Lane
Date:
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