Go to file
Heikki Linnakangas 223a946804 Fix deadlock at startup, if max_prepared_transactions is too small.
When the startup process recovers transactions by scanning pg_twophase
directory, it should clear MyLockedGxact after it's done processing each
transaction. Like we do during normal operation, at PREPARE TRANSACTION.
Otherwise, if the startup process exits due to an error, it will try to
clear the locking_backend field of the last recovered transaction. That's
usually harmless, but if the error happens in MarkAsPreparing, while
holding TwoPhaseStateLock, the shmem-exit hook will try to acquire
TwoPhaseStateLock again, and deadlock with itself.

This fixes bug #13128 reported by Grant McAlister. The bug was introduced
by commit bb38fb0d, so backpatch to all supported versions like that
commit.
2015-04-23 21:37:09 +03:00
config Accept tcl 8.6 in configure's probe for tclsh. 2014-05-10 10:48:14 -04:00
contrib Fix assorted inconsistent function declarations. 2015-04-07 16:56:21 -04:00
doc Fix typo in libpq.sgml. 2015-04-06 12:17:53 +09:00
src Fix deadlock at startup, if max_prepared_transactions is too small. 2015-04-23 21:37:09 +03:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:06 +02:00
aclocal.m4
configure Stamp 9.0.19. 2015-02-02 15:46:01 -05:00
configure.in Stamp 9.0.19. 2015-02-02 15:46:01 -05:00
COPYRIGHT Update copyright for 2015 2015-01-06 11:43:46 -05:00
GNUmakefile.in Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
HISTORY Improve text of stub HISTORY file. 2014-02-12 18:16:41 -05:00
Makefile Add new make targets "world", "install-world" and "installcheck-world" to build, install and check just about everything. 2010-01-28 23:59:52 +00:00
README Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
README.git Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00

PostgreSQL Database Management System
=====================================
  
This directory contains the source code distribution of the PostgreSQL
database management system.

PostgreSQL is an advanced object-relational database management system
that supports an extended subset of the SQL standard, including
transactions, foreign keys, subqueries, triggers, user-defined types
and functions.  This distribution also contains C language bindings.

PostgreSQL has many language interfaces, many of which are listed here:

	http://www.postgresql.org/download

See the file INSTALL for instructions on how to build and install
PostgreSQL.  That file also lists supported operating systems and
hardware platforms and contains information regarding any other
software packages that are required to build or run the PostgreSQL
system.  Copyright and license information can be found in the
file COPYRIGHT.  A comprehensive documentation set is included in this
distribution; it can be read as described in the installation
instructions.

The latest version of this software may be obtained at
http://www.postgresql.org/download/.  For more information look at our
web site located at http://www.postgresql.org/.