Thanks for the explanation.

On Thu, Nov 23, 2023 at 10:55 AM Tom Lane <t...@sss.pgh.pa.us> wrote:

> Ron Johnson <ronljohnso...@gmail.com> writes:
> > On Thu, Nov 23, 2023 at 3:37 AM Laurenz Albe <laurenz.a...@cybertec.at>
> > wrote:
> >> You can avoidwriting WAL if you set "wal_level = minimal", restart
> >> PostgreSQL
> >> and restore the dump with the --single-transaction option.
>
> > Why does "--single-transaction" prevent WAL writes?  I'd expect _more_
> > pg_wal growth from One Ginormous Transaction.
>
> I don't recall all the details offhand, but there's some optimization
> concerned with not writing WAL if COPY's target table was created in
> the current transaction.  WAL will still be made for the catalog
> changes, but usually the bulk of the WAL for a pg_restore run comes
> from loading data, and this recipe eliminates that.  (Of course,
> you cannot use it on a replication primary.)
>
>                         regards, tom lane
>

Reply via email to