On Thu, Nov 17, 2005 at 05:32:43PM -0500, Tom Lane wrote:
> David Fetter <[EMAIL PROTECTED]> writes:
> > On Thu, Nov 17, 2005 at 04:37:14PM -0500, Tom Lane wrote:
> >> CREATE TEMP TABLE foo ... ON COMMIT DROP;
> 
> > It's that first little elipsis mark that's the problem.  Is there
> > something really clever I've been missing on how to do a dynamic
> > table creation?
> 
> Oh, you're worried about what to do if you don't know the output
> column set of the query?  OK, that is a bit harder, but I think it's
> still a corner case.  How much are you really going to get done with
> the table if you don't know what columns it has?

My use case is when I have a system of audit tables that look like
this:

CREATE TABLE foo (
    ...
);

CREATE TABLE foo_audit (
    foo_audit_id BIGSERIAL PRIMARY KEY,
    foo_actor TEXT,
    foo_timestamp TIMESTAMP,
    foo_action char(1) CHECK foo_action IN('D','I','U'),
    old_foo foo,
    new_foo foo
);

with appropriate TRIGGERs, etc. to make that happen.  It nice feature
of being partitionable via constraint exclusion.

This is in aid of a system for making it possible to ALTER foo while
preserving the data in foo_audit.

Cheers,
D
-- 
David Fetter [EMAIL PROTECTED] http://fetter.org/
phone: +1 510 893 6100   mobile: +1 415 235 3778

Remember to vote!

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to