On 2019-12-18 16:14, Simon Riggs wrote:
On Wed, 18 Dec 2019 at 12:11, Konstantin Knizhnik <k.knizh...@postgrespro.ru <mailto:k.knizh...@postgrespro.ru>> wrote:

    As far as I understand with "read uncommitted" policy we can see two
    versions of the same tuple if it was updated by two transactions
    both of which were started before us and committed during table
    traversal by transaction with "read uncommitted" policy. Certainly
    "read uncommitted" means that we are ready to get inconsistent
    results, but is it really acceptable to multiple versions of the
    same tuple?


     "In general, read uncommitted will return inconsistent results and
     wrong answers. If you look at the changes made by a transaction
     while it continues to make changes then you may get partial results
     from queries, or you may miss index entries that haven't yet been
     written. However, if you are reading transactions that are paused
     at the end of their execution for whatever reason then you can
     see a consistent result."

I think I already covered your concerns in my suggested docs for this feature.

Independent of the technical concerns, I don't think the SQL standard allows the READ UNCOMMITTED level to behave in a way that violates the logical requirements of the defined database schema. So if we wanted to add this, we should probably name it something else.

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to