I received a private email report that our introductory MVCC
documentation is unclear about when a snapshot is taken.  I have
adjusted the wording in the attached patch to be less precise about
snapshot timing. Snapshot timing is controlled by the session isolation
level, which I don't think we want to cover in this introductory
paragraph.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +

diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
new file mode 100644
index cefd323..b75519f
*** a/doc/src/sgml/mvcc.sgml
--- b/doc/src/sgml/mvcc.sgml
***************
*** 41,52 ****
      for developers to manage concurrent access to data.  Internally,
      data consistency is maintained by using a multiversion
      model (Multiversion Concurrency Control, <acronym>MVCC</acronym>).
!     This means that while querying a database each transaction sees
      a snapshot of data (a <firstterm>database version</firstterm>)
      as it was some
      time ago, regardless of the current state of the underlying data.
!     This protects the transaction from viewing inconsistent data that
!     could be caused by (other) concurrent transaction updates on the same
      data rows, providing <firstterm>transaction isolation</firstterm>
      for each database session.  <acronym>MVCC</acronym>, by eschewing
      the locking methodologies of traditional database systems,
--- 41,52 ----
      for developers to manage concurrent access to data.  Internally,
      data consistency is maintained by using a multiversion
      model (Multiversion Concurrency Control, <acronym>MVCC</acronym>).
!     This means that while querying a database each session sees
      a snapshot of data (a <firstterm>database version</firstterm>)
      as it was some
      time ago, regardless of the current state of the underlying data.
!     This prevents sessions from viewing inconsistent data produced
!     by concurrent transactions performing updates on the same
      data rows, providing <firstterm>transaction isolation</firstterm>
      for each database session.  <acronym>MVCC</acronym>, by eschewing
      the locking methodologies of traditional database systems,
-- 
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

Reply via email to