1 2 3 4 5 6 7 8 9 10 11 12 13
WITH delete_batch AS ( SELECT ctid FROM access_log WHERE request_time < CURRENT_DATE - ?::interval ORDER BY request_time FOR UPDATE LIMIT ?) DELETE FROM access_log AS al USING delete_batch AS del WHERE al.ctid = del.ctid