Thanks a lot for all your kindly replying!

>The background writer and ordinary backends might write data (for their
own rea>sons) that the checkpointer would have otherwise needed to write
anyway.

And does the ordinary backends refer to
the ones created when a client make a connection to PG?

For exampel:
When staring PG:
[root@pg200 ~]# ps -ef | grep post
root      3039  3015  0 11:02 pts/1    00:00:00 su - postgres
postgres  3040  3039  0 11:02 pts/1    00:00:00 -bash
postgres  3093     1  0 11:03 pts/1    00:00:00
/usr/local/pgsql/bin/postgres -D ./data
postgres  3095  3093  0 11:03 ?        00:00:00 postgres: checkpointer
process
postgres  3096  3093  0 11:03 ?        00:00:00 postgres: writer process

postgres  3097  3093  0 11:03 ?        00:00:00 postgres: wal writer
process
postgres  3098  3093  0 11:03 ?        00:00:00 postgres: autovacuum
launcher process
postgres  3099  3093  0 11:03 ?        00:00:00 postgres: stats collector
process
root      3126  3103  0 11:03 pts/2    00:00:00 grep post

After using psql to connect:
[root@pg200 ~]# ps -ef | grep post
root      3039  3015  0 11:02 pts/1    00:00:00 su - postgres
postgres  3040  3039  0 11:02 pts/1    00:00:00 -bash
postgres  3093     1  0 11:03 pts/1    00:00:00
/usr/local/pgsql/bin/postgres -D ./data
postgres  3095  3093  0 11:03 ?        00:00:00 postgres: checkpointer
process
postgres  3096  3093  0 11:03 ?        00:00:00 postgres: writer process

postgres  3097  3093  0 11:03 ?        00:00:00 postgres: wal writer
process
postgres  3098  3093  0 11:03 ?        00:00:00 postgres: autovacuum
launcher process
postgres  3099  3093  0 11:03 ?        00:00:00 postgres: stats collector
process
root      3150  3130  0 11:03 pts/3    00:00:00 su - postgres
postgres  3151  3150  0 11:03 pts/3    00:00:00 -bash
postgres  3183  3151  0 11:04 pts/3    00:00:00 ./psql
postgres  3184  3093  0 11:04 ?        00:00:00 postgres: postgres postgres
[local] idle
root      3186  3103  0 11:04 pts/2    00:00:00 grep post
[root@pg200 ~]#

Does the above ordinary backends mean to the process  3184?


Best Regards

jian gao


2013/10/9 Jeff Janes <jeff.ja...@gmail.com>

> On Tue, Oct 8, 2013 at 1:54 AM, 高健 <luckyjack...@gmail.com> wrote:
>
>> Hello:
>>
>> Sorry for disturbing:
>>
>> I have one question about checkponint . That is : can checkpoint be
>> parallel?
>>
>
> PostgreSQL does not currently implement it that way.  And it is hard to
> see what the benefit would be of doing so.  But it should be theoretically
> possible.
>
>
>> It is said that checkpoint will be activated according to either
>> conditions:
>>
>> 1)After last checkpoint, checkpoint_timeout seconds passed.
>>
>
> After the *start* of the last checkpoint.  Provided that the last
> checkpoint has finished.
>
>
>>  2)When shared_buffers memory above checkpoint_segments size  is filled
>> with data.
>>
>
> It is not shared_buffers that is measured, but the WAL files themselves
> (which effectively means wal_buffers usage) that is measured.
>
>
>> My experience is that :
>>
>> There is only one checkpoint process there and works, and even when there
>> are many data created during transactions,
>>
>> There will also be only one checkpoint process deal with it
>>
>> (maybe background writer or some other server process will deal it)?
>>
>
> The background writer and ordinary backends might write data (for their
> own reasons) that the checkpointer would have otherwise needed to write
> anyway.
>
> Cheers,
>
> Jeff
>

Reply via email to