On Thu, Apr 14, 2016 at 8:44 PM, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote:
> Magnus Hagander wrote: > > On Thu, Apr 14, 2016 at 8:20 PM, Ashutosh Sharma <ashu.coe...@gmail.com> > > wrote: > > > > > I was just curious to know how would "*pg_basebackup*" behave if we do > > > create a symbolic link for directories other than pg_xlog/pg_tblspc. > > > However it is clearly mentioned in the documentation of pg_basebackup > that > > > if a Symbolic link for the directories other than pg_tblspc and > pg_xlog is > > > created then it would be skipped. But, that is not the case for > pg_replslot > > > and pg_stat_tmp. Is this not an issue. Should these directories not be > > > skipped. Please let me know your thoughts on this. Thanks. > > > > I agree that actually generating a corrupt tarfile is not good. But I > think > > the correct fix is to actually generate an empty placeholder directory > > rather than skipping it - thereby making the backup look the same as it > > would if it was a correct directory where we just skipped the contents. > > Hmm, if your server has replication slots and pg_basebackup doesn't copy > them, is the copy okay? If pg_replslot is a directory and not a symlink, we skip the contents and create an empty directory. So it'd better be ok... It may be a waste to try to create all the > decoded data if there was any spillage, but perhaps it should at least > backup the state? If this is excessive datadir knowledge in > pg_basebackup, perhaps it should throw an error if some of the critical > subdirs aren't copied? > The knowledge isn't actually in pg_basebackup, it's in basebackup.c in backend/replication. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/