From: | Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com> |
---|---|
To: | Nikita Malakhov <hukutoc(at)gmail(dot)com> |
Cc: | Gurjeet Singh <gurjeet(at)singh(dot)im>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Doc limitation update proposal: include out-of-line OID usage per TOAST-ed columns |
Date: | 2023-04-26 10:18:39 |
Message-ID: | CAKZiRmy9uoK+4W9cjtyVUcCmP_AcUqyNeAG=Bt-J1-OHVZDgoQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
>> 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.
>>
> This is a production case for large databases with high update rates, but is mistaken
> with reaching table size limit, although size limit is processed correctly.
>
> The note on TOAST limitation does not mention that TOAST values are not actually
> updated on UPDATE operation - old value is marked as dead and new one is inserted,
> and dead values should be vacuumed before value OID could be reused. The worst
> is that the INSERT/UPDATE clause does not fail if there is no OID available - it is
> looped in an infinite loop of sorting out OIDs.
OK, so here is the documentation patch proposal. I've also added two
rows touching the subject of pg_largeobjects, as it is also related to
the OIDs topic. Please feel free to send adjusted patches.
Regards,
-J.
Attachment | Content-Type | Size |
---|---|---|
v1-0001-doc-Add-some-OID-TOAST-related-limitations-to-the.patch | application/octet-stream | 4.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2023-04-26 10:27:51 | Re: Add two missing tests in 035_standby_logical_decoding.pl |
Previous Message | Andreas 'ads' Scherbaum | 2023-04-26 10:18:16 | Find dangling membership roles in pg_dumpall |