17/02/2026 à 23H00 - Nettoyage du serveur Synapse Matrix

le serveur synapse va être coupé quelques minutes pour nettoyage de la base de données qui pèse >90Go

Explications détaillées

https://forum.arn-fai.net/t/topic/10096/9

Alors alors ? :grin:

Le serveur est redémarré. Je vais encore màj ce soir.

De 95GB, après Réindexation de la BDD on est tombés à 52GB, et après vidange on est à 27GB :smiley: Je vais mettre en place un /etc/cron.weekly/synapse_clean_unreferenced_states pour lancer ça toutes les semaines.

En tant que user useradmin (il faut que $PGPASSWORD $DBUSER $DBNAME soient définis)

  • Arrêter synapse
sudo /home/useradmin/rust-synapse-find-unreferenced-state-groups -p "postgresql://$DBUSER:$■■■■■■■■■■■■■■■■■■■■/$DBNAME" -o "/home/useradmin/unreferenced.csv"
  • Redémarrer synapse
  • Connecter à la BDD postgresql synapse

su -c /usr/bin/psql postgres

SELECT pg_size_pretty( pg_database_size( 'synapse' ) );

\c synapse

CREATE TEMPORARY TABLE unreffed(id BIGINT PRIMARY KEY);
COPY unreffed FROM ‹ /home/useradmin/unreferenced.csv › WITH (FORMAT ‹ csv ›);
DELETE FROM state_groups_state WHERE state_group IN (SELECT id FROM unreffed);
DELETE FROM state_group_edges WHERE state_group IN (SELECT id FROM unreffed);
DELETE FROM state_groups WHERE id IN (SELECT id FROM unreffed);
  • Arrêter synapse
REINDEX DATABASE synapse;
  • Redémarrer synapse
VACUUM FULL;
SELECT pg_size_pretty( pg_database_size( 'synapse' ) );
\q
2 « J'aime »

Faudra m’expliquer ça, j’ai le même problème chez moi.

théoriquement ce sera implémenté un jour dans le paquet yunohost https://github.com/YunoHost-Apps/synapse_ynh/pull/510

Je suis sur Ansible :wink:

l’outil a pas l’air d’y être https://github.com/spantaleev/matrix-docker-ansible-deploy/?tab=readme-ov-file#misc
mais je peux te filer l’exécutable et le cron une fois qu’il sera implémenté. Faudra juste que t’y ajoute les identifiants de ta BDD postgresql synapse. T’es en AMD64 ?

1 « J'aime »

Yes !

Je vais màj synapse, signal et whatsapp. Ca va couper !

Voilà, tout est à jour