aboutsummaryrefslogtreecommitdiff
path: root/docs/administration/CLI_tasks/database.md
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-10-06 11:43:49 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-10-06 11:43:49 +0300
commit06b3bb54c5567fe82ad2a015673fffba667997ee (patch)
tree84bde8abcef86ef398eef0afdc9ae77e5f464bf1 /docs/administration/CLI_tasks/database.md
parent64095961fe490029886cae358683532ea65bf2c0 (diff)
parent9e34919dcdbeedf8eb623dc86b05f63ef44d8859 (diff)
downloadpleroma-06b3bb54c5567fe82ad2a015673fffba667997ee.tar.gz
Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts: # CHANGELOG.md # lib/pleroma/web/mastodon_api/controllers/account_controller.ex # lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex # lib/pleroma/web/router.ex
Diffstat (limited to 'docs/administration/CLI_tasks/database.md')
-rw-r--r--docs/administration/CLI_tasks/database.md48
1 files changed, 48 insertions, 0 deletions
diff --git a/docs/administration/CLI_tasks/database.md b/docs/administration/CLI_tasks/database.md
new file mode 100644
index 000000000..484639231
--- /dev/null
+++ b/docs/administration/CLI_tasks/database.md
@@ -0,0 +1,48 @@
+# Database maintenance tasks
+
+Every command should be ran with a prefix, in case of OTP releases it is `./bin/pleroma_ctl database` and in case of source installs it's `mix pleroma.database`.
+
+## Replace embedded objects with their references
+
+Replaces embedded objects with references to them in the `objects` table. Only needs to be ran once if the instance was created before Pleroma 1.0.5. The reason why this is not a migration is because it could significantly increase the database size after being ran, however after this `VACUUM FULL` will be able to reclaim about 20% (really depends on what is in the database, your mileage may vary) of the db size before the migration.
+
+```sh
+$PREFIX remove_embedded_objects [<options>]
+```
+
+### Options
+- `--vacuum` - run `VACUUM FULL` after the embedded objects are replaced with their references
+
+## Prune old remote posts from the database
+
+This will prune remote posts older than 90 days (configurable with [`config :pleroma, :instance, remote_post_retention_days`](../../configuration/cheatsheet.md#instance)) from the database, they will be refetched from source when accessed.
+
+!!! note
+ The disk space will only be reclaimed after `VACUUM FULL`
+
+```sh
+$PREFIX pleroma.database prune_objects [<options>]
+```
+
+### Options
+- `--vacuum` - run `VACUUM FULL` after the objects are pruned
+
+## Create a conversation for all existing DMs
+
+Can be safely re-run
+
+```sh
+$PREFIX bump_all_conversations
+```
+
+## Remove duplicated items from following and update followers count for all users
+
+```sh
+$PREFIX update_users_following_followers_counts
+```
+
+## Fix the pre-existing "likes" collections for all objects
+
+```sh
+$PREFIX fix_likes_collections
+```