This command begins a new transaction. If the isolation level is specified, the new transaction has that isolation level. In all other respects, the behavior of this command is identical to the BEGIN command.
The isolation level of a transaction can also be set with the SET TRANSACTION command. If no isolation level is specified, the default isolation level is used.
    SERIALIZABLE is the default isolation level in
    SQL99, but it is not the usual default in
    PostgreSQL: the factory default setting
    is READ COMMITTED.
    PostgreSQL 
    does not provide the isolation levels READ UNCOMMITTED
    and REPEATABLE READ. Because of lack of predicate
    locking, the SERIALIZABLE level is
    not truly serializable. See the User's Guide
    for details.
   
In SQL99 this statement can specify two other properties of the new transaction: whether the transaction is read-only and the size of the diagnostics area. Neither of these concepts are currently supported in PostgreSQL.