articles:informatique:nettoyage_de_la_base_de_donnee_de_pleroma
Ceci est une ancienne révision du document !
Table des matières
Suppressions des activités distantes anciennes
DELETE FROM activities WHERE LOCAL = FALSE AND updated_at < (CURRENT_DATE - INTERVAL '90 days'); -- Ici 90 jours, à ajuster si besoin
Suppresions des objects anciens qui ne sont pas locaux
Suppression sans tenir compte des personnes suivies
DELETE FROM objects WHERE id NOT IN (SELECT CAST(data->>'context_id' AS BIGINT) FROM activities) AND data->>'actor' NOT LIKE '%pleroma.antoineve.me%' -- Personnaliser le nom de l'instance ! AND updated_at < (CURRENT_DATE - INTERVAL '90 days'); -- Ici 90 jours, à ajuster si besoin
Suppression, sauf ceux des personnes suivies
Suppressions de utilisateurs
Ceux qui n'ont aucun lien avec les activités ou les objets
DELETE FROM users WHERE ap_id NOT IN ( SELECT data->>'actor' AS actor FROM objects WHERE data->>'actor' IS NOT NULL GROUP BY actor HAVING COUNT(*) > 1) AND ap_id NOT IN ( SELECT actor FROM activities GROUP BY actor HAVING COUNT(*) > 1) AND ( ap_id LIKE '%/u%/%' -- Certains services ActivityPub OR ap_id LIKE '%/account%/%' -- utilisent d'autres termes OR ap_id LIKE '%/profile/%' -- pour l'uri du profil utilisateur. OR ap_id LIKE '%/@/%' -- Ce filtre permet d'éviter d'effacer OR ap_id LIKE '%/author/%'); -- des relais, des collections, ...
Ceux qui n'ont aucun followers et ne suivent personnes
DELETE FROM users WHERE following_count = 0 AND follower_count = 0;
articles/informatique/nettoyage_de_la_base_de_donnee_de_pleroma.1587848943.txt · Dernière modification : 25/04/2020 21:09 de antoineve