根据About PostgreSQL,它是“ 250-1600,取决于列类型”。请参阅“限制”。列类型会影响它,因为在PostgreSQL中,行的宽度最多为8kb(一页),它们不能跨越页面。列大的值是可以的,因为这一点,但有给你多少列适合在极限TOAST把手取决于所使用的未烘烤的数据类型多宽的。
(严格来讲,是指可以存储在磁盘上的排列;查询可能能够使用更宽的列集比这我不建议依靠它。)
如果您甚至在考虑达到列限制,那么您可能会遇到问题。
将电子表格映射到关系数据库似乎是世界上最简单的事情-将列映射为列,将行映射为行,然后运行。对?实际上,电子表格是巨大的自由形式的庞然大物,它们不强制执行任何结构,而且确实很笨拙。关系数据库设计用于处理大量的多行,但有代价的; 在PostgreSQL的情况下,该成本的一部分是对它喜欢这些行的宽度的限制。当面对电子表格创建由Joe用户这可能是一个真正的问题。
一种“解决方案”是将它们分解为EAV,但是使用起来却非常缓慢且难看。更好的解决方案是在可能的情况下使用数组,复合类型hstore,json,xml等。
但是,最终,最好的答案有时是使用电子表格分析电子表格。