From 74007ef5eee52d565048a68f870200c84a3e5721 Mon Sep 17 00:00:00 2001 From: richvdh Date: Wed, 7 Jul 2021 09:44:14 +0000 Subject: deploy: 7c823789921ac34f1fee670be7ef7f6c8266832b --- latest/admin_api/purge_history_api.html | 305 ++++++++++++++++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 latest/admin_api/purge_history_api.html (limited to 'latest/admin_api/purge_history_api.html') diff --git a/latest/admin_api/purge_history_api.html b/latest/admin_api/purge_history_api.html new file mode 100644 index 0000000000..b81a7ce5d7 --- /dev/null +++ b/latest/admin_api/purge_history_api.html @@ -0,0 +1,305 @@ + + + + + + Purge History - Synapse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+
+ +
+ +
+ +

Purge History API

+

The purge history API allows server admins to purge historic events from their +database, reclaiming disk space.

+

Depending on the amount of history being purged a call to the API may take +several minutes or longer. During this period users will not be able to +paginate further back in the room from the point being purged from.

+

Note that Synapse requires at least one message in each room, so it will never +delete the last message in a room.

+

The API is:

+
POST /_synapse/admin/v1/purge_history/<room_id>[/<event_id>]
+
+

To use it, you will need to authenticate by providing an access_token for a +server admin: Admin API

+

By default, events sent by local users are not deleted, as they may represent +the only copies of this content in existence. (Events sent by remote users are +deleted.)

+

Room state data (such as joins, leaves, topic) is always preserved.

+

To delete local message events as well, set delete_local_events in the body:

+
{
+   "delete_local_events": true
+}
+
+

The caller must specify the point in the room to purge up to. This can be +specified by including an event_id in the URI, or by setting a +purge_up_to_event_id or purge_up_to_ts in the request body. If an event +id is given, that event (and others at the same graph depth) will be retained. +If purge_up_to_ts is given, it should be a timestamp since the unix epoch, +in milliseconds.

+

The API starts the purge running, and returns immediately with a JSON body with +a purge id:

+
{
+    "purge_id": "<opaque id>"
+}
+
+

Purge status query

+

It is possible to poll for updates on recent purges with a second API;

+
GET /_synapse/admin/v1/purge_history_status/<purge_id>
+
+

Again, you will need to authenticate by providing an access_token for a +server admin.

+

This API returns a JSON body like the following:

+
{
+    "status": "active"
+}
+
+

The status will be one of active, complete, or failed.

+

Reclaim disk space (Postgres)

+

To reclaim the disk space and return it to the operating system, you need to run +VACUUM FULL; on the database.

+

https://www.postgresql.org/docs/current/sql-vacuum.html

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit 1.5.1