WHERE complete_status = False AND start_time <= NOW()
Смотреть, чтобы задача была ещё не выполнена и чтобы время когда её надо было выполнить уже прошло или только сейчас наступило
Вряд ли вам кто-то сможэт это запретить — но вряд ли эти манипуляцыи с нау() приведут к чему-то осмысленному.
Регулярно так по крону всякие штуки выгребаю из базы. Обычно только поле тогда стараюсь называть в духе something_scheduled_at.
SELECT * FROM Tasks WHERE not complete_status AND start_time <= NOW()
Короче, можете. Ещё в к нему можете примерно вот такой индекс создать и вытаскивать айдишники задач с помощью index only scan (чтобы отправлять их в очередь какую, например): CREATE INDEX ON Tasks (start_time) INCLUDE (id) WHERE NOT complete_status;
Ну у меня task_id bigserial
https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_serial
Очень странная рекомендация, столбцы serial проще в обслуживании БД за счёт гибкости в связи sequence и таблицы
Обсуждают сегодня