START TRANSACTION — inicia un bloque de transacción
START TRANSACTION [transaction_mode[, ...] ] dondetransaction_modees uno de: ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED } READ WRITE | READ ONLY [ NOT ] DEFERRABLE
Este comando inicia un nuevo bloque de transacción. Si se especifica el nivel de aislamiento,
el modo de lectura/escritura o el modo postergable («deferrable»), la nueva transacción tiene esas
características, como si se hubiera ejecutado SET TRANSACTION. Esto es lo mismo
que el comando BEGIN.
Consulta la SET TRANSACTION para obtener información sobre el significado de los parámetros de esta sentencia.
En el estándar, no es necesario emitir START TRANSACTION para iniciar un bloque
de transacción: cualquier comando SQL comienza implícitamente un bloque. El comportamiento de
PostgreSQL se puede ver como la emisión implícita de un COMMIT
después de cada comando que no sigue a START TRANSACTION (o BEGIN),
y por lo tanto a menudo se llama «autocommit» (confirmación automática). Otros sistemas de bases de
datos relacionales pueden ofrecer una función de autocommit como una conveniencia.
El modo de transacción DEFERRABLE (transaction_mode)
es una extensión del lenguaje de PostgreSQL.
El estándar SQL requiere comas entre los modos de transacción (transaction_modes)
sucesivos, pero por razones históricas PostgreSQL permite omitir las comas.
Consulta también la sección de compatibilidad de la SET TRANSACTION.