> 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.