根据 Discourse 的数据库设计,关于主题表使用了的是 sequence。

ID 字段使用的是 int,sequence 的名字为:topics_id_seq

 

Discourse 最多能存储多少主题_数据库

那么根据 postgres 数据库手册我们知道如果使用 int 的 sequence 最多能存储:2147483647

 

Discourse 最多能存储多少主题_数据库设计_02

那么整体来说,Discourse 的设计能够存储 20 亿左右数据在主题中,对大部分的社区来说应该是足够了。

如果还想增加的话,Postgres 数据库的数据类型可以使用 bitint,使用下面的 SQL 进行更改。

ALTER SEQUENCE "topics_id_seq" AS bigint MAXVALUE 9223372036854775807;

在当前运营的很多社区中,这个更改其实没有太大必要,因为很少可能会存储到这么大的数据。