On Sat, May 25, 2013 at 6:18 PM, Simon Riggs <si...@2ndquadrant.com> wrote: > On 21 May 2013 19:16, Fujii Masao <masao.fu...@gmail.com> wrote: > >> We cannot run parallel pg_dump on the standby server because >> pg_export_snapshot() always fails on the standby. Is this the oversight >> of parallel pg_dump or pg_export_snapshot()? >> >> pg_export_snapshot() fails in the standby because it always assigns >> new XID and which is not allowed in the standby. Do we really need >> to assign new XID even in the standby for the exportable snapshot? > > Having looked at the code, I say No, we don't *need* to.
Good to hear. > There are various parts of the code that deal with > takenDuringRecovery, so much of this was clearly intended to work in > recovery. > > We use the topXid for the name of the snapshot file. That is clearly > unnecessary and we should be using the virtualxid instead like we do > elsewhere. We also use the topXid to test whether it is still running, > though again, we could equally use the virtualxid instead. There is no > problem with virtualxids possibly not being active anymore, since if > we didn't have an xid before and don't have one now, and the xmin is > the same, the snapshot is still valid. > > I think we should treat this as a bug and fix it in 9.3 while we're > still in beta. +1 > Why? Because once we begin using the topXid as the > filename we can't then change later to using the vxid. I'm afraid that pg_export_snapshot() in 9.2 has already been using topXid as the filename. Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers