172 похожих чатов

Привет всем. А транзакции используются обычно при изменении или добавлении

данных? Т.е. при чтении не обязательно реализовывать?

9 ответов

16 просмотров

Транзакции работают всегда, даже если вы ими не управляете. Если вы ничего специально не делаете, то они начинаются и коммитятся некоторым способом по умолчанию. Но они есть. И для чтения тоже.

Они используются сервером абсолютно всегда.

Давайте попробую объяснить про чтения. Транзакция — это когда несколько операций делается атомарно. Если что-то делается неатомарно, значит оно просто состоит из более мелких частей, каждая из которых делается атомарно, т.е. это не транзакция, а 10 более мелких транзакций. Например, вы читаете 1 целое число. Если у вас есть гарантия, что вы прочитали число, которое в какой-то момент существовало в базе данных, значит вы прочитали это число в транзакции, и уровень изоляции был не ниже READ COMMITTED. А могло быть, например, так, что вы прочитали половину числа старую, а половину новую, и получилии гибрид, который никогда не существовал...

Почитай про уровни изоляции транзакций и какие проблемы они решают

alex che
Давайте попробую объяснить про чтения. Транзакция ...

Тоже так считал. Но почему pg_current_xact_id_if_assigned() вернёт ничего, если не было запросов, меняющих данные?

Gennady K
Тоже так считал. Но почему pg_current_xact_id_if_...

Такая транзакция считается виртуальной. https://edu.postgrespro.ru/postgresql_internals-14.pdf С. 91 и дальше

Gennady K
Тоже так считал. Но почему pg_current_xact_id_if_...

вероятно, потому что не было в записи в журнал транзакций, который хранит по сути только записи об изменениях. но это я пальцем в небо

Gennady K
Тоже так считал. Но почему pg_current_xact_id_if_...

И да, то, что у вас нет transaction_id — не означает, что нет транзакцыи.

Похожие вопросы

Обсуждают сегодня

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
const dirname = new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new UR...
Kirill Shaplyko
4
Карта сайта