PostgreSQL nie obsługuje brudnych odczytów (READ UNCOMMITTED
). Jak zauważył @a_horse_with_no_name, podręcznik
mówi:
Jest to zgodne z zasadą w standardzie, że baza danych musi traktować nieobsługiwane poziomy izolacji jako najsilniejszy obsługiwany poziom.
Nie ma obsługiwanego sposobu odczytywania niezatwierdzonych krotek z trwającej transakcji w PostgreSQL. Gdyby tak było, byłbyś w stanie uzyskać takie rzeczy jak zduplikowane wartości dla kluczy podstawowych i ogólny chaos, więc i tak nie byłoby to zbyt przydatne.
Są są kilka sposobów, w jakie transakcje w toku mogą się komunikować i wpływać na siebie nawzajem:
- Za pośrednictwem udostępnionej aplikacji klienckiej (oczywiście)
SEQUENCE
(iSERIAL
) aktualizacje następują natychmiast, nie w czasie zatwierdzania- blokada doradcza
- Normalne blokowanie wierszy i tabel, ale zgodnie z zasadami
READ COMMITTED
widoczność UNIQUE
iEXCLUSION
ograniczenia
Możliwe jest zobaczenie niezatwierdzonych danych krotek przy użyciu narzędzi debugowania tylko dla superużytkowników, takich jak inspekcja strony , ale tylko wtedy, gdy naprawdę rozumiesz wnętrze Datastore. Nadaje się tylko do odzyskiwania danych i debugowania. Zobaczysz wiele wersji danych na ścianie danych szesnastkowych.