Re: [HACKERS] Avoid MVCC using exclusive lock possible?

2004-02-29 Thread Shridhar Daithankar
On Tuesday 24 February 2004 22:13, Stephen wrote:
> Hi,
>
> Recently, I ran a huge update on an Integer column affecting 100 million
> rows in my database. What happened was my disk space increased in size and
> my IO load was very high. It appears that MVCC wants to rewrite each row
> (each row was about 5kB due to a bytea column). In addition, VACUUM needs
> to run to recover space eating up even more IO bandwidth.

I am sure people have answered the approach you have suggested so let me 
suggest a workaround for your problem.

You could run following in a transaction.

- begin
- Create another table with exact same structure
- write a procedure that reads from input table and updates the value in 
between
- drop the original table
- rename new table to old one
- commit
- analyze new table 

Except for increased disk space, this approach has all the good things 
postgresql offers. Especially using transactable DDLs it is huge benefit. You 
certainly do save on vacuum.

If the entire table is updated then you can almost certainly get things done 
faster this way.

HTH

 Shridhar


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Tom Lane
Josh Berkus <[EMAIL PROTECTED]> writes:
> C. BZ does not have any PG support in its default branch, and the RH port is 
> currently unmaintained.

I was quite surprised to read this, and I'm sure Dave Lawrence (RH's BZ
maintainer) would be too.  As would be the thousands of people who
regularly use bugzilla.redhat.com.

If you want to reject BZ because you don't like it, fine, but please
don't allege that it's unmaintained or that we'd have to put our own
resources into maintaining it.  There *will* be BZ-on-PG running at Red
Hat for the foreseeable future.  Obviously Dave would like to get the
port folded back upstream, and it looks like that will happen
eventually, but we need not fear being alone in running BZ-on-PG
meanwhile.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


Re: [HACKERS] Check Constraints and pg_dump

2004-02-29 Thread Jonathan Scott
Tom,

I have another instance of a possible function being used as a check constraint: a 
function that makes sure there is one row, and only one row in a table. 

At table creation, and the creation of the constraint, there are no rows in the table. 
So, even if the constraint is a valid one to have, it will fail. 

We use check constraint functions in a few places, and they work just fine for us 
(minus the case of trying to restore the database from a pg_dump archive). Is it 
impossible to treat check constraints similar to other constraints and make them 
deferrable, specifically in the restoration from a pg_dump archive? Is there a 
specific reason check constraints are handled differently from other constraints?

Jonathan Scott


On Thu, 26 Feb 2004 08:54:59 -0500
Tom Lane <[EMAIL PROTECTED]> wrote:

> Jonathan Scott <[EMAIL PROTECTED]> writes:
> > The functions and tables create just fine, but when it gets to the
> > COPY part of the sql script, it tries to load tables in what really is
> > the wrong order. The check constraint is making sure there is a "plan"
> > before there is a "contract", yet pg_dump is trying to load the
> > contract table before there is anything in the plan table.
> 
> Shouldn't you be using a foreign key for that?
> 
> I don't see any reasonable way that pg_dump can be expected to
> understand that a check constraint expresses a relationship between two
> tables.  The semantics of check constraints aren't right for it anyway.
> 
> All else being equal, I think the tables will be loaded in OID order,
> so a possible workaround is to create the plan table first.  But an
> FK seems like a better answer.
> 
>   regards, tom lane
> 
> ---(end of broadcast)---
> TIP 8: explain analyze is your friend
> 


-- 
Jonathan Scott, Programmer, Vanten K.K.
[EMAIL PROTECTED]   Tel: 03-5919-0266
http://www.vanten.com   Fax: 03-5919-0267

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Server Side PL support

2004-02-29 Thread Andrew Dunstan
Yes. I am looking at a few of these things (preloading, intra-perl 
calling, array and tuple return), and I understand that CommandPrompt is 
doing some plperl work too. They already have a plperl which does 
triggers. My question was not "what functionality do we need from PLs?" 
but rather "what do PLs need from the core for good support?" I 
particularly had catalog support in mind, but there could be other areas 
too.

I'm glad to see you support the efforts to make plperl something more 
useful. One idea I had for a GForge/GBorg project when that gets going 
is a place for collaborating on experimental plperl work, before it gets 
merged back to the core.

cheers

andrew



elein wrote:

This is a very interesting topic.  Joe Conway
has a very good idea of pl requirements since
he just implemented pl/R.
Some requirements for pl languages are these:
  * support query execution
  * support trigger functions
  * allocating storage for per statement function calls
This is like the SD[] dictionary in plpythonu.
  * support for all built-in datatypes, e.g. easy
