[ADMIN] Lock a viewe - Mailing list pgsql-admin

From Gaetano Mendola
Subject [ADMIN] Lock a viewe
Date
Msg-id CAJycT5rFswAFAykB7aZve7ZF=dm_coTpp2Bb7a4SQmRYqoL7sA@mail.gmail.com
Whole thread Raw
Responses Re: [ADMIN] Lock a viewe  (Luis Marin <luismarinaray@gmail.com>)
Re: [ADMIN] Lock a viewe  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-admin
Hi,
I was wondering if there is a clean view to lock the usage of a view.

Basically during a schema migration, with applications still running a typical
schema change is:

BEGIN;
ALTER TABLE x ADD COLUMN (a INTEGER);
CREATE OR REPLACE VIEW v_x
AS 
SELECT a,b FROM x;
COMMIT;

now the issue is that if an application performs a:

SELECT * from v_x;

between the ALTER and the view redefinition then a deadlock happens.

I'm preventing this issue doing a:

ALTER VIEW v_x ALTER COLUMN b DROP DEFAULT; 
(anyway there was no default on the view)
before the ALTER TABLE, that's basically reorders the locks sequence
avoiding the dead lock.

Is there a clean way to achieve it without the "hack"?


GM







pgsql-admin by date:

Previous
From: xu jian
Date:
Subject: [ADMIN] 答复: Does special index type have index bloat issue? for instance gist, gin, brin?
Next
From: neos@olansoft.com
Date:
Subject: [ADMIN] Too long startup time after crash.