Postgres (psycopg) 연결로 작업 할 때 '자동 커밋'이라는 개념을 더 잘 이해하려고합니다. 이제 내가 새로운 연결을 가정 해 봅시다/롤백 방법을 시작 커서를 사용하지 않고, 다음, 직접 SQL을 실행 ISOLATION_LEVEL_AUTOCOMMIT과의 격리 수준을 설정 (연습으로, 나는 실제로 이렇게 할 말을하지 않음) :BEGIN이 자동 커밋 모드의 연결에서 실행될 때 Postgres는 무엇을합니까?
INSERT A
INSERT B
BEGIN
INSERT C
INSERT D
ROLLBACK
INSERT C & D에 어떤 일이 발생합니까?
autocommit은 BEGIN을 발행하는 방법에 영향을주는 psycopg의 내부 설정입니까? 이 경우 위의 SQL은 인식되지 않습니다. INSERT A & B는 완료되면 즉시 커밋되며 C & D는 트랜잭션에서 실행되고 롤백됩니다. 해당 트랜잭션은 어떤 격리 수준에서 실행됩니까?
아니면 연결 자체에서 자동 설정을 자동 연결합니까? 이 경우 BEGIN 처리에 어떤 영향을 줍니까? 무시할 수 있습니까? 아니면 실제로 트랜잭션을 시작하기 위해 autocommit 설정을 덮어 씁니까? 해당 트랜잭션은 어떤 격리 수준에서 실행됩니까?
아니면 완전히 벗어 났습니까?
http://www.postgresql.org/docs/8.4/static/sql-begin.html –