# Очистка базы данных перед обновлением до PostgreSQL 18: рекомендуемый срок хранения для таблиц логов и статистики?

**URL:** https://meta.discourse.org/t/database-cleanup-before-postgresql-18-upgrade-recommended-retention-period-for-log-statistics-tables/409130
**Category:** Support
**Created:** [03.Август.2026 06:55:29 UTC](https://meta.discourse.org/t/database-cleanup-before-postgresql-18-upgrade-recommended-retention-period-for-log-statistics-tables/409130 "2026-08-03T06:55:29Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![scavin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/scavin/32/115938_2.png) [@scavin](https://meta.discourse.org/u/scavin)
#### Post date: [03.Август.2026 06:55:29 UTC](https://meta.discourse.org/t/database-cleanup-before-postgresql-18-upgrade-recommended-retention-period-for-log-statistics-tables/409130/1 "2026-08-03T06:55:29Z")

</div>

Всем привет,

Я видел руководство по обновлению PostgreSQL 18 для самовыгруженных инстансов Discourse:

> [@Обновление PostgreSQL 18 для self-hosters](https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194):
>
> warning ВНИМАНИЕ! Если ваша база данных очень большая, вам потребуется много дополнительного дискового пространства (в 3 раза больше размера базы данных), и следует проявлять крайнюю осторожность при этом обновлении! Мы только что внедрили изменения для обновления нашего Docker-образа до PostgreSQL 18. Любые администраторы сайтов, пересобирающие Discourse из командной строки, будут обновлены с PostgreSQL 15 до PostgreSQL 18. Обратите внимание, что если вы воздержались от обновления, когда…

В нем упоминается, что процесс обновления требует значительного дополнительного дискового пространства, поэтому я начал проверять использование диска и размер базы данных перед попыткой миграции.

Мое текущее использование диска:

```plaintext
/dev/sda1 97G 44G 54G 45% /

```

Размер моей базы данных Discourse составляет около 21 ГБ. Я обнаружил, что большая часть пространства не используется постами, а несколькими таблицами статистики и журналов.

Самые крупные таблицы:

```plaintext
topic_views 5.2 GB
post_timings 1.9 GB
browser_pageview_events 1.8 GB
ai_api_audit_logs 1.6 GB
incoming_links 1.5 GB
user_auth_token_logs 1.2 GB

```

Для сравнения:

```plaintext
posts 844 MB

```

Я проверил диапазоны данных:

```plaintext
topic_views:
2015-04-03 ~ 2026-08-03

incoming_links:
2015-04-09 ~ 2026-08-03

user_auth_token_logs:
2021-08-15 ~ 2026-08-03

ai_api_audit_logs:
2026-02-04 ~ 2026-08-03

browser_pageview_events:
2026-05-28 ~ 2026-08-03

```

Я понимаю, что эти таблицы имеют разные цели, но я не уверен, какие периоды хранения считаются разумными для производственного инстанса Discourse.

Мои вопросы:

1. Для `user_auth_token_logs`, как долго вы обычно храните записи?

2. Для таблиц, таких как `incoming_links`, `topic_views` и `post_timings`, вы обычно храните все исторические данные или периодически удаляете более старые записи?

3. Есть ли какие-либо рекомендуемые процедуры очистки или обслуживания перед крупным обновлением PostgreSQL?

До сих пор я ничего не удалял. Я только запустил:

```bash
vacuumdb --analyze discourse

```

Моя цель — освободить ненужное дисковое пространство перед обновлением до PostgreSQL 18, сохраняя при этом нормальную функциональность Discourse и полезную информацию для аудита.

Буду благодарен за любые рекомендации или реальный опыт людей, управляющих самовыгруженными сайтами Discourse.

Спасибо!

---

_[View the full topic](https://meta.discourse.org/t/database-cleanup-before-postgresql-18-upgrade-recommended-retention-period-for-log-statistics-tables/409130)._
