Отметка времени последнего выполнения / измененной процедуры / дата в Postgresql

У меня есть схема с таблицей вместе с процедурой. Я хочу найти последний запуск или изменения, сделанные в этой процедуре, из этого schema.schema - abc, поэтому для схемы abc процедура proc1 должна показывать последний запуск или любые изменения, сделанные на нем. Как найти это для базы данных Postgresql?

1 ответ

Решение

Там нет никакого способа получить эту информацию задним числом, то есть для прошлых прогонов.

Вы можете создать таблицу как proc_last_run и есть каждая процедура insert или же update строка в нем при каждом запуске, но это работает только тогда, когда вы можете изменить каждую процедуру, и только для запусков после ее изменения.

Для пробежек в прошлом вы просто не можете. PostgreSQL не отслеживает эту информацию, поэтому вы не можете ее получить. Возможно, вы сможете извлечь его из журналов сервера, если вы запустите log_statement = 'all', но это все.

Для тех, кто просто не мог поверить, что современная СУБД НЕ будет отслеживать дату создания / последнего_изменения хранимой процедуры, вот документ:PostgreSQL → 12.3 → Справочник → Руководство... где говорится: "... Применяется к функции, недоступной в PostgreSQL"

Другие вопросы по тегам