Отметка времени последнего выполнения / измененной процедуры / дата в Postgresql
У меня есть схема с таблицей вместе с процедурой. Я хочу найти последний запуск или изменения, сделанные в этой процедуре, из этого schema.schema - abc, поэтому для схемы abc процедура proc1 должна показывать последний запуск или любые изменения, сделанные на нем. Как найти это для базы данных Postgresql?
1 ответ
Там нет никакого способа получить эту информацию задним числом, то есть для прошлых прогонов.
Вы можете создать таблицу как proc_last_run
и есть каждая процедура insert
или же update
строка в нем при каждом запуске, но это работает только тогда, когда вы можете изменить каждую процедуру, и только для запусков после ее изменения.
Для пробежек в прошлом вы просто не можете. PostgreSQL не отслеживает эту информацию, поэтому вы не можете ее получить. Возможно, вы сможете извлечь его из журналов сервера, если вы запустите log_statement = 'all'
, но это все.
Для тех, кто просто не мог поверить, что современная СУБД НЕ будет отслеживать дату создания / последнего_изменения хранимой процедуры, вот документ:PostgreSQL → 12.3 → Справочник → Руководство... где говорится: "... Применяется к функции, недоступной в PostgreSQL"