I'm seeing Postgres 9.4.4 archive while idle every archive_timeout when I
set ``wal_level hot_standby``:

$ initdb testpg
> $ cat << 'EOF' >> testpg/postgresql.conf
> > wal_level = hot_standby
> > archive_mode = on
> > archive_timeout = 10
> > checkpoint_timeout = 1h
> > archive_command = 'echo $(date) archive %p'
> > log_checkpoints = on
> > EOF
> $ postgres -D testpg
> LOG:  database system was shut down at 2015-10-13 11:58:45 PDT
> LOG:  MultiXact member wraparound protections are now enabled
> LOG:  autovacuum launcher started
> LOG:  database system is ready to accept connections
> Tue Oct 13 12:00:47 PDT 2015 archive pg_xlog/000000010000000000000001
> Tue Oct 13 12:00:57 PDT 2015 archive pg_xlog/000000010000000000000002
> LOG:  checkpoint starting: xlog
> Tue Oct 13 12:01:07 PDT 2015 archive pg_xlog/000000010000000000000003
> LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 transaction log
> file(s) added, 0 removed, 0 recycled; write=0.000 s, sync=0.000 s,
> total=0.026 s; sync files=0, longest=0.000 s, average=0.000 s
> Tue Oct 13 12:01:17 PDT 2015 archive pg_xlog/000000010000000000000004
> Tue Oct 13 12:01:27 PDT 2015 archive pg_xlog/000000010000000000000005
> LOG:  checkpoint starting: xlog
> Tue Oct 13 12:01:38 PDT 2015 archive pg_xlog/000000010000000000000006
> LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 transaction log
> file(s) added, 0 removed, 3 recycled; write=0.000 s, sync=0.000 s,
> total=0.027 s; sync files=0, longest=0.000 s, average=0.000 s
> Tue Oct 13 12:01:48 PDT 2015 archive pg_xlog/000000010000000000000007
> Tue Oct 13 12:01:58 PDT 2015 archive pg_xlog/000000010000000000000008
> LOG:  checkpoint starting: xlog
> LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 transaction log
> file(s) added, 0 removed, 3 recycled; write=0.000 s, sync=0.000 s,
> total=0.001 s; sync files=0, longest=0.000 s, average=0.000 s



At ``wal_level archive`` I only see archiving every checkpoint_timeout (see
http://www.postgresql.org/message-id/1407389876762-5813999.p...@n5.nabble.com
):

$ initdb testpg
> $ cat << 'EOF' >> testpg/postgresql.conf
> > wal_level = archive
> > archive_mode = on
> > archive_timeout = 10
> > checkpoint_timeout = 60
> > archive_command = 'echo $(date) archive %p'
> > log_checkpoints = on
> > EOF
> # lrowe@Laurences-iMac ~/scratch
> $ postgres -D testpg
> LOG:  database system was shut down at 2015-10-13 12:25:38 PDT
> LOG:  MultiXact member wraparound protections are now enabled
> LOG:  autovacuum launcher started
> LOG:  database system is ready to accept connections
> Tue Oct 13 12:25:49 PDT 2015 archive pg_xlog/000000010000000000000001
> LOG:  checkpoint starting: time
> LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 transaction log
> file(s) added, 0 removed, 0 recycled; write=0.000 s, sync=0.000 s,
> total=0.029 s; sync files=0, longest=0.000 s, average=0.000 s
> Tue Oct 13 12:26:39 PDT 2015 archive pg_xlog/000000010000000000000002
> LOG:  checkpoint starting: time
> LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 transaction log
> file(s) added, 0 removed, 1 recycled; write=0.000 s, sync=0.000 s,
> total=0.030 s; sync files=0, longest=0.000 s, average=0.000 s
> Tue Oct 13 12:27:39 PDT 2015 archive pg_xlog/000000010000000000000003



Is there some way to avoid the extra archiving while idle at ``wal_level
hot_standby``?


Laurence

Reply via email to