documentation/Database-Information-and-Maintenance.md

22 lines
908 B
Markdown
Raw Normal View History

2019-01-24 17:49:21 +00:00
Invidious needs one PostgreSQL database with five tables.
`channel_videos` Stores truncated video info, used to create user feeds
`channels` Stores UCID and author name
`nonces` Keeps track of tokens issued to prevent CSRF
`users` Stores user info, such as preferences, username, subscriptions
2019-02-10 20:05:52 +00:00
`session_ids` Keeps track of user sessions
`videos` Stores video cache, used to create "top" page
2019-01-24 17:49:21 +00:00
The table `videos` grows a lot and needs the most storage. You can clean it up using following commands:
```bash
$ sudo -i -u postgres
$ psql invidious -c "DELETE FROM nonces * WHERE expire < current_timestamp"
2019-01-24 17:49:21 +00:00
$ psql invidious -c "TRUNCATE TABLE videos"
$ exit
```
For regular maintenance you should add a cronjob for these commands
```bash
2019-01-25 18:38:56 +00:00
@weekly psql invidious -c "DELETE FROM nonces * WHERE expire < current_timestamp" > /dev/null
@weekly psql invidious -c "TRUNCATE TABLE videos" > /dev/null
2019-01-24 17:49:21 +00:00
```