Alas this no longer works.
sqlite> DELETE FROM queries WHERE timestamp <= strftime('%s', datetime('now', '-30 day'));
Error: cannot modify queries because it is a view
But this seems to work:
sqlite> DELETE FROM query_storage WHERE timestamp <= strftime('%s', datetime('now', '-30 day'));
EDIT: I didn't have enough space to run either the DELETE or the VACUUM SQL commands. Lots of time wasted, though.
So I wound up tossing the old database and starting new. I changed pihole-FTL.conf
to add MAXDBDAYS=180
. Hopefully, that will prevent the database from growing so large next time (it was 11G, btw). The following log entry after restarting seems to confirm that:
[2023-08-12 22:15:02.734 2784M] MAXDBDAYS: max age for stored queries is 180 days
(The default is 365 days.)
Then:
systemctl stop pihole-FTL.service
rm /etc/pihole/pihole-FTL.db
systemctl start pihole-FTL.service
I read in this thread that pihole-FTL
recreates an empty database if you do this as described above.
The following log entry (and subsequent apparent happiness of the system) seems to confirm that:
[2023-08-12 22:15:02.744 2784M] No database file found, creating new (empty) database
My pihole
is apparently back in business. I hope this helps someone else out there.