Я пытаюсь выяснить, что postgres может безопасно обрабатывать внутри транзакции, но я не могу найти соответствующую информацию в руководстве postgres . Пока что я обнаружил следующее:
UPDATE
, INSERT
и DELTE
полностью поддерживаются внутри транзакций и откатываются, когда транзакция не завершена DROP ТАБЛИЦА
не обрабатывается безопасно внутри транзакции и отменяется с помощью CREATE TABLE
, таким образом воссоздает отброшенную таблицу, но не заполняет ее заново. CREATE TABLE
также не является полностью транзакционным и вместо этого отменяется с помощью соответствующей ТАБЛИЦЫ УДАЛЕНИЯ
. Это правильно? Также я не смог найти никаких подсказок относительно обработки ALTER TABLE
и TRUNCATE
. Как они обрабатываются и безопасны ли они внутри транзакций? Есть ли разница в обработке между разными типами транзакций и разными версиями postgres?