I just found out that postgres 8 supports savepoints, which can be used to implement nested transactions (in fact this seems to be the standard compliant way of doing so).
/Nis