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

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 по дате отправления:

Предыдущее
От: Luis Marin
Дата:
Сообщение: Re: [ADMIN] Error Encrypting data folder
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [ADMIN] Lock a viewe