PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để thực hiện các giao dịch cơ sở dữ liệu với psycopg2 / python db api?

Sử dụng db.set_isolation_level(n) , giả sử db là đối tượng kết nối của bạn. Như Federico đã viết ở đây, ý nghĩa của n là:

0 -> autocommit
1 -> read committed
2 -> serialized (but not officially supported by pg)
3 -> serialized

Như được ghi lại ở đây, psycopg2.extensions cung cấp cho bạn các hằng số tượng trưng cho mục đích:

Setting transaction isolation levels
====================================

psycopg2 connection objects hold informations about the PostgreSQL `transaction
isolation level`_.  The current transaction level can be read from the
`.isolation_level` attribute.  The default isolation level is ``READ
COMMITTED``.  A different isolation level con be set through the
`.set_isolation_level()` method.  The level can be set to one of the following
constants, defined in `psycopg2.extensions`:

`ISOLATION_LEVEL_AUTOCOMMIT`
    No transaction is started when command are issued and no
    `.commit()`/`.rollback()` is required.  Some PostgreSQL command such as
    ``CREATE DATABASE`` can't run into a transaction: to run such command use
    `.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)`.

`ISOLATION_LEVEL_READ_COMMITTED`
    This is the default value.  A new transaction is started at the first
    `.execute()` command on a cursor and at each new `.execute()` after a
    `.commit()` or a `.rollback()`.  The transaction runs in the PostgreSQL
    ``READ COMMITTED`` isolation level.

`ISOLATION_LEVEL_SERIALIZABLE`
    Transactions are run at a ``SERIALIZABLE`` isolation level.


.. _transaction isolation level: 
   http://www.postgresql.org/docs/8.1/static/transaction-iso.html


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác thực mật khẩu Postgres không thành công

  2. cú pháp khóa ngoại postgresql

  3. Cách hiển thị cài đặt hiện tại cho đầu ra rỗng trong PostgreSQL (psql)

  4. Cách cấu hình PostgreSQL Sharding với ClusterControl

  5. org.hibernate.internal.util.config.ConfigurationException:Không thể định vị tài nguyên cfg.xml [/HibernateTest/src/hibernate.cfg.xml]