Раздел 45 · Python backend: Тарбадель

Транзакции: ACID, точки сохранения и now()

middle-senior~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Распечатка с колонкой ctid лежит на столе Сазена, под лампой без абажура. Слоты 45, 46, 47: подписи 41, 42, 43 одной пачкой в конце полки. И время 41, которое на двадцать минут раньше и контракта, и соседей. Сазен не спорит с распечаткой. Он открывает копию Архива и пишет запрос, ни разу не глянув на клавиатуру.

SQL-песочница

База · arkhiv

Загружаю редактор…

База загрузится, когда ты выполнишь запрос или откроешь таблицы.

Выполни запрос, чтобы увидеть результат.

Выполни весь запрос кнопкой или Ctrl/Cmd+Enter. Ctrl+Space открывает подсказки. Можно писать несколько команд через точку с запятой, менять данные и открывать транзакции. У каждой песочницы своя база, изменения живут до ухода со страницы. «Сбросить базу» возвращает учебные данные, но не меняет SQL.

now | clock_timestamp
2026-10-26 11:06:46.897+00 | 2026-10-26 11:06:46.897+00
(1 rows)

now | clock_timestamp
2026-10-26 11:06:46.897+00 | 2026-10-26 11:06:48.898+00
(1 rows)

У тебя будут свои часы, но картина та же. clock_timestamp() ушёл на две секунды вперёд. now() не сдвинулся ни на тысячную. Внутри транзакции now() отвечает не «сейчас», а «когда эта транзакция началась». Чтобы понять, откуда у подписи 41 её время, сначала надо понять, что такое транзакция для самой базы: не для кода, который пишет BEGIN, а для полки, на которую ложатся строки.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.