Implementation-wise, I really dislike storing the info in a shared hash
table, because I don't see any reasonable bound on the size of the hash
table (your existing code uses 100 which is about as arbitrary as it
gets). [...]

The idea that occurs to me instead is to not use WAL or shared memory at
all for keeping the prepared-transaction state info.  Instead, suppose
that we store the status information in a file named after the GID,
"$PGDATA/pg_twophase/gid". [...]

Sorry for this stupid general comment, but why couldn't the gid be stored in some shared system table that would rely on pg infrastructure for caching, sharing, locking and so on? More over, that would allow the administrator to have a look at them quite simply. Is this just a performance issue?


--
Fabien.

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to