On Wed, Mar 28, 2018 at 04:13:25AM +0900, Fujii Masao wrote: > This code is almost ok in practice, but using the check of > "strstr(path, localpath) == path" is more robust here?
No problems with that either. > Using the following code instead is more robust? > This original code is almost ok in practice, though. > > filename = last_dir_separator(path); > if (filename == NULL) > filename = path; > else > filename++; > if (strcmp(filename, excludeFiles[excludeIdx]) == 0) Indeed, using last_dir_separator is a better idea for files. I was looking for something like that actually. > + (everything except the relation files). Similarly to base backups, > + the contents of the directories <filename>pg_dynshmem/</filename>, > + <filename>pg_notify/</filename>, <filename>pg_replslot/</filename>, > + <filename>pg_serial/</filename>, <filename>pg_snapshots/</filename>, > + <filename>pg_stat_tmp/</filename>, and > + <filename>pg_subtrans/</filename> are omitted from the data copied > + from the source cluster. Any file or directory beginning with > + <filename>pgsql_tmp</filename> is omitted, as well as are > + <filename>backup_label</filename>, > + <filename>tablespace_map</filename>, > + <filename>pg_internal.init</filename>, > + <filename>postmaster.opts</filename> and > + <filename>postmaster.pid</filename>. > > I don't think this description is necessary. The doc for pg_basebackup > also doesn't seem to have this kind of description. Those are listed in backup.sgml. And I really think that we should at least document that the same type of exclusion filters as base backups are used in pg_rewind. If you don't want to include the whole list, then let's use a reference to backup-lowlevel-base-backup-data. > So attached is the patch that I updated based on your patch and > am thinking to apply. Thanks. Except for the documentation part, I am OK for the changes proposed. -- Michael
signature.asc
Description: PGP signature