diff options
Diffstat (limited to 'src/sql/accessLogPurgeOld.sql')
| -rw-r--r-- | src/sql/accessLogPurgeOld.sql | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/src/sql/accessLogPurgeOld.sql b/src/sql/accessLogPurgeOld.sql index 18ec775..00e55b5 100644 --- a/src/sql/accessLogPurgeOld.sql +++ b/src/sql/accessLogPurgeOld.sql @@ -1,18 +1,13 @@ -WITH scope AS ( +WITH delete_batch AS ( SELECT - id + ctid FROM access_log + WHERE + request_time < CURRENT_DATE - ?::interval ORDER BY - id - LIMIT ? -), -scoperange AS ( - SELECT - min(id) minid, - max(id) maxid - FROM - scope) -DELETE FROM access_log USING scoperange -WHERE request_time < CURRENT_DATE - ?::interval - AND access_log.id BETWEEN scoperange.minid AND scoperange.maxid + request_time + FOR UPDATE +LIMIT ?) +DELETE FROM access_log AS al USING delete_batch AS del +WHERE al.ctid = del.ctid |
