PostgreSQL не поддържа мръсни четения (READ UNCOMMITTED
). Както @a_horse_with_no_name посочи, ръководството
казва:
Това отговаря на правилото в стандарта, че базата данни трябва да третира неподдържаните нива на изолация като най-силното поддържано ниво.
Няма поддържан начин за четене на некоммитирани кортежи от текуща транзакция в PostgreSQL. Ако имаше, щеше да можеш да получиш неща като дублирани стойности за първични ключове и общ хаос, така че така или иначе нямаше да е много полезно.
Има има няколко начина, по които текущите транзакции могат да комуникират и да си влияят една на друга:
- Чрез споделено клиентско приложение (разбира се)
SEQUENCE
(иSERIAL
) актуализациите се случват незабавно, а не по време на ангажиране- препоръчително заключване
- Нормално заключване на ред и таблица, но в рамките на правилата на
READ COMMITTED
видимост UNIQUE
иEXCLUSION
ограничения
Възможно е да видите необвързани кортежни данни, като използвате средства за отстраняване на грешки само за суперпотребител като pageinspect , но само ако наистина разбирате вътрешностите на хранилището за данни. Подходящ е само за възстановяване на данни и отстраняване на грешки. Ще видите множество версии на данни в стена от шестнадесетичен изход.