Search Postgresql Archives

Re: how to add more than 1600 columns in a table?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25/04/2019 10:55, Alvaro Herrera wrote:
On 2019-Apr-24, pabloa98 wrote:

Regarding to (2), We are good by adding a patch and recompile a patched
version for our server databases.

But we are open on helping to add thousands of columns support as a
compile-time parameter if there are other people interested.
It's hard to say what you're doing wrong when we don't know
what are you actually doing.

I think raising the limit requires changing ItemIdData, t_hoff, and a
few members of PageHeaderData at the very least.  Reading the three
header files involved carefully would probably point out areas I've
forgotten to mention.  I think if you enlarge t_hoff and lp_off/lp_len
to 16 bits, you can use 64kB blocks, which might be useful too.

Note that with pg12 you could have your own table AM that supported
wider ItemIds as a (small?) change on heapam, rather than supplant it
for all tables.  That way you would only pay the (probably considerable)
cost of the wider line pointers on all tables ...

I wonder if it might prove a killer feature for some niche uses! Stranger things have come to pass.

Suspect that going beyond 1600 columns would never be the default, even if the pg core devs, were happy to allow it as an official option (presumably at compile time?).  As I think it would have negative performance impacts on the most uses of pg - as Alvaro hinted at.  IMnsHO

Certainly the will be many people intrigued as to what you are trying to do, even if we never want to do the same ourselves.







[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux