Bruce Momjian <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend