Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql

Поиск
Список
Период
Сортировка
От Ben Chobot
Тема Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql
Дата
Msg-id 34F8B14B-ABA4-45A3-92CE-2E1B755398EF@silentmedia.com
обсуждение исходный текст
Ответ на Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when called from inside pl/pgsql  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql
Список pgsql-bugs
> 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');



Thanks for the fast response, and for the amazing code that is Postgres!

--
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 по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: [BUGS] json(b)_array_elements use causes very large memory usagewhen also referencing entire json document
Следующее
От: Andres Freund
Дата:
Сообщение: Re: [BUGS] pg_logical_slot_peek_changes crashes postgres when calledfrom inside pl/pgsql