Tom Lane wrote:
> Ben Clewett <B.Clewett@roadrunner.uk.com> writes:
> > - The tables (not innodb) are in different files of the same name.
> > Allowing the OS adminitrator great ability. EG, putting tables on
> > separate partitions and therefore greatly speeding performance.
>
> FWIW, we used to do it that way too, many releases ago. We gave it up
> because it was impossible to support rollback of table deletion/rename
> with that storage rule underneath.
It occurs to me that we could make it possible to get some of the
performance gains MySQL gets through its naming conventions by
including the type of object in the path of the object. For instance,
a table with relfilenode 52715 in database with relfilenode 46722
would have a path of $PGDATA/table/46722/52715, an index in the same
database with OID 98632 would have a path of
$PGDATA/index/46722/98632, etc. Then you could use symlinks to have
tables, indexes, etc. point to various places on disk where they
really need to live.
Is that even remotely feasible? I looked into making the changes
required but didn't see an obvious way to get a type string from an
object's RelFileNode internally (once you have that, it's a matter of
changing relpath() appropriately).
--
Kevin Brown kevin@sysexperts.com