Как добавить зависящий от времени триггер в PostgreSQL? - PullRequest
4 голосов
/ 08 февраля 2012

Я в замешательстве и не знаю, как:

  • Добавление триггера в базу данных postgresql после ее создания, т. Е. Добавление триггера путем нажатия гиперссылки
  • Напишите функцию триггера, чтобы она удаляла определенную строку через неделю после того, как триггер был написан.

Это последовательность событий раз только для ясности

  1. Администратор видит запись в db через сгенерированную php html-страницу.
  2. Администратор нажимает «одобрить» гиперссылку рядом с записью в БД.
  3. Это создает триггер в БД для удаления этой конкретной строки через 1 неделю.

Мне нужна помощь с шагом 3

Альтернативный способ сделать это состоит в том, чтобы иметь триггер в таблице, чтобы при вставке строки создавался новый триггер, который проверяет значение «утвержденного» столбца для этой строки. Когда администратор нажимает «утвердить» на html-странице, слово «да» вставляется в столбец «утверждено» для этой строки. Триггер обнаружит это и добавит новый триггер для удаления строки через неделю?

Как вы можете сказать, я действительно не уверен, какой способ сделать это и как это сделать, поэтому любая обратная связь будет принята с благодарностью. Спасибо.

1 Ответ

2 голосов
/ 08 сентября 2012

Простой: сохраните дату истечения срока действия URL-адреса в вашей базе данных, извлекайте только выбранные в настоящий момент записи (для этого вы можете использовать представление) и время от времени удаляйте просроченные URL-адреса.

Вы не можете использовать триггер, хотя. Однако для запуска процесса очистки можно использовать pgAgent или cron.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...