Re: Doc limitation update proposal: include out-of-line OID usage per TOAST-ed columns
Gurjeet Singh <gurjeet@singh.im>
From: Gurjeet Singh <gurjeet@singh.im>
To: Nikita Malakhov <hukutoc@gmail.com>
Cc: Jakub Wartak <jakub.wartak@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2023-04-22T15:42:29Z
Lists: pgsql-hackers
On Fri, Apr 21, 2023 at 12:14 AM Nikita Malakhov <hukutoc@gmail.com> wrote: > This limitation applies not only to wide tables - it also applies to tables where TOASTed values > are updated very often. You would soon be out of available TOAST value ID because in case of > high frequency updates autovacuum cleanup rate won't keep up with the updates. It is discussed > in [1]. > > On Fri, Apr 21, 2023 at 9:39 AM Jakub Wartak <jakub.wartak@enterprisedb.com> wrote: >> I would like to ask if it wouldn't be good idea to copy the >> https://wiki.postgresql.org/wiki/TOAST#Total_table_size_limit >> discussion (out-of-line OID usage per TOAST-ed columns / potential >> limitation) to the official "Appendix K. PostgreSQL Limits" with also >> little bonus mentioning the "still searching for an unused OID in >> relation" notice. Although it is pretty obvious information for some >> and from commit 7fbcee1b2d5f1012c67942126881bd492e95077e and the >> discussion in [1], I wonder if the information shouldn't be a little >> more well known via the limitation (especially to steer people away >> from designing very wide non-partitioned tables). >> >> [1] - https://www.postgresql.org/message-id/flat/16722-93043fb459a41073%40postgresql.org > > [1] https://www.postgresql.org/message-id/CAN-LCVPRvRzxeUdYdDCZ7UwZQs1NmZpqBUCd%3D%2BRdMPFTyt-bRQ%40mail.gmail.com These 2 discussions show that it's a painful experience to run into this problem, and that the hackers have ideas on how to fix it, but those fixes haven't materialized for years. So I would say that, yes, this info belongs in the hard-limits section, because who knows how long it'll take this to be fixed. Please submit a patch. I anticipate that edits to Appendix K Postgres Limits will prompt improving the note in there about the maximum column limit, That note is too wordy, and sometimes confusing, especially for the audience that it's written for: newcomers to Postgres ecosystem. Best regards, Gurjeet https://Gurje.et http://aws.amazon.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Document limit on the number of out-of-line values per table
- e51160fa0bab 15.9 landed
- dda341b32c88 14.14 landed
- c9aa6f4f86fc 13.17 landed
- 667401dd40c8 17.0 landed
- 5ff394503ce2 12.21 landed
- 4d93bbd4e0d4 18.0 landed
- 409be33c3136 16.5 landed
-
Log when GetNewOidWithIndex() fails to find unused OID many times.
- 7fbcee1b2d5f 14.0 cited