Re: Tablespaces - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Tablespaces
Date
Msg-id 874qt5c2hv.fsf@stark.xeocode.com
Whole thread Raw
In response to Re: Tablespaces  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Tablespaces
List pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.us> writes:

> Greg Stark wrote:
> > 
> > > > I am expecting to hear some bleating about this from people whose
> > > > preferred platforms don't support symlinks ;-).  However, if we don't
> > 
> > Well, one option would be to have the low level filesystem storage (md.c?)
> > routines implement a kind of symlink themselves. Just a file with a special
> > magic number followed by a path.

On further contemplation it doesn't seem like using symlinks really ought to
be necessary. It should be possible to drive everything off the catalog tables
while avoidin having the low level filesystem code know anything about them.

Instead of having the low level code fetch the pg_* records themselves, some
piece of higher level code would do the query and call down to storage layer
to inform it of the locations for everything. It would have to do this on
database initialization and on any subsequent object creation.

Basically maintain an in-memory hash table of oid -> path, and call down to
the low level code whenever that hash changes. (Or more likely oid->ts_id and
a separate list of ts_id -> path.)

-- 
greg



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Client side copy functionality
Next
From: Peter Eisentraut
Date:
Subject: Re: simple make check failures