Re: [ADMIN] Lock a viewe
От | Luis Marin |
---|---|
Тема | Re: [ADMIN] Lock a viewe |
Дата | |
Msg-id | CAEp6HQWvTKCR+4g08iF4RoxKYC2zO4z4mmN--+Dm7O1Ez+jGtg@mail.gmail.com обсуждение исходный текст |
Ответ на | [ADMIN] Lock a viewe (Gaetano Mendola <mendola@gmail.com>) |
Список | pgsql-admin |
Hi,
Have you tried,
Regards
2016-12-20 16:17 GMT-04:00 Gaetano Mendola <mendola@gmail.com>:
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 по дате отправления: