From: | scott ribe <scott_ribe(at)elevated-dev(dot)com> |
---|---|
To: | Nagy László Zsolt <gandalf(at)shopzeus(dot)com> |
Cc: | pgsql-admin(at)lists(dot)postgresql(dot)org |
Subject: | Re: Reliable WAL file shipping over unreliable network |
Date: | 2018-02-28 18:12:03 |
Message-ID: | 9BE48599-5417-42BF-A7D3-554590878841@elevated-dev.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
There seem to be 2 fundamental misunderstandings here:
1) That other processes cannot see data written to a file until it is flushed to disk; this is not true; while file data is still in file cache, it is visible to other processes.
2) That rsync writes the file on the destination directly; it does not; it writes into a temporary file and renames that file when it is complete.
> On Feb 28, 2018, at 10:53 AM, Nagy László Zsolt <gandalf(at)shopzeus(dot)com> wrote:
>
>
>>
>> Just use "-ac”; you want -c option to ensure no data corruption during the transfer. Do not delete the file; let Postgres manage that.
>>
>> Here is a snippet from I script I use for archiving. You also want to make your script returns failure or success correctly.
>>
>> # SSH Command and options
>> SSH_CMD="ssh -o ServerAliveInterval=20 $ARCH_SERVER"
>> STS=3
>>
>> OUTPUT=$(rsync -ac --rsync-path="mkdir -p $ARCH_DIR && rsync" $XLOGFILE $ARCH_SERVER:$ARCH_DIR/$WALFILE)
>> if [ $? == 0 ]; then
>> STS=0
>> fi
>>
>> exit $STS
>>
--
Scott Ribe
https://www.linkedin.com/in/scottribe/
(303) 722-0567
From | Date | Subject | |
---|---|---|---|
Next Message | Rui DeSousa | 2018-02-28 18:15:48 | Re: Reliable WAL file shipping over unreliable network |
Previous Message | Rui DeSousa | 2018-02-28 18:11:54 | Re: Reliable WAL file shipping over unreliable network |