Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql
От | Andres Freund |
---|---|
Тема | Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql |
Дата | |
Msg-id | 20171007042908.edlsalmkm2ksac4y@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql (Ben Chobot <bench@silentmedia.com>) |
Список | pgsql-bugs |
On 2017-10-06 21:24:34 -0700, Ben Chobot wrote: > > > On Oct 6, 2017, at 4:21 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > > > I wrote: > >> I thought of a better way, as attached. > > > > Pushed. Ben, could you confirm that the committed patch fixes your > > original use-case? The 9.5 version of the patch is at > > > > https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=13d2ed921035f2d88adf87d796373e920bdd56ee > > Not quickly, to be honest. But the test case is not hard. If you can do this without crashing, I'm convinced you've fixedthe problem as I've seen it: > > > SELECT * FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding'); > > CREATE TABLE public.foo(i int); > > insert into public.foo(i) values(1); > > CREATE OR REPLACE FUNCTION logical_replication_slot_lsn_delta(slot text) RETURNS pg_lsn AS > $$ > BEGIN > return location from pg_logical_slot_peek_changes(slot,null,1) limit 1; > END > $$ language plpgsql; > > select logical_replication_slot_lsn_delta('regression_slot'); Yep, that one's definitely fixed now. Greetings, Andres Freund -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
В списке pgsql-bugs по дате отправления: