From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Adam Dratwiński <adam(dot)dratwinski(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>, Krzysiek Kotlarski <kotlarski(dot)krzysztof(at)gmail(dot)com> |
Subject: | Re: Long text values destroys logical replication slots |
Date: | 2015-10-28 22:00:53 |
Message-ID: | CAB7nPqRk4-rdKnXb=qTynyw1JgM9txDdg__XciZ6nOyQxjY+ng@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Wed, Oct 28, 2015 at 10:17 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> Can you reproduce it with test_decoding as the output plugin?
You can just use that for example to get an assertion failure:
CREATE TABLE a (b text);
ALTER TABLE ONLY a REPLICA IDENTITY FULL;
SELECT * FROM pg_create_logical_replication_slot('new', 'test_decoding');
INSERT INTO a (b) VALUES (repeat('k', 2000000));
UPDATE a SET b = 'c';
select * from pg_logical_slot_peek_changes('new', NULL, NULL); -- boom
frame #3: 0x0000000100458ca9
postgres`DecodeXLogTuple(data=0x00007fb7e2126046, len=22910,
tuple=0x000000010a32e038) + 137 at decode.c:856
853 int datalen = len - SizeOfHeapHeader;
854
855 Assert(datalen >= 0);
-> 856 Assert(datalen <= MaxHeapTupleSize);
(lldb) p datalen
(int) $0 = 22905
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2015-10-28 22:23:56 | Re: Long text values destroys logical replication slots |
Previous Message | ckline | 2015-10-28 21:24:12 | BUG #13743: Incorrect default value in documentation for --serviceaccount option to Postgres installer |