Subject: Re: pg_waldump

From: Fabrice Chapuis <[email-masked]>
Date: Tue, 19 Dec 2023 16:11:54 +0100

Ok thanks for all these precisions
Regards
Fabrice

On Tue, Dec 19, 2023 at 2:00 PM Matthias van de Meent <
[email-masked]> wrote:

> On Tue, 19 Dec 2023, 12:27 Fabrice Chapuis, <[email-masked]>
> wrote:
> >
> > Hi,
> > Is it possible to visualize the DDL with the pg_waldump tool. I created
> a postgres user but I cannot find the creation command in the wals
>
> Not really, no. PostgreSQL does not log DDL or DML as such in WAL.
> Essentially all catalog updates are logged only as changes on a
> certain page in some file: a new user getting inserted would be
> approximately "Insert tuple [user's pg_role row data] on page X in
> file [the file corresponding to the pg_role table]".
>
> You could likely derive most DDL commands from Heap/Insert,
> Heap/Delete, and Heap/Update records (after cross-referencing the
> database's relfilemap), as most DDL is "just" a lot of in-memory
> operations plus some record insertions/updates/deletes in catalog
> tables. You'd also need to keep track of any relfilemap changes while
> processing the WAL, as VACUUM FULL on the catalog tables would change
> the file numbering of catalog tables...
>
> Kind regards,
>
> Matthias van de Meent
> Neon (https://neon.tech)
>