array support for pl languages which have 
natural arrays, sets or dictionaries.
  * enable easy fastpath functionality 
or similar pl to pl function calls

Note that array support, trigger and query support
for plperl does not yet exist.
IMHO extended support for plperl should have a relatively
high priority.  We are actively reaching out to the
perl community and full support of the interface is
important.  Collaboration on the implementation is
also possible--it has been discussed with some perl folks.
elein
[EMAIL PROTECTED]
On Sun, Feb 29, 2004 at 02:20:19PM -0500, Andrew Dunstan wrote:
 

I have been taking a brief look at pltcl, and particularly its ability 
to preload modules. By comparison with most of the core product this 
seems to be somewhat out of date and unpolished (e.g. hardcoded path to 
libpgtcl.so, no use of schemas for the supporting tables, lack of 
comments). Since my understanding of tcl is extremely rusty, I didn't 
dig further than that. However, I am interested in getting a similar 
facility working for plperl, and thus wanted to start a discussion on 
what general facilities could/should be made available to server side 
PLs. Or should we just assume that each PL will create it's own support 
tables?

cheers

andrew

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
   

 



---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Marc G. Fournier
On Sun, 29 Feb 2004, Neil Conway wrote:

> Josh Berkus wrote:
> > D. One possible reservation may be integrating RT with GForge.
>
> I'm confused. Are we considering moving core backend development over
> to GForge as well, or just GBorg? (Personally the former doesn't
> strike me as a good idea, at least initially.)

