On Wed, Mar 13, 2019 at 9:50 AM Laurenz Albe <laurenz.albe@xxxxxxxxxxx> wrote: > > Vijaykumar Jain wrote: > > I was asked this question in one of my demos, and it was interesting one. > > > > we update xmin for new inserts with the current txid. > > now in a very high concurrent scenario where there are more than 2000 > > concurrent users trying to insert new data, > > will updating xmin value be a bottleneck? > > > > i know we should use pooling solutions to reduce concurrent > > connections but given we have enough resources to take care of > > spawning a new process for a new connection, > > You can read the function GetNewTransactionId in > src/backend/access/transam/varsup.c for details. > > Transaction ID creation is serialized with a "light-weight lock", > so it could potentially be a bottleneck. Also I think that GetSnapshotData() would be the major bottleneck way before GetNewTransactionId() becomes problematic. Especially with such a high number of active backends.