From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> |
Cc: | David Gibbons <david(at)dgibbons(dot)net>, pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: 2.5TB Migration from SATA to SSD disks - PostgreSQL 9.2 |
Date: | 2016-09-08 19:42:09 |
Message-ID: | CAMkU=1whJm2oLi2z6TWVDucLeX=Wx9SzgbiRfv_koPE3-+crnw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, Sep 7, 2016 at 4:49 PM, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> wrote:
> On 9/7/16 6:10 PM, David Gibbons wrote:
>
>> That is NOT safe. The problem is it allows rsync to use mtime alone
>> to decide that a file is in sync, and that will fail if Postgres
>> writes to a file in the same second that the first rsync reads from
>> it (assuming Postgres writes after rsync reads). You need to add the
>> --checksum flag to rsync (which means it will still have to read
>> everything that's in /var/lib/pgsql).
>>
>>
>> The checksum flag as you mention is not performant,
>>
>
> Definitely not. :/
>
> If this is a concern, you're much better using the *--modify-window *flag:
>> When comparing two timestamps, rsync treats the timestamps as being
>> equal if they differ by no more than the modify-window value. This is
>> normally 0 (for an exact match), but you may find it useful to set this
>> to a larger value in some situations.
>>
>> Hence, rsync -va --modify-window=1 would remove your concern about a
>> same second race condition without forcing the sync to read through all
>> the files.
>>
>
> Very interesting and useful!
Isn't this heading in the wrong direction? We need to be more precise
than 0 (since 0 is computed off of rounded/truncated time stamps), not less
precise than 0.
Cheers,
Jeff
From | Date | Subject | |
---|---|---|---|
Next Message | David Gibbons | 2016-09-08 20:29:14 | Re: 2.5TB Migration from SATA to SSD disks - PostgreSQL 9.2 |
Previous Message | Ken Tanzer | 2016-09-08 17:17:11 | Re: How to assemble all fields of (any) view into a string? |