Обсуждение: 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!"