On Tue, 2 Jul 2002, Kris Deugau wrote: > I'm in the final stages of setting up database access for our domain > hosting customers. The current system is running PostgreSQL 7.0- with > which I haven't met any major problems (other than trying to figure out > how to restrict access to each domain's database- solved). > > However... That box is slated for some major hardware upgrades, and an > update from RedHat 7.0 to 7.3- bringing Postgres up to 7.2. This is not > in and of itself a problem... but one particular attribute of 7.2 has > me very puzzled and concerned. > > In 7.0, each database resided in /var/lib/pgsql/data/base/{database > name}. This appears to have changed in 7.2 to an indecipherable number, > with no apparent relation to the database name. > > I've spent a little time playing with > CREATE DATABASE dbname WITH LOCATION = 'dbpath'; > but it doesn't really suit my needs; I don't want to specify where the > base/ directory goes! I don't need to. I do want to be able to easily > track disk usage on a per-database basis- and while I could just make > note of the directory created when a database is created, it would be > *much* simpler to automate information-generating scripts based on the > database name directly. (Nor do I want to hassle with trying to get > appropriate environment variables set for the postmaster; I *really* > don't want to have to modify the init script.) > > Is this a feature, a bug, or a change related to some other critical > functional capability of Postgres? I haven't found anything else that > meets our requirements here, and I can work around this annoyance if > required- but I'd rather be lazy. ;)
Switching to numbers for tables and databases helped a few things (including for tables making it easier to rollback a drop table). There's a contrib item, oid2name which will print out a mapping of directory number to database name. The readme gives an example of using it with du. ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])