On 03.09.2015 05:40, Michael Paquier wrote:
>
> Ah, OK. I thought that you were referring to a protocol where caller
> sends a single LSN from which it gets a differential backup that needs
> to scan all the relation files of the source cluster to get the data
> blocks with an LSN newer than the one sent, and then sends them back
> to the caller.
>
> I guess that what you are suggesting instead is an approach where
> caller sends something like that through the replication protocol with
> a relation OID and a block list:
> BLOCK_DIFF relation_oid BLOCK_LIST m,n,[o, ...]
> Which is close to what pg_read_binary_file does now for a superuser.
> We would need as well to extend BASE_BACKUP so as it does not include
> relation files though for this use case.
>
> Regards,
>
Hi,
we need to run pg_rewind without using a superuser role too. What if the
new parameter EXCLUDE_DATA_FILES will be added to the BASE_BACKUP
command? This parameter will force the BASE_BACKUP command to not
include relation files.
And pg_rewind can execute, for example, the following command:
BASE_BACKUP LABEL 'pg_rewind base backup' WAL EXCLUDE_DATA_FILES
This command will be executed if --source-server parameter is defined.
Are there any pitfalls in this condition?
--
Artur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company