1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
8
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
10
HREF="mailto:pgsql-docs@postgresql.org"><LINK
12
TITLE="PostgreSQL 9.1beta1 Documentation"
13
HREF="index.html"><LINK
15
TITLE="Concurrency Control"
16
HREF="mvcc.html"><LINK
18
TITLE="Concurrency Control"
19
HREF="mvcc.html"><LINK
21
TITLE="Transaction Isolation"
22
HREF="transaction-iso.html"><LINK
25
HREF="stylesheet.css"><META
26
HTTP-EQUIV="Content-Type"
27
CONTENT="text/html; charset=ISO-8859-1"><META
29
CONTENT="2011-04-27T21:20:33"></HEAD
35
SUMMARY="Header navigation table"
47
>PostgreSQL 9.1beta1 Documentation</A
56
TITLE="Concurrency Control"
66
TITLE="Concurrency Control"
74
>Chapter 13. Concurrency Control</TD
80
TITLE="Concurrency Control"
89
TITLE="Transaction Isolation"
90
HREF="transaction-iso.html"
105
>13.1. Introduction</A
111
> provides a rich set of tools
112
for developers to manage concurrent access to data. Internally,
113
data consistency is maintained by using a multiversion
114
model (Multiversion Concurrency Control, <ACRONYM
118
This means that while querying a database each transaction sees
119
a snapshot of data (a <I
124
time ago, regardless of the current state of the underlying data.
125
This protects the transaction from viewing inconsistent data that
126
could be caused by (other) concurrent transaction updates on the same
127
data rows, providing <I
129
>transaction isolation</I
131
for each database session. <ACRONYM
135
the locking methodologies of traditional database systems,
136
minimizes lock contention in order to allow for reasonable
137
performance in multiuser environments.
140
> The main advantage of using the <ACRONYM
144
concurrency control rather than locking is that in
148
> locks acquired for querying (reading) data
149
do not conflict with locks acquired for writing data, and so
150
reading never blocks writing and writing never blocks reading.
154
> maintains this guarantee
155
even when providing the strictest level of transaction
156
isolation through the use of an innovative <I
159
Snapshot Isolation</I
166
> Table- and row-level locking facilities are also available in
170
> for applications which don't
171
generally need full transaction isolation and prefer to explicitly
172
manage particular points of conflict. However, proper
176
> will generally provide better
177
performance than locks. In addition, application-defined advisory
178
locks provide a mechanism for acquiring locks that are not tied
179
to a single transaction.
187
SUMMARY="Footer navigation table"
216
HREF="transaction-iso.html"
226
>Concurrency Control</TD
240
>Transaction Isolation</TD
b'\\ No newline at end of file'