Recently started to use 2pc support in SPQR [0] for transactions that
need to modify data on several postgres(shards). So, for partially
committed 2pc we have a separate watchdog which finishes all half-done
transactions.

And we want a separate role for  this watchdog. But this just fails to
finish transactions that were prepared.  The reason is a two phase
check that compares user oid with tx owner oid with ==. This was the
original security restriction from [1] (valid at time), but didn't
change after [2]. Before [2], server had logic that only user himself
can do something with his object, for example dropping the table was
ONLY for owner. After [2], it use role membership etc. So, can we use
same in 2pc (prepared) tx? Is [1] sec restriction still true? I have
simple patch for this, didn't posted yet, want to hear back



[1]Discussion: 
https://www.postgresql.org/message-id/[email protected]
[2]Discussion: 
https://www.postgresql.org/message-id/[email protected]

[0] https://github.com/pg-sharding/spqr

-- 
Best regards,
Kirill Reshke


Reply via email to