The comments on excludeDirContents are somewhat imprecise. For example, none of those directories are actually removed or recreated on startup, only the contents are.
The comment for pg_replslot is incorrect. I think you can copy replication slots just fine, but you usually don't want to. What is the 2 for in this code? if (strcmp(pathbuf + 2, excludeFile[excludeIdx]) == 0) I would keep the signature of _tarWriteDir() similar to _tarWriteHeader(). So don't pass sizeonly in there, or do pass in sizeonly but do the same with _tarWriteHeader(). The documentation in pg_basebackup.sgml and protocol.sgml should be updated. Add some tests. At least test that one entry from the directory list and one entry from the files list is not contained in the backup result. Testing the symlink handling would also be good. (The pg_basebackup tests claim that Windows doesn't support symlinks and therefore skip all the symlink tests. That seems a bit at odds with your code handling symlinks on Windows.) -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers