Нет способа сделать это только с использованием базы данных без периодической проверки.
Если вам нужно уведомление в клиентском приложении, тогда можно использовать LISTEN / NOTIFY.Вам необходимо настроить планировщик сервера (например, cron) для запуска сценария, который подключается к серверу в 00:00 и выдает NOTIFY.Но для этого потребуется Java-клиент для периодической проверки на PQnotifies
, что не лучше, чем просто периодическая проверка current_date
.
Для чего вам это нужно?Возможно, есть лучшее решение для вашей проблемы подчеркивания.
Ваш единственный разумный вариант - создать программу на сервере, которая будет выполнять ежедневное обслуживание и планировать ее с помощью планировщика операционной системы сервера (cron в Unices, Windows Task).Планировщик в Windows).
Для дополнительной надежности:
- установите свой сценарий обслуживания, чтобы заблокировать специальное обслуживание таблицы (дата last_maintenance)
- , когда клиент подключается кбаза данных должна проверить, если current_date = last_maintenance, и выдать ошибку, если это не так;
- , если текущее обслуживание выполняется, тогда оно просто будет ждать блокировки до завершения.