From: | Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> |
---|---|
To: | chenhj <chjischj(at)163(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCH]make pg_rewind to not copy useless WAL files |
Date: | 2017-09-29 18:17:54 |
Message-ID: | CAPpHfdtSPO=tjCWepRbs=UpjRuB+mFksJezmy46o7FdFqeB5EQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Sep 29, 2017 at 8:10 PM, chenhj <chjischj(at)163(dot)com> wrote:
> On 2017-09-30 00:53:31,"chenhj" <chjischj(at)163(dot)com> wrote:
>
> On 2017-09-29 19:29:40,"Alexander Korotkov" <a(dot)korotkov(at)postgrespro(dot)ru>
> wrote:
>
> On Fri, Sep 29, 2017 at 10:07 AM, chenhj <chjischj(at)163(dot)com> wrote:
>>
>>
>>
> OK. That makes sense. Thank you for the explanation.
>
> I still have some minor comments.
>
>
>> /*
>> + * Save the WAL filenames of the divergence and the current WAL insert
>> + * location of the source server. Later only the WAL files between
>> those
>> + * would be copied to the target data directory.
>>
>
> Comment is outdated. We don't save filenames anymore, now we save segment
> numbers.
>
>
>> + * Note:The later generated WAL files in the source server before the
>> end
>> + * of the copy of the data files must be made available when the
>> target
>> + * server is started. This can be done by configuring the target
>> server as
>> + * a standby of the source server.
>> + */
>
>
> You miss space after "Note:". Also, it seems reasonable for me to leave
> empty line before "Note:".
>
> # Setup parameter for WAL reclaim
>
>
> Parameter*s*, because you're setting up multiple of them.
>
> # The accuracy of imodification from pg_ls_waldir() is seconds, so sleep
>> one seconds
>
>
> One second without "s".
>
> Also, please check empty lines in 006_wal_copy.pl to be just empty lines
> without tabs.
>
>
> Thanks for your comments, i had fix above problems.
> And also add several line breaks at long line in 006_wal_copy.pl
> Please check this patch again.
>
>
> Sorry, patch v6 did not remove tabs in two empty lines, please use the new
> one.
>
Great. Now code of this patch looks good for me.
However, we forgot about documentation.
<para>
> The result is equivalent to replacing the target data directory with the
> source one. Only changed blocks from relation files are copied;
> all other files are copied in full, including configuration files. The
> advantage of <application>pg_rewind</> over taking a new base backup, or
> tools like <application>rsync</>, is that <application>pg_rewind</> does
> not require reading through unchanged blocks in the cluster. This makes
> it a lot faster when the database is large and only a small
> fraction of blocks differ between the clusters.
> </para>
At least, this paragraph need to be adjusted, because it states whose files
are copied. And probably latter paragraphs whose state about WAL files.
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Fabien COELHO | 2017-09-29 18:22:46 | Re: pgbench stuck with 100% cpu usage |
Previous Message | Alexander Korotkov | 2017-09-29 18:05:49 | Re: Multicolumn hash indexes |