Re: Updating column default values in code

From: Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com>
To: Brad White <b55white(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Updating column default values in code
Date: 2023-01-07 01:44:37
Message-ID: CAD3a31VXkMh9b=hWrCW8+r-ygm3iFywXH0kHYBFEY8E+_7_hWw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jan 6, 2023 at 3:32 PM Brad White <b55white(at)gmail(dot)com> wrote:

> I can generate ALTER statements, per David's sensible suggestion, but they
> fail because you have to drop all the views.
>

> Altering the defaults seems safe because the default value
> shouldn't affect the view at all.
>

Are you sure those alter statements will fail? I do that frequently. Plus
would expect it to work because of your second statement.

Here's an example, running on 9.6:

CREATE TABLE foo (f1 integer DEFAULT 1, f2 integer);
CREATE VIEW foo_view AS SELECT * FROM foo;
ALTER TABLE foo ALTER COLUMN f1 SET DEFAULT 3;
ALTER TABLE foo ALTER COLUMN f2 SET DEFAULT 2;

agency=> BEGIN;
BEGIN
agency=> CREATE TABLE foo (f1 integer DEFAULT 1, f2 integer);
CREATE TABLE
agency=> CREATE VIEW foo_view AS SELECT * FROM foo;
CREATE VIEW
agency=> ALTER TABLE foo ALTER COLUMN f1 SET DEFAULT 3;
ALTER TABLE
agency=> ALTER TABLE foo ALTER COLUMN f2 SET DEFAULT 2;
ALTER TABLE

Cheers,
Ken

--
AGENCY Software
A Free Software data system
By and for non-profits
*http://agency-software.org/ <http://agency-software.org/>*
*https://demo.agency-software.org/client
<https://demo.agency-software.org/client>*
ken(dot)tanzer(at)agency-software(dot)org
(253) 245-3801

Subscribe to the mailing list
<agency-general-request(at)lists(dot)sourceforge(dot)net?body=subscribe> to
learn more about AGENCY or
follow the discussion.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2023-01-07 03:26:32 Re: Regd. the Implementation of Wallet (in Oracle) config equivalent in postgreSQL whilst the database migration
Previous Message Brad White 2023-01-06 23:31:48 Re: Updating column default values in code