如何创建一个可以存储超过10000列CSV表数据的PostgreSQL数据库?

cnh2zyt3  于 5个月前  发布在  PostgreSQL
关注(0)|答案(2)|浏览(61)

我是一个SQL新手,我有一个大数据表,属性超过10000列,由CSV托管,这些列来自多个站点,我试图将它们导入数据库来管理它们,因为它们中的大多数都是无关紧要的,但有时我仍然需要它们并更新或添加新数据。
现在的问题是数据库表列限制不能容纳这么多的字段。我试图找到一种方法,将这些数据分别存储在数据库的几个表中,并使用一个接口来选择所有相关的数据。就像table1有两个列,column1,column2,table2有两个列,column3,column4,这两个表通过column1和column3连接,我想选择column1并同时获取column2和4的数据。
csv data

x3naxklr

x3naxklr1#

创建一个表,将重要列和频繁列作为普通列,并添加一个jsonb列。将所有罕见列和不重要列转换为JSON并存储在jsonb列中。如果需要搜索该JSON的属性,请在该列上创建GIN索引。

beq87vna

beq87vna2#

Postgres有一些限制。如果你用它来做大规模的索引,你可能会考虑像pg_bm25这样的东西,或者如果你的数据在当前格式中的行数比列数少得多,你可能会想使用面向列的Postgres?

相关问题