Re: [GENERAL] Table Updatable By Trigger Only

Поиск
Список
Период
Сортировка
От Osahon Oduware
Тема Re: [GENERAL] Table Updatable By Trigger Only
Дата
Msg-id CAGpiUSj2sEP9NMKMvMRqCTDqaWabKfnUzvGa57kwDFRPjv0ASA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [GENERAL] Table Updatable By Trigger Only  (Achilleas Mantzios <achill@matrix.gatewaynet.com>)
Ответы Re: [GENERAL] Table Updatable By Trigger Only
Список pgsql-general
Hi Achilleas,

The pg_trigger_depth() function solved the issue. Thanks a lot, you made my day.

On Tue, Jun 20, 2017 at 12:58 PM, Achilleas Mantzios <achill@matrix.gatewaynet.com> wrote:
On 20/06/2017 14:43, Osahon Oduware wrote:
Hi All,

I have a trigger on a PostGIS table (say table A) that automatically updates another PostGIS table (say table B). Also, users connect to these tables (table A and B) using QGIS. However, I want the updates to table B to be done by the trigger only (i.e. I don't want table B to be updated from QGIS).

I have tried revoking UPDATE permissions on table B, but this prevents the trigger from updating the table also as the trigger has to work with the permissions of the user.

Is there a way of making table B updatable by the trigger only?


Write an ON UPDATE trigger on table B, and inside the code check for pg_trigger_depth() . If this is == 1 (called by user UPDATE) then RAISE an exception. If it is >1 then it is called by the other trigger,


-- 
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt

В списке pgsql-general по дате отправления:

Предыдущее
От: Achilleas Mantzios
Дата:
Сообщение: Re: [GENERAL] Table Updatable By Trigger Only
Следующее
От: Steve Clark
Дата:
Сообщение: [GENERAL] Schedule