JanWieck@t-online.de (Jan Wieck) writes:
> I've never been really happy with the file naming
> conventions. The need of a filesystem entry to have the same
> name of the DB object that is associated with it isn't right.
> I know, some people love to be able to easily identify the
> files with ls(1). OTOH what is that good for?
I agree with Jan on this: let's just change the file names over to
be OIDs. Then we can have rollbackable DROP and RENAME TABLE easily.
Naming the files after the logical names of the tables is nice if it
doesn't cost anything, but it is *not* worth the trouble to preserve
a relationship between filename and tablename when it is costing us.
And it's costing us big time. That single feature is hurting us on
functionality, robustness, and portability, and for what benefit?
Not nearly enough. It's time to just let go of it.
> Why not changing the naming to be something like this:
> <dbroot>/catalog_tables/pg_...
> <dbroot>/catalog_index/pg_...
> <dbroot>/user_tables/oid_...
> <dbroot>/user_index/oid_...
> <dbroot>/temp_tables/oid_...
> <dbroot>/temp_index/oid_...
> <dbroot>/toast_tables/oid_...
> <dbroot>/toast_index/oid_...
> <dbroot>/whatnot_???/...
I don't see a lot of value in that. Better to do something like
tablespaces:
<dbroot>/<oidoftablespace>/<oidofobject>
regards, tom lane