From 17f062620701dfbc31f30ea5395ed0cee7c7df5f Mon Sep 17 00:00:00 2001 From: Kat Inskip Date: Wed, 9 Oct 2024 19:41:59 -0400 Subject: [PATCH] feat: fix cleanup autocompressor --- packages/synapse-cleanup/cleanup.sh | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/packages/synapse-cleanup/cleanup.sh b/packages/synapse-cleanup/cleanup.sh index 32229498..de163e43 100644 --- a/packages/synapse-cleanup/cleanup.sh +++ b/packages/synapse-cleanup/cleanup.sh @@ -90,6 +90,37 @@ main() { send_discord_message "Performing database optimization" systemctl stop matrix-synapse + sudo -u postgres psql <<_EOF +BEGIN; + +DELETE +FROM state_compressor_state AS scs +WHERE NOT EXISTS + (SELECT * + FROM rooms AS r + WHERE r.room_id = scs.room_id); + +DELETE +FROM state_compressor_state AS scs +WHERE scs.room_id in + (SELECT DISTINCT room_id + FROM state_compressor_state AS scs2 + WHERE scs2.current_head IS NOT NULL + AND NOT EXISTS + (SELECT * + FROM state_groups AS sg + WHERE sg.id = scs2.current_head)); + +DELETE +FROM state_compressor_progress AS scp +WHERE NOT EXISTS + (SELECT * + FROM state_compressor_state AS scs + WHERE scs.room_id = scp.room_id); + +COMMIT; +_EOF + send_discord_message "Running synapse_auto_compressor" sudo -u matrix-synapse synapse_auto_compressor \ -p "postgresql://matrix-synapse?user=matrix-synapse&host=/var/run/postgresql/" \