Re: Physical Database Configuration - Mailing list pgsql-general

From Ron Johnson
Subject Re: Physical Database Configuration
Date
Msg-id 1056569638.754.15.camel@haggis
Whole thread Raw
In response to Re: Physical Database Configuration  (Jonathan Bartlett <johnnyb@eskimo.com>)
List pgsql-general
On Wed, 2003-06-25 at 10:51, Jonathan Bartlett wrote:
> My solution did not involve tablespaces, but was more of a quick solution
> to make it easier for admins to do _some_ sort of physical configuration.
>
> The idea is that the developer could do something like
>
> 'create alternate location ALTERNATE_LOCATION_NAME for
> DATABASE_OBJECT_NAME at "/PATH/TO/PHYSICAL/FILE";'
>
> We would have a system table holding theses values. Then, all database
> commands which create a file for an object, call open_object(oid,
> object_name) or something to create the file object.  This will first look
> in the new system table to see if there is a mapping for an object of this
> name.  If so, it will create a symlink to "/PATH/TO/PHYSICAL/FILE" for the
> oid before opening the file.
>
> Anyway, if people are working on tablespaces, I'll defer to them.  This
> small fix is something that I might actually have time to do, but
> tablespaces definitely not.

IMHO, this is all that's *really* necessary.  That, and an ALTER
that (takes an exclusive lock on the relevant objects and) lets the
DBA move ALTERNATE_LOCATION_NAME from "/PATH/TO/PHYSICAL/FILE" to
"/NEW/PATH/TO/PHYSICAL/FILE".

On question, though.  I've noticed that once a file grows beyond
1GB, PostgreSQL creates a new file and starts appending to a new
file.  Presumably, that same mode of operation would still occur.

> On Wed, 25 Jun 2003 nolan@celery.tssi.com wrote:
>
> > > Well, correct solution is to implement tablespaces on which objects like
> > > databases, tables and indexes can be put.
> >
> > I've not looked at the SQL standard, but it seems to me like the order
> > should be:
> >
> > Databases
> >    Tablespaces
> >       Schemas
> >          Objects (tables, indexes, functions, etc.)
> >
> > And it really isn't hierarchical.  As I understand them (based on my
> > Oracle background), tablespaces, unlike schemas, do NOT create a layer
> > of data abstraction.   That is to say, while the same table name
> > can exist in multiple schemas, only one instance of a given table name
> > within a given schema can exist, regardless of what tablespace it is in.
> >
> > That makes the tablespace a property of an object.
> >
> > Whether or not two databases can share tablespaces isn't clear to me,
> > though as a DBA I can think of good reasons why they probably shouldn't
> > do so, I'm not sure if that is an absolute.
> >
> > > I have no idea what is the status of that effort right now. You can search the
> > > archives or I hope this kicks a fresh discussion..:-)
> >
> > I'm game, though I'm also not ready to lead such a project, probably not
> > even the discussion on it.
> > --
> > Mike Nolan

--
+-----------------------------------------------------------+
| Ron Johnson, Jr.     Home: ron.l.johnson@cox.net          |
| Jefferson, LA  USA   http://members.cox.net/ron.l.johnson |
|                                                           |
| "Oh, great altar of passive entertainment, bestow upon me |
|  thy discordant images at such speed as to render linear  |
|  thought impossible" (Calvin, regarding TV)               |
+-----------------------------------------------------------


pgsql-general by date:

Previous
From: "Reuben D. Budiardja"
Date:
Subject: Re: INSERT WHERE NOT EXISTS
Next
From: Mike Mascari
Date:
Subject: Re: INSERT WHERE NOT EXISTS