Re: Support for idempotent schema changes?

From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: David Lowe <dlowe(at)airplay(dot)com>
Cc: pgsql-general(at)postgresql(dot)org, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: Support for idempotent schema changes?
Date: 2007-03-04 18:36:42
Message-ID: 45EB11BA.9070002@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

David Lowe wrote:
> Within the context of a script, executing:
>
> Begin
> Statement1
> Statement2
> Statement3
> Commit
>
> Where I only wish to commit if the error is specific to the object
> already existing, and rollback for all other errors, what's the best way
> to accomplish that?
>
You would have to put each statement into a savepoint, and catch each
error that occured and commit or rollback to a savepoint
based on that result.

Joshua D. Drake

>
> -----Original Message-----
> From: Peter Eisentraut [mailto:peter_e(at)gmx(dot)net]
> Sent: Saturday, March 03, 2007 11:45 PM
> To: pgsql-general(at)postgresql(dot)org
> Cc: David Lowe
> Subject: Re: [GENERAL] Support for idempotent schema changes?
>
> David Lowe wrote:
>
>> So how can I make statements of the form:
>>
>
>
>> * alter table only customers add constraint
>> a_previously_missed_constraint unique (a, b, c);
>>
>> * add column points int4 not null default 0;
>>
>
>
>> idempotent?
>>
>
> You just ignore the error if the object already exists.
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Garry Saddington 2007-03-04 18:56:20 Re: date format
Previous Message Tom Lane 2007-03-04 18:36:21 Re: Configure can't find com_err on OpenBSD for --with-krb5