Accommodate very large dshash tables.
authorNathan Bossart <nathan@postgresql.org>
Tue, 17 Dec 2024 21:24:45 +0000 (15:24 -0600)
committerNathan Bossart <nathan@postgresql.org>
Tue, 17 Dec 2024 21:24:45 +0000 (15:24 -0600)
commit84f1b0b031e6914c41623102b93fed8ab0e51253
treea2b70975b2db5c5ddc840c53c8118554edf356d4
parent7a80e381d16c642d00ec6146ccdf1262a159c69e
Accommodate very large dshash tables.

If a dshash table grows very large (e.g., the dshash table for
cumulative statistics when there are millions of tables), resizing
it may fail with an error like:

ERROR: invalid DSA memory alloc request size 1073741824

To fix, permit dshash resizing to allocate more than 1 GB by
providing the DSA_ALLOC_HUGE flag.

Reported-by: Andreas Scherbaum
Author: Matthias van de Meent
Reviewed-by: Cédric Villemain, Michael Paquier, Andres Freund
Discussion: https://postgr.es/m/80a12d59-0d5e-4c54-866c-e69cd6536471%40pgug.de
Backpatch-through: 13
src/backend/lib/dshash.c