Would it be useful to separate transaction id from row PK?  Not sure if there's any immediate advantage, but serial integer PKs are the norm in RDBMSes (vs. guids) presumably for a reason.