|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Хочу написать такой запрос: Create trigger on INSERT, UPDATE, DELETE on any table in scheme "LOG" execute INSERT INTO TABLE MAIN( tablename, userid) Values ('$tablename_from_scheme_log', 1) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 17:45 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
TG_TABLE_NAME для выяснения откуда вызван триггер. on any table не существует. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 17:52 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Нашел то, что нужно: авторБлагодаря существованию события table_rewrite, можно реализовать политику перезаписи таблиц, допускающую перезапись только в определённое время обслуживания. Следующий пример демонстрирует реализацию такой политики. CREATE OR REPLACE FUNCTION no_rewrite() RETURNS event_trigger LANGUAGE plpgsql AS $$ --- --- Реализация локальной политики перезаписи таблиц: --- перезапись public.foo не допускается, --- другие таблицы могут перезаписываться между 1 часом ночи и 6 часами утра, --- если только их размер не превышает 100 блоков --- DECLARE table_oid oid := pg_event_trigger_table_rewrite_oid(); current_hour integer := extract('hour' from current_time); pages integer; max_pages integer := 100; BEGIN IF pg_event_trigger_table_rewrite_oid() = 'public.foo'::regclass THEN RAISE EXCEPTION 'you''re not allowed to rewrite the table %', table_oid::regclass; END IF; SELECT INTO pages relpages FROM pg_class WHERE oid = table_oid; IF pages > max_pages THEN RAISE EXCEPTION 'rewrites only allowed for table with less than % pages', max_pages; END IF; IF current_hour NOT BETWEEN 1 AND 6 THEN RAISE EXCEPTION 'rewrites only allowed between 1am and 6am'; END IF; END; $$; CREATE EVENT TRIGGER no_rewrite_allowed ON table_rewrite EXECUTE PROCEDURE no_rewrite(); ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2021, 09:43 |
|
|
start [/forum/topic.php?fid=53&fpage=10&tid=1993972]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 251ms |
total: | 376ms |
0 / 0 |