Обсуждение: Database directory names

Поиск
Список
Период
Сортировка

Database directory names

От
Kris Deugau
Дата:
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.  ;)

-Kris
WebHart Internet Linux Sysadmin



Re: Database directory names

От
Stephan Szabo
Дата:
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.




Re: Database directory names

От
Bruce Momjian
Дата:
Stephan Szabo wrote:
> > 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.

Uh, actually, only the readme in the current CVS has the example, 7.2.X
doesn't.  I recommend getting oid2name from the snapshot/CVS and using
that.  It has the newer readme and some changes to make the examples
display properly.  Also see the new doc section for 7.3 on disk usage:

    http://developer.postgresql.org/docs/postgres/diskusage.html

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026



Re: Database directory names

От
Stephan Szabo
Дата:
On Wed, 3 Jul 2002, Bruce Momjian wrote:

> Stephan Szabo wrote:
> > > 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.
>
> Uh, actually, only the readme in the current CVS has the example, 7.2.X
> doesn't.  I recommend getting oid2name from the snapshot/CVS and using
> that.  It has the newer readme and some changes to make the examples
> display properly.  Also see the new doc section for 7.3 on disk usage:
>
>     http://developer.postgresql.org/docs/postgres/diskusage.html

My bad. I assumed that oid2name wasn't likely to have changed without
actually checking.




Re: Database directory names

От
Kris Deugau
Дата:
> Stephan Szabo wrote:
> > 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.

Ah, option number 3.  I *thought* there had to be a good reason for it,
but I couldn't imagine how it might help.  (I still can't, but I'm not
in any way an expert on DBMS programming.)

Bruce Momjian wrote:
> Uh, actually, only the readme in the current CVS has the example, 7.2.X
> doesn't.  I recommend getting oid2name from the snapshot/CVS and using
> that.  It has the newer readme and some changes to make the examples
> display properly.  Also see the new doc section for 7.3 on disk usage:
>         http://developer.postgresql.org/docs/postgres/diskusage.html

Snagged, tested, and I'm happy.  Thanks for the heads-up on where to
find oid2name.

-Kris
WebHart Internet Linux Sysadmin