Chapter 13. Concurrency Control

Table of Contents
13.1. Introduction
13.2. Transaction Isolation
13.2.1. Read Committed Isolation Level
13.2.2. Repeatable Read Isolation Level
13.2.3. Serializable Isolation Level
13.3. Explicit Locking
13.3.1. Table-level Locks
13.3.2. Row-level Locks
13.3.3. Deadlocks
13.3.4. Advisory Locks
13.4. Data Consistency Checks at the Application Level
13.4.1. Enforcing Consistency With Serializable Transactions
13.4.2. Enforcing Consistency With Explicit Blocking Locks
13.5. Locking and Indexes
13.6. Postgres-XC's Global Transaction Management

Note: The following description applies only to Postgres-XC

Postgres-XC inherits most of the high availability feature from PostgreSQL. In this chapter, please read PostgreSQL as Postgres-XC if not described explicitly.

Note: The following description applies only to Postgres-XC

This chapter describes the behavior of the Postgres-XC database system when two or more sessions try to access the same data at the same time. The goals in that situation are to allow efficient access for all sessions while maintaining strict data integrity. Every developer of database applications should be familiar with the topics covered in this chapter.

Postgres-XC inherited concurrency control of PostgreSQL and extended it globally to whole Coordinators and Datanodes involved. Regardless of what Coordinator to connect to, all the transactions in Postgres-XC database cluster behaves in consistent way as if they are running in single database.