Re: Add a perl function in Cluster.pm to generate WAL
От | Bharath Rupireddy |
---|---|
Тема | Re: Add a perl function in Cluster.pm to generate WAL |
Дата | |
Msg-id | CALj2ACXppTLS1pKa=M-h-VxWHSTo4iJvHYik_J+pLQxdeLMAzQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Add a perl function in Cluster.pm to generate WAL (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Add a perl function in Cluster.pm to generate WAL
|
Список | pgsql-hackers |
On Tue, Dec 19, 2023 at 9:51 AM Michael Paquier <michael@paquier.xyz> wrote: > > On Mon, Dec 18, 2023 at 08:48:09AM -0300, Euler Taveira wrote: > > It is cheaper. > > Agreed that this could just use a set of pg_logical_emit_message() > when jumping across N segments. Thanks. I missed the point of using pg_logical_emit_message() over CREATE .. DROP TABLE to generate WAL. And, I agree that it's better and relatively cheaper in terms of amount of WAL generated. > Another thing that seems quite > important to me is to force a flush of WAL with the last segment > switch, and the new "flush" option of pg_logical_emit_message() can > be very handy for this purpose. I used pg_logical_emit_message() in non-transactional mode without needing an explicit WAL flush as the pg_switch_wal() does a WAL flush at the end [1]. Attached v4 patch. [1] /* * If this was an XLOG_SWITCH record, flush the record and the empty * padding space that fills the rest of the segment, and perform * end-of-segment actions (eg, notifying archiver). */ if (class == WALINSERT_SPECIAL_SWITCH) { TRACE_POSTGRESQL_WAL_SWITCH(); XLogFlush(EndPos); -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Вложения
В списке pgsql-hackers по дате отправления: