X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=docs%2Fadministration%2FCLI_tasks%2Fdatabase.md;h=a2d2e8cdda516b57db0d2bdb322f7346a3f6876a;hb=acb03d591bea1b20a715201f479f1ad7bf7bb67b;hp=64dd66c0cc0391ce1f144ed3e07a5e6be4a65958;hpb=a94210c70bb4fa907a355b352f3be739387f2a63;p=akkoma diff --git a/docs/administration/CLI_tasks/database.md b/docs/administration/CLI_tasks/database.md index 64dd66c0c..a2d2e8cdd 100644 --- a/docs/administration/CLI_tasks/database.md +++ b/docs/administration/CLI_tasks/database.md @@ -9,13 +9,18 @@ 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 tab="OTP" -./bin/pleroma_ctl database remove_embedded_objects [option ...] -``` +=== "OTP" + + ```sh + ./bin/pleroma_ctl database remove_embedded_objects [option ...] + ``` + +=== "From Source" + + ```sh + mix pleroma.database remove_embedded_objects [option ...] + ``` -```sh tab="From Source" -mix pleroma.database remove_embedded_objects [option ...] -``` ### Options - `--vacuum` - run `VACUUM FULL` after the embedded objects are replaced with their references @@ -27,13 +32,17 @@ This will prune remote posts older than 90 days (configurable with [`config :ple !!! danger The disk space will only be reclaimed after `VACUUM FULL`. You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free. -```sh tab="OTP" -./bin/pleroma_ctl database prune_objects [option ...] -``` +=== "OTP" -```sh tab="From Source" -mix pleroma.database prune_objects [option ...] -``` + ```sh + ./bin/pleroma_ctl database prune_objects [option ...] + ``` + +=== "From Source" + + ```sh + mix pleroma.database prune_objects [option ...] + ``` ### Options - `--vacuum` - run `VACUUM FULL` after the objects are pruned @@ -42,32 +51,54 @@ mix pleroma.database prune_objects [option ...] Can be safely re-run -```sh tab="OTP" -./bin/pleroma_ctl database bump_all_conversations -``` +=== "OTP" -```sh tab="From Source" -mix pleroma.database bump_all_conversations -``` + ```sh + ./bin/pleroma_ctl database bump_all_conversations + ``` + +=== "From Source" + + ```sh + mix pleroma.database bump_all_conversations + ``` ## Remove duplicated items from following and update followers count for all users -```sh tab="OTP" -./bin/pleroma_ctl database update_users_following_followers_counts -``` +=== "OTP" -```sh tab="From Source" -mix pleroma.database update_users_following_followers_counts -``` + ```sh + ./bin/pleroma_ctl database update_users_following_followers_counts + ``` + +=== "From Source" + + ```sh + mix pleroma.database update_users_following_followers_counts + ``` ## Fix the pre-existing "likes" collections for all objects +=== "OTP" + + ```sh + ./bin/pleroma_ctl database fix_likes_collections + ``` + +=== "From Source" + + ```sh + mix pleroma.database fix_likes_collections + ``` + +## Fill hashtags for old objects + ```sh tab="OTP" -./bin/pleroma_ctl database fix_likes_collections +./bin/pleroma_ctl database fill_old_hashtags ``` ```sh tab="From Source" -mix pleroma.database fix_likes_collections +mix pleroma.database fill_old_hashtags ``` ## Vacuum the database @@ -76,13 +107,17 @@ mix pleroma.database fix_likes_collections Running an `analyze` vacuum job can improve performance by updating statistics used by the query planner. **It is safe to cancel this.** -```sh tab="OTP" -./bin/pleroma_ctl database vacuum analyze -``` +=== "OTP" -```sh tab="From Source" -mix pleroma.database vacuum analyze -``` + ```sh + ./bin/pleroma_ctl database vacuum analyze + ``` + +=== "From Source" + + ```sh + mix pleroma.database vacuum analyze + ``` ### Full @@ -91,20 +126,28 @@ and more compact files with an optimized layout. This process will take a long t it builds the files side-by-side the existing database files. It can make your database faster and use less disk space, but should only be run if necessary. **It is safe to cancel this.** -```sh tab="OTP" -./bin/pleroma_ctl database vacuum full -``` +=== "OTP" -```sh tab="From Source" -mix pleroma.database vacuum full -``` + ```sh + ./bin/pleroma_ctl database vacuum full + ``` + +=== "From Source" + + ```sh + mix pleroma.database vacuum full + ``` ## Add expiration to all local statuses -```sh tab="OTP" -./bin/pleroma_ctl database ensure_expiration -``` +=== "OTP" -```sh tab="From Source" -mix pleroma.database ensure_expiration -``` + ```sh + ./bin/pleroma_ctl database ensure_expiration + ``` + +=== "From Source" + + ```sh + mix pleroma.database ensure_expiration + ```