I notice that the large-object operations in pg_largeobject.c and
inv_api.c all use SnapshotNow to access large-object tuples. This
means they are not really MVCC compliant. For example, I could be
reading a large object that someone else is writing; if he commits
mid-read, then I will see some old data and some updated data.
This seems wrong.
In particular, pg_dump cannot promise to dump a consistent snapshot
of large objects, because what it reads will be read under SnapshotNow.
I suggest that large object tuples are user data and so should be
read using the QuerySnapshot established at start of transaction.
Comments anyone? Is it possible that changing this will break any
existing applications that depend on the current behavior?
regards, tom lane
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера