Re: Walsender getting klilled, ERROR: out of memory in server logs

Поиск
Список
Период
Сортировка
От Laurenz Albe
Тема Re: Walsender getting klilled, ERROR: out of memory in server logs
Дата
Msg-id d6f7e0a17f098f8cd7368a5eec719b981bb63e0e.camel@cybertec.at
обсуждение исходный текст
Ответ на Walsender getting klilled, ERROR: out of memory in server logs  (Subhrajit Mutsuddi <subhrajitmutsuddi@gmail.com>)
Список pgsql-bugs
On Tue, 2024-03-26 at 09:54 +0530, Subhrajit Mutsuddi wrote:
> I have a table test(id int, lobcol bytea), the REPLICA IDENTITY setting of the
> table is set to FULL. We are using the test_decoding plugin for logical decoding.
> We inserted a record with lobcol size of 256 MB. While updating that record with
> another lobcol value of 256 MB, we found in the server logs that the corresponding
> walsender process keeps getting killed and it shows 'out of memory' and this
> particular message repeats. 
>
> [11349] ERROR:  out of memory
> DETAIL:  Cannot enlarge string buffer containing 1073741822 bytes by 1 more bytes.
>
> Can you please help me understand the cause of this issue ? If there are any
> relevant documentation links or any possible workaround please share it.

1B is the maximum amount of memory for an allocation in PostgreSQL.

With REPLICA IDENTITY FULL, the UPDATE has to contain both the old and the
new value for the "bytea".  In text mode, a "bytea" is more than twice its
binary size, because it is encoded as a hexadecimal string.

You might have more luck if you create the subscription with the "binary"
option.

But it is mildly insane to use REPLICA IDENTITY FULL with such a table.
Create a primary key and use that as replica identity.

Yours,
Laurenz Albe



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: BUG #18408: ERROR: could not load library
Следующее
От: Tender Wang
Дата:
Сообщение: Re: BUG #18396: Assert in gistFindCorrectParent() fails on inserting large tuples into gist index