我们有一个 PostgreSQL 数据库。而且我们有几个表需要以多种语言保存某些数据(幸运的是,可能的语言列表是在系统范围内定义的)。
例如让我们开始:
create table blah (id serial, foo text, bar text);
现在,让我们让它多语言。怎么样:
create table blah (id serial, foo_en text, foo_de text, foo_jp text,
bar_en text, bar_de text, bar_jp text);
这对于 Postgres 中的全文搜索很有用。只需为每种语言添加一个 tsvector 列。
但它是最优的吗?也许我们应该使用另一个表来保存翻译?喜欢:
create table texts (id serial, colspec text, obj_id int, language text, data text);
也许,只是也许,我们应该使用其他东西——SQL 世界之外的东西?任何帮助表示赞赏。