On Sun, Jun 22, 2025, 21:59 Amit Kapila <amit.kapil...@gmail.com> wrote:
>
> On Sat, Jun 21, 2025 at 12:57 AM Anne Struble <adstru...@dayzero.io>
wrote:
> >
> > Hello,
> > I'm writing in regards to a fix made in the last release of Postgresql
(specifically, I've looked at versions 15.13 and 16.9). The fix in question
is:
> > Fix data loss in logical replication
> > This is the change set:
> >
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=9f21be08e
> > I did find this related thread in pgsql-bugs:
https://www.postgresql.org/message-id/CAA4eK1L7CA-A%3DVMn8fiugZ%2BCRt%2Bwz473Adrx3nxq8Ougu%3DO2kQ%40mail.gmail.com
.
> >
> > In our implementation of row level security (which is relatively
complex) we rely heavily on temporary tables that we create with every
query. Unfortunately, this approach appears to be incompatible with the
above fix because of the change made to the DDL by creating temporary
tables. If queries are issued quickly enough while having a logical
replication stream open, executing:
> > SELECT * FROM pg_logical_slot_get_changes('slot_name', null,null)
> > will result in a memory allocation error (maybe related to above bug?):
> > ERROR:  invalid memory alloc request size 1086094000
> >
>
> We have pushed a fix for this. See
> d87d07b7ad3b782cb74566cd771ecdb2823adf6a. If possible, can you once
> test the fix?


I actually tested this Friday and with the test case I shared in my
original message, the commit fixed the behavior I was seeing. I will be
testing the fix in our full environment today, but I expect it to pass.

Many thanks!
Anne

>
>
>
> > Time: 17449.051 ms (00:17.449)
> > Additionally, note that executing pg_logical_slot_get_changes is quite
slow (17s above). Steps for reproducing (outside of our environment) and
system information are at bottom.
> >
> > Would it be possible for postgres to exclude temporary table creation
from DDL changes that send "invalidation messages from catalog-modifying
transactions to all concurrent in-progress transactions."?
> >
>
> Oh, this is an interesting idea to investigate. However, even if
> something on these lines is feasible, we may want to just have it for
> HEAD, but the first thing is to try to come up with a patch. If you or
> someone else can come up with a patch, I'll try to help with the
> review.
>
> >
> Or will we need to reimplement our approach to RLS?
> >
>
> I think you can wait for a few weeks to see if someone can come up
> with a patch to improve this area.
>
> --
> With Regards,
> Amit Kapila.

Reply via email to