There are no plans, at this time, to move the core development stuff from
its current "format" ... this is all for gborg hosted projects at this
time ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [pgsql-www] [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Josh Berkus
Folks,

Re: moving the main project to GForge/whatever: we're not considering that at 
this time.

The way the discussion got entangled is that a few people mentioned wanting a 
better bug tracker than then one offered with GForge, and that we are 
considering using a Bug Tracker for the main project. 

If we do want an upgraded BT for the main project, it would make sense to use 
the same BT for GForge/GBorg projects.

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Andrew Dunstan


Neil Conway wrote:

Josh Berkus wrote:

D. One possible reservation may be integrating RT with GForge.


I'm confused. Are we considering moving core backend development over 
to GForge as well, or just GBorg? (Personally the former doesn't 
strike me as a good idea, at least initially.) 


You are correct that this has (quite annoyingly) been overlooked in much 
of the discussion. Indeed, the needs of a GBorg project might well 
differ both from the core project and from other GBorg projects. ISTM 
the sensible thing right now would be to work on migrating GBorg and 
leave the core project exactly as it is. OTOH, there was considerable 
discussion a few months ago about bug tracking for the core project, and 
we have unfortunately largely repeated that discussion with similar 
results (for cheese in my_favourite_bugtrackers print "I like 
$cheese\n"; ). I think that a careful choice made for GBorg might allow 
us to progress the matter for the core project at a later stage, and the 
choice should be made with that possible suitability in mind.



I think that the PostgreSQL project would be very much sending the 
wrong message to use an effectively non-Postgres tool.


Frankly, I think the PostgreSQL project would be sending "the wrong 
message" if we chose our tools on any basis other than functionality. 
We ought to use what works, whether it supports PG or not. Whether the 
bug tracker tool uses PostgreSQL, flat files or MS Access to store 
data is entirely secondary to whether it serves the needs of the 
development group.

The big issue is not going to be the bug tracker iteself, but how easy 
it is to glue it to GForge (and if it requires too much customised glue 
we really won't be making an advance at all). On those grounds alone a 
FOSS bug tracker surely is preferable, regardless of political 
considerations. Apart from the fact that its DB Schema lacks all 
referential integrity constraints - a legacy of its origin in 
you-know-what -  RT doesn't look half bad.

If we wanted to step outside the FOSS world, I don't think bug tracking 
would be the area where there might be most need, but maybe that's just 
me ;-)

cheers

andrew



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
  http://www.postgresql.org/docs/faqs/FAQ.html


Re: [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Josh Berkus
Neil,

> Frankly, I think the PostgreSQL project would be sending "the wrong 
> message" if we chose our tools on any basis other than functionality. 
> We ought to use what works, whether it supports PG or not. Whether the 
> bug tracker tool uses PostgreSQL, flat files or MS Access to store 
> data is entirely secondary to whether it serves the needs of the 
> development group.

OK, then, more substantial:   I personally lack confidence in any tool that 
uses an in-memory object database to store persistent data.   I also feel 
pessimistic about our ability to extend and integrate a tool which uses 
radically different storage mechanism than the other tools we're using.  
Finally, for any of these things I forsee asking the communites involved with 
those projects for help, and it seems foolish to beg for help (as would 
probably be required of a project that does nor support PG) when there are 
people offering to help us.

THIS JUST IN:  as if we didn't have enough options, Talli of the OpenACS 
community has offered their help with using OpenACS modules for any of the 
web tasks we've discussed.   More later.

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Neil Conway
Josh Berkus wrote:
D. One possible reservation may be integrating RT with GForge.
I'm confused. Are we considering moving core backend development over 
to GForge as well, or just GBorg? (Personally the former doesn't 
strike me as a good idea, at least initially.)

I think that the PostgreSQL project would be very much sending the 
wrong message to use an effectively non-Postgres tool.
Frankly, I think the PostgreSQL project would be sending "the wrong 
message" if we chose our tools on any basis other than functionality. 
We ought to use what works, whether it supports PG or not. Whether the 
bug tracker tool uses PostgreSQL, flat files or MS Access to store 
data is entirely secondary to whether it serves the needs of the 
development group.

-Neil

---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [HACKERS] [pgsql-www] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Marc G. Fournier
On Sun, 29 Feb 2004, Josh Berkus wrote:

> A. GF-Tr does not support e-mail interaction at all.

Just curious, but:

1. how much work would be involved in adding that?
2. would the gforge developers be willing to integrate it in?

The reason I ask is that we have several PHP developers around, some of
which might be willing to work on integrating such into the bug tracker
... ?


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664

---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


Re: [HACKERS] Collaboration Tool Proposal -- Summary to date

2004-02-29 Thread Josh Berkus
Folks,

I thought that I would give everyone a summary of the current discussion of 
collaboration tools and bug-trackers for our project as I read them.   I 
think that we are quite close to a consensus.   Please comment if I've missed 
something.

GBorg-->GForge migration:  so far, nobody has objected to this idea, except 
for justifiable caution about the resources required.If the conversion 
can be accomplished relatively seamlessly, and/or through outside help, I 
don't think we have any reason NOT to proceed with a *gradual* migration.

BugTrackers:  here, opinion is more divided.   Many people seem to feel that 
they would like bug trackers more sophisticated than those offered by the 
built-in GForge tool.The criteria that seem to have general consensus 
are:
A. The bug tracker should have some kind of e-mail interface which allows 
responding to bugs a well as tracking them, so that people who don't like web 
interfaces don't need to use them.
B.  The bug tracker must be OSS; proprietary software is too risky when there 
are alternatives.
C. The bug tracker must use PostgreSQL, and it would be preferable if 
PostgreSQL support was available in the default branch of the project.

And I will add one that I see as unavoidable, even though it's been sort of 
glossed over in the discussions:
D. The bug tracker should not require extensive customization or other work by 
our team, becuase we simply don't have the people.

Based on this, I will evaluate the various bug trackers which have been 
mentioned to date:

GForge's Tracker:  This choice has the tremendous benefit of already being 
built-in to GForge and thus integrated with the rest of the project 
infrastructure.   On the rest of the criteria:
A. GF-Tr does not support e-mail interaction at all.
B. pass
C. pass
D. pass
Otherwise, GF-Tr's other detraction is that it is relatively unsophisticated, 
not supporting, for example, tying bugs to version numbers.  This simplicity 
can also be an asset as far as start-up time is concerned, though, but there 
exists the danger that newbies would use the tracker while developers 
continute to use e-mail. making the system ineffective.

BugZilla:  This has been a popular suggestion because lots of people are 
familiar with it.   However, BZ fails our criteria on three counts:
A.  BZ does not support issue alterations by e-mail; in fact, you can't even 
log in by e-mail link.
B. Pass
C. BZ does not have any PG support in its default branch, and the RH port is 
currently unmaintained.   While a member of the BZ team is attempting to 
complete a port, there is no expected completion date.
D. Given C., we could reasonably expect that using BZ would require 
significant support from the PG community in order to maintain a PG port.  
Given that one of the goals of the migration is to *reduce* the resources 
required by our community to maintain our infrastructure, this seems unwise.
 There is also the factor that several people on this list hate BZ's 
interface with a passion not expressed for other possible tools. I am one of 
them, I'm afraid, and since I am the primary volunteer for admining the 
system, I think my opinion carries some weight.   I find the BZ interface 
baffling, cumbersome, inefficient, and difficult to learn.

Jira:   While I have not actually tested it, this is known as a very 
sophisticated, professional enterprise-grade bug tracker.  The commercial 
developers are PostgreSQL supporters and have offered us this option as their 
support for our project, for which we are greatful.
A.  Pass
B.  Jira is unfortunately not OSS, meaning that we would be 100% dependant on 
the management policy of Alessian corp. for our use of it.   I am not 
comfortable with this idea, nor is Core, nor several other people.
C. Pass
D. Pass
There is the further issue that based on technical requirements Jira might 
have to the eternally hosted to postgresql.org, making it difficult to 
integrate it into the rest of our operations.

Request Tracker:  perl.org's issue tracker has grown quite sophisticated and 
added PostgreSQL support.
A. Pass -- RT supports commenting on, and modifying, bugs by e-mail, as well 
as running e-mail "scripts" on creation or alteration of bugs.
B. Pass
C. Pass -- PostgreSQL and MySQL are fully supported in version 3.
D. One possible reservation may be integrating RT with GForge.  Andrew D. and 
some of the GForge people will be checking on how troublesome this will be, 
and whether or not this might become a standard GForge option in the future.
   Overall, I personally am liking the new RT and seeing it as our best 
option for a bug-tracker which would genuinely improve the operations of our 
community.   One thing I'm really attracted to is the ability to create 
"personal list" so that I can put my personal core-member todo list online.

Roundup:  This was suggested by a couple of people, including Elein who is 
quite fond of it.   Per my perusing, however, there are 

[HACKERS] Server Side PL support

2004-02-29 Thread Andrew Dunstan
I have been taking a brief look at pltcl, and particularly its ability 
to preload modules. By comparison with most of the core product this 
seems to be somewhat out of date and unpolished (e.g. hardcoded path to 
libpgtcl.so, no use of schemas for the supporting tables, lack of 
comments). Since my understanding of tcl is extremely rusty, I didn't 
dig further than that. However, I am interested in getting a similar 
facility working for plperl, and thus wanted to start a discussion on 
what general facilities could/should be made available to server side 
PLs. Or should we just assume that each PL will create it's own support 
tables?

cheers

andrew

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


[HACKERS] pgAdmin

2004-02-29 Thread Hammer
Quick one:
Anyone know how to use Putty to open a connection up under SSH which
will allow pgAdmin III to connect to a postgresql database ie. Only
access to server postgresql is on is via ssh.

Thanks
Hammer

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [HACKERS] anoncvs problem

2004-02-29 Thread Marc G. Fournier

odd, nothing has changed there in months now ... the readers file contains
anoncvs and *it* hasn't changed since Aug of '01 ...

what are you trying to use for a passwd?  I just tried two random ones,
and they both connected fine ...

On Sun, 29 Feb 2004, Oliver Elphick wrote:

> Following instructions on
> http://developer.postgresql.org/docs/postgres/cvs.html does not
> currently work:
>
> $ cvs -d :pserver:[EMAIL PROTECTED]:/projects/cvsroot login
> Logging in to
> :pserver:[EMAIL PROTECTED]:2401/projects/cvsroot
> CVS password:
> cvs login: authorization failed: server anoncvs.postgresql.org rejected
> access to /projects/cvsroot for user anoncvs
>
>
> ---(end of broadcast)---
> TIP 7: don't forget to increase your free space map settings
>


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


[HACKERS] anoncvs problem

2004-02-29 Thread Oliver Elphick
Following instructions on
http://developer.postgresql.org/docs/postgres/cvs.html does not
currently work:

$ cvs -d :pserver:[EMAIL PROTECTED]:/projects/cvsroot login
Logging in to
:pserver:[EMAIL PROTECTED]:2401/projects/cvsroot
CVS password:
cvs login: authorization failed: server anoncvs.postgresql.org rejected
access to /projects/cvsroot for user anoncvs


---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [HACKERS] [ADMIN] Schema comparisons

2004-02-29 Thread Robert Treat
On Saturday 28 February 2004 21:23, Alex J. Avriette wrote:
> On Sat, Feb 28, 2004 at 10:39:40AM -0500, Tom Lane wrote:
> > >> Have you tried diffing pg_dump output?  It's not the greatest tool but
> > >> it's helpful.
> > >
> > > Yes, I did.  It was quite cumbersome.  Especially since the OIDs and
> > > TOC entry numbers didn't matchup; and, since those didn't always match,
> > > the order of objects wasn't quite the same either.  So, diff was
> > > throwing a lot of false positives at me.
> >
> > Yeah.  CVS-tip pg_dump doesn't show OIDs by default, to make it easier
> > to use for purposes like this.  The ordering issue is the bigger problem
> > though.  I presume that the object creation history is different in the
> > two databases and so pg_dump's habit of sorting by OID isn't helpful.
>
> I recently had to figure out what was different between the "live" schema
> and the schema in cvs at work. This was a really painful process, and it
> occurred to me that it wouldn't be terribly hard to write a perl program
> to do it (I wound up using vim and diff). Is there interest in such a tool?
> I could probably have one written within a day or two.
>

I've gone the vim-diff route in the past myself, but a nice command line tool 
to do it written in perl could certianly be nice. If nothing else you could 
toss it up on gborg.  Incidentally I think there is already a tool that does 
this on sourceforge, but it uses tcl and requires a running webserver, so 
it's a little overbearing for most peoples needs imho.

Robert Treat
-- 
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [HACKERS] 7.3.6 for Monday ... still a go?

2004-02-29 Thread Marc G. Fournier
On Sat, 28 Feb 2004, Tom Lane wrote:

> AFAIK we are good to go in terms of the code --- there are no open
> issues that I'd want to back-patch to 7.3.  We just need release notes.
> But I don't have time this weekend to do the release notes either...

'k, once you or Bruce get a sec to do the release notes, I'll tag/bundle
it up ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Avoid MVCC using exclusive lock possible?

2004-02-29 Thread Tom Lane
Neil Conway <[EMAIL PROTECTED]> writes:
> Jon Jensen wrote:
>> How would you do a rollback if an error occurred mid-query? How would you
>> keep your table from being a big pile of junk if a power failure happened
>> during the query?

> As most non-MVCC database do: by writing WAL records.

> In theory, it seems to me that we could implement an overwriting 
> storage manager for PostgreSQL (i.e. we'd have both MVCC and non-MVCC, 
> and allow users to choose at runtime). It would require a *lot* of 
> work, but I can't see any fundamental reason why it wouldn't be possible.

It would be possible, but what's the point?  There's no evidence that
this approach is superior to what we do, and a fair number of reasons
to think it's inferior.

In particular, with this approach you have to maintain the entire
history of a transaction in WAL, so that you have the info available to
roll back if it aborts.  So the OP's concern about needing 2X the disk
space to update his table still applies, it's just in a different place.
It's true that it's easier to get the space back when no longer needed
--- VACUUM FULL is expensive if it's moving lots of records.  But in
general I think our VACUUM-based approach is superior to the
Oracle-style UNDO approach, because it pushes the maintenance overhead
out of foreground transaction processing and into a schedulable
background process.  Certainly any Oracle DBA will tell you that huge
transactions are a headache to handle in Oracle.

I think what the OP actually wanted us to offer was non-transaction-safe
overwrite-in-place updating.  That might be technically feasible (not
sure how we'd deal with changes in indexed columns though).  But it's so
contrary to the basic design goals of the project that I don't think
anyone will take the suggestion seriously.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] Avoid MVCC using exclusive lock possible?

2004-02-29 Thread Neil Conway
Jon Jensen wrote:
How would you do a rollback if an error occurred mid-query? How would you
keep your table from being a big pile of junk if a power failure happened
during the query?
As most non-MVCC database do: by writing WAL records.

In theory, it seems to me that we could implement an overwriting 
storage manager for PostgreSQL (i.e. we'd have both MVCC and non-MVCC, 
and allow users to choose at runtime). It would require a *lot* of 
work, but I can't see any fundamental reason why it wouldn't be possible.

-Neil

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [HACKERS] [ADMIN] Schema comparisons

2004-02-29 Thread Richard Huxton
On Sunday 29 February 2004 02:01, Tom Lane wrote:
> Richard Huxton <[EMAIL PROTECTED]> writes:
> > I've been looking at storing $REVISION$ in comments for each object, so
> > my install scripts can halt if there is a problem. Not wanting to use my
> > only comment slot for this I was thinking about an extension to the
> > COMMENT ON statement:
> > COMMENT ON TABLE foo IS 'This is where I stroe my foos.';
> > COMMENT ON TABLE foo SECTION 'default' IS 'I meant store my foos.';
> > COMMENT ON TABLE foo SECTION 'revision' IS '1.19';
> > COMMENT ON TABLE foo SECTION 'bar' IS 'baz';
>
> This seems a little, um, specialized.  Why don't you just keep the info
> in a user-defined table?

For the same reasons you don't store existing comments in a user-defined 
table:
1. It's convenient to have a standard (across providers) place for them.
2. It's meta-data, not data.
3. It gets dumped along with my table.

If it's just a case of "looks like a waste of time" then I might well waste my 
time and do it. On the other hand, if it's a case of "unnecessary 
complication - don't want it in the code" then I'll not bother.
-- 
  Richard Huxton
  Archonet Ltd

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings