Обсуждение: checkpoint_timeout irrelevant in 8.1.9
According to the WAL config documentation correctly, checkpoints are created every checkpoint_segments log segments, or every checkpoint_timeout seconds, whichever comes first. However, it seems as though setting my checkpoint_timeout has no effect on checkpoint creation ( I have it set to 30 seconds). Forcing checkpoint by running psql –c CHECKPOINT mydb doesn’t do the trick either. Checkpoints are created solely based on the checkpoint_segments logs reaching their configured size.
This is not satisfactory in a low transaction volume environment. Any hints on how else can I trigger checkpoint?
Thanks in advance,
~george
George Wilk wrote: > However, it seems as though setting > my checkpoint_timeout has no effect on checkpoint creation ( I have it > set to 30 seconds). Forcing checkpoint by running */psql –c CHECKPOINT > mydb/* doesn’t do the trick either. Checkpoints are created solely > based on the checkpoint_segments logs reaching their configured size. > There is no such thing as checkpoint creation. Checkpoint timeout means that at 30 seconds (based on checkpoint_timeout) it will checkpoint unless it needs to do so sooner. Joshua D. Drake > > > This is not satisfactory in a low transaction volume environment. Any > hints on how else can I trigger checkpoint? > > > > Thanks in advance, > > > > ~george > -- === The PostgreSQL Company: Command Prompt, Inc. === Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240 Providing the most comprehensive PostgreSQL solutions since 1997 http://www.commandprompt.com/ Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate PostgreSQL Replication: http://www.commandprompt.com/products/
George Wilk wrote: > According to the WAL config documentation correctly, checkpoints are created > every > <mk:@MSITStore:C:\Program%20Files\PostgreSQL\8.2\pgAdmin%20III\docs\en_US\pg > admin3.chm::/pg/runtime-config-wal.html#guc-checkpoint-segments> > checkpoint_segments log segments, or every > <mk:@MSITStore:C:\Program%20Files\PostgreSQL\8.2\pgAdmin%20III\docs\en_US\pg > admin3.chm::/pg/runtime-config-wal.html#guc-checkpoint-timeout> > checkpoint_timeout seconds, whichever comes first. However, it seems as > though setting my checkpoint_timeout has no effect on checkpoint creation ( > I have it set to 30 seconds). Forcing checkpoint by running psql -c > CHECKPOINT mydb doesn't do the trick either. Checkpoints are created solely > based on the checkpoint_segments logs reaching their configured size. You are misunderstand what a checkpoint is. Also, why would you need a checkpoint every 30 seconds escapes me. What you probably want is to archive the WAL segment currently in use. There's a function you can use for that, pg_switch_xlog(). -- Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4" "In Europe they call me Niklaus Wirth; in the US they call me Nickel's worth. That's because in Europe they call me by name, and in the US by value!"