--On Montag, Juni 04, 2007 15:34:14 -0400 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
> The reason I'm thinking per-transaction is that we could tie this to
> setting up a cached list of tablespace OIDs, which would avoid the
> overhead of repeat parsing and tablespace validity checking. We had
> rejected using a long-lived cache because of the problem of tablespaces
> getting dropped, but I think one that lasts only across a transaction
> would be OK.
Hmm i tried an allocated oid list in TopMemoryContext per backend, but i
didn't find any issue with that... What's the reason we cannot work with a
long-living cache during backend lifetime?
Dropping a tablespace caused get_tablespace_name() to return an InvalidOid
and the tablespace selection code to switch to $PGDATA/pgsql_tmp...
In response to
pgsql-hackers by date
|Next:||From: Tom Lane||Date: 2007-06-05 15:14:52|
|Subject: Re: GIN, XLogInsert and MarkBufferDirty |
|Previous:||From: Bernd Helmle||Date: 2007-06-05 14:50:40|
|Subject: Re: CREATEROLE, CREATEDB|
pgsql-committers by date
|Next:||From: Bernd Helmle||Date: 2007-06-05 15:20:10|
|Subject: Re: [COMMITTERS] pgsql: Create a GUC
parametertemp_tablespacesthat allows selection of |
|Previous:||From: Teodor Sigaev||Date: 2007-06-05 12:48:21|
|Subject: pgsql: Move call of MarkBufferDirty() before XLogInsert() as required.|