powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Trigger на pg_stat_statements
4 сообщений из 4, страница 1 из 1
Trigger на pg_stat_statements
    #39746615
rinace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему то не работает банальная конструкция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
CREATE OR REPLACE FUNCTION pstat.pg_stat_statements_insert_trigger() RETURNS trigger AS
$$
BEGIN
  INSERT INTO pstat.sql_base_set ( id ) VALUES ( 1 );
  RAISE EXCEPTION '***TEST***' ;
  RETURN NULL;
END;
$$ LANGUAGE plpgsql;

DROP TRIGGER pg_stat_statements_insert_trigger ON pg_stat_statements ; 

CREATE TRIGGER pg_stat_statements_insert_trigger
INSTEAD OF INSERT OR UPDATE ON pg_stat_statements
FOR EACH ROW EXECUTE PROCEDURE pstat.pg_stat_statements_insert_trigger();

postgres=# select pg_stat_statements_reset() ; 
 pg_stat_statements_reset 
--------------------------
 
(1 row)

postgres=# select count(*) from wafer_data ;
  count  
---------
 2000002
(1 row)

postgres=# \g  
  count  
---------
 2000002
(1 row)

postgres=# select count(*) from pg_stat_statements ;
 count 
-------
     2
(1 row)

postgres=# select count(*) from shipment ;
 count 
-------
  2000
(1 row)

postgres=# select count(*) from pg_stat_statements ;
 count 
-------
     4
(1 row)

postgres=# select * from pstat.sql_base_set ; 
 id | mean_time | max_time | plan 
----+-----------+----------+------
(0 rows)


Или я где-то позорно ошибаюсь, или просто в принципе нельзя использовать триггер с представлением pg_stat_statements;
...
Рейтинг: 0 / 0
Trigger на pg_stat_statements
    #39746645
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rinace,

ну так конечно триггер на вью не будет работать. он и создался то только потому что его как instead of объявили. т.е. если сделать запрос insert into pg_stat_statements - то он сработает. но такого база делать сама не будет. это вью - просто обертка над функцией pg_stat_statements().
...
Рейтинг: 0 / 0
Trigger на pg_stat_statements
    #39746647
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rinace,

Нельзя конечно.
Посмотрите на определение \d+ pg_stat_statements
это просто выборка из сишной функции pg_stat_statements()
которая до кучи еще и внутри просто текстовый файл читает где эта вся стата копится.
Там нет никаких insert/update/delete...

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Trigger на pg_stat_statements
    #39746648
rinace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexiusrinace,

ну так конечно триггер на вью не будет работать. он и создался то только потому что его как instead of объявили. т.е. если сделать запрос insert into pg_stat_statements - то он сработает. но такого база делать сама не будет. это вью - просто обертка над функцией pg_stat_statements().
Примерно этого и опасался.
Спасибо .
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Trigger на pg_stat_statements
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]