postgresql/doc/src/sgml
Tom Lane 033eb1581b Fix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing
pg_listener modifications commanded by LISTEN and UNLISTEN until the end
of the current transaction.  This allows us to hold the ExclusiveLock on
pg_listener until after commit, with no greater risk of deadlock than there
was before.  Aside from fixing the race condition, this gets rid of a
truly ugly kludge that was there before, namely having to ignore
HeapTupleBeingUpdated failures during NOTIFY.  There is a small potential
incompatibility, which is that if a transaction issues LISTEN or UNLISTEN
and then looks into pg_listener before committing, it won't see any resulting
row insertion or deletion, where before it would have.  It seems unlikely
that anyone would be depending on that, though.

This patch also disallows LISTEN and UNLISTEN inside a prepared transaction.
That case had some pretty undesirable properties already, such as possibly
allowing pg_listener entries to be made for PIDs no longer present, so
disallowing it seems like a better idea than trying to maintain the behavior.
2008-03-12 20:11:46 +00:00
..
ref Fix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing 2008-03-12 20:11:46 +00:00
acronyms.sgml Point to our own UUID page instead of to Wikipedia. 2007-11-09 22:22:46 +00:00
adminpack.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
advanced.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
arch-dev.sgml Change 'merge sort join', a phrase we use nowhere else, to the more 2007-12-12 06:23:27 +00:00
array.sgml Fix array_dims() example to be consistent with the data previously shown. 2007-06-07 14:49:56 +00:00
backup.sgml Clearify PITR doc wording. 2008-03-07 01:46:41 +00:00
biblio.sgml Update URL for "Generalized Partial Indexes" paper to point to a cached 2007-02-08 04:31:37 +00:00
bki.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
btree-gist.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
catalogs.sgml Implement enum type for guc parameters, and convert a couple of existing 2008-03-10 12:55:13 +00:00
charset.sgml Move client encoding libpq function docs into libpq doc section, and 2008-03-06 15:37:56 +00:00
chkpass.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
client-auth.sgml Put spaces after "RFC". 2008-01-05 13:17:00 +00:00
config.sgml Add to documentation: 2008-03-11 16:59:00 +00:00
contacts.sgml Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
contrib-spi.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
contrib.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
cube.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
cvs.sgml Fix incorrect URI for cvs rsync 2007-08-06 07:58:06 +00:00
datatype.sgml Update docs to reflect the fact that we can now deal with DST rules 2008-02-16 21:51:04 +00:00
datetime.sgml Update docs to reflect the fact that we can now deal with DST rules 2008-02-16 21:51:04 +00:00
dblink.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
ddl.sgml Add note pointing out that read-only commands no longer consume 2008-01-13 17:58:54 +00:00
dfunc.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
dict-int.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
dict-xsyn.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
diskusage.sgml Update documentation on may/can/might: 2007-01-31 20:56:20 +00:00
dml.sgml Entity-ify a passel of & < > characters. Per gripe from Devrim. 2007-12-03 23:49:51 +00:00
docguide.sgml Update required TeX settings 2007-12-28 11:13:55 +00:00
earthdistance.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
ecpg.sgml Entity-ify a passel of & < > characters. Per gripe from Devrim. 2007-12-03 23:49:51 +00:00
errcodes.sgml Somebody forgot to add this ERRCODE everywhere it should go ... 2008-01-15 01:36:53 +00:00
extend.sgml Only use SGML indexterm "zone" when we want to get the entire section. 2007-08-31 21:33:48 +00:00
external-projects.sgml Clean up some now-obsolete references to GBorg. 2007-11-14 01:58:18 +00:00
features.sgml Update SQL conformance information about XML features. 2007-02-03 17:59:36 +00:00
filelist.sgml Add SGML documentation for contrib/spi and contrib/test_parser. 2007-12-03 04:18:47 +00:00
fixrtf Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
func.sgml Document and enforce that the usable range of setseed() arguments is 2008-03-10 12:39:23 +00:00
fuzzystrmatch.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
geqo.sgml Provide a bit more high-level documentation for the GEQO planner. 2007-07-21 04:02:41 +00:00
gin.sgml Add a couple of notes pointing out that GIN index build time is very 2007-11-16 03:23:07 +00:00
gist.sgml Clean up some stray references to tsearch2. 2007-11-13 23:36:26 +00:00
high-availability.sgml Improve table reference 2008-01-30 10:49:55 +00:00
history.sgml Add note on PostgreSQL vs. Postgres. 2007-10-30 23:06:06 +00:00
hstore.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
indexam.sgml Make 'col IS NULL' clauses be indexable conditions. 2007-04-06 22:33:43 +00:00
indices.sgml Clean up some stray references to tsearch2. 2007-11-13 23:36:26 +00:00
info.sgml Remove mention of /contrib README files from documentation because files 2008-01-09 02:37:45 +00:00
information_schema.sgml Fix markup. 2007-02-20 23:14:19 +00:00
install-win32.sgml Support for building contrib/uuid-ossp with MSVC. 2008-02-28 12:17:59 +00:00
installation.sgml Provide a build-time option to store large relations as single files, rather 2008-03-10 20:06:27 +00:00
intagg.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
intarray.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
intro.sgml Update documentation on may/can/might: 2007-01-31 20:56:20 +00:00
isn.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
keywords.sgml Update key words table for 8.3 2008-01-30 10:37:36 +00:00
legal.sgml Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
libpq.sgml Move client encoding libpq function docs into libpq doc section, and 2008-03-06 15:37:56 +00:00
lo.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
lobj.sgml Fix broken markup, strange tab width. 2007-03-14 00:15:26 +00:00
ltree.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
maintenance.sgml spell checker run 2007-11-28 15:42:31 +00:00
Makefile Use clearer error message for gmake postgres.pdf: 2007-12-15 10:28:21 +00:00
manage-ag.sgml Move NFS section into "Creating Cluster" documentation section because 2007-11-08 15:21:03 +00:00
mk_feature_tables.pl Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
monitoring.sgml spell checker run 2007-11-28 15:42:31 +00:00
mvcc.sgml Update "Conflicting lock modes" to show as conflict, add 2007-02-18 01:21:49 +00:00
nls.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
notation.sgml Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
oid2name.sgml Remove the -P options of oid2name and pgbench, as they are security 2007-12-11 02:31:49 +00:00
pageinspect.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
perform.sgml Update examples in planstats.sgml for 8.3, and improve some aspects of 2007-12-28 21:03:31 +00:00
pgbench.sgml Remove the -P options of oid2name and pgbench, as they are security 2007-12-11 02:31:49 +00:00
pgbuffercache.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
pgcrypto.sgml Typo fix. 2008-01-17 14:34:45 +00:00
pgfreespacemap.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
pgrowlocks.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
pgstandby.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-16 23:00:42 +00:00
pgstattuple.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
pgtrgm.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-10 05:32:51 +00:00
planstats.sgml Update examples in planstats.sgml for 8.3, and improve some aspects of 2007-12-28 21:03:31 +00:00
plhandler.sgml Remove emacs info from footer of SGML files. 2006-09-16 00:30:20 +00:00
plperl.sgml Fix example of de-escaping bytea argument, per Florian Weimer. Also fix example 2008-01-25 15:28:35 +00:00
plpgsql.sgml Reference pgAdmin as a typical client-side tool, rather than the 2008-01-23 02:04:47 +00:00
plpython.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
pltcl.sgml Entity-ify a passel of & < > characters. Per gripe from Devrim. 2007-12-03 23:49:51 +00:00
postgres.sgml Move contrib docs to an appendix (next door to External Projects). 2007-11-14 02:36:43 +00:00
problems.sgml Update documentation on may/can/might: 2007-01-31 20:56:20 +00:00
protocol.sgml Some small editorialization on the protocol documentation for GSSAPI/SSPI 2008-02-08 18:18:05 +00:00
queries.sgml Allow AS to be omitted when specifying an output column name in SELECT 2008-02-15 22:17:06 +00:00
query.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
reference.ced Deprecate 'current' for date/time input. 2001-11-21 05:53:41 +00:00
reference.sgml First rough cut at text search documentation: bare bones reference 2007-08-21 21:08:47 +00:00
regress.sgml Update documentation of resultmap file format. 2007-06-12 17:49:12 +00:00
release.sgml Add "automatically" to HOT release note description. 2008-02-07 22:28:54 +00:00
rowtypes.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
rules.sgml Wording cleanup for error messages. Also change can't -> cannot. 2007-02-01 19:10:30 +00:00
runtime.sgml Add more clarification about SSH tunnels from Faheem Mitha. 2008-02-26 18:01:26 +00:00
seg.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
sources.sgml Specify putting two spaces after sentence-ending period, which is current 2007-11-07 13:12:21 +00:00
spi.sgml Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before 2008-02-12 04:09:44 +00:00
sql.sgml Allow AS to be omitted when specifying an output column name in SELECT 2008-02-15 22:17:06 +00:00
sslinfo.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
standalone-install.sgml $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
start.sgml Reference pgAdmin as a typical client-side tool, rather than the 2008-01-23 02:04:47 +00:00
storage.sgml Provide a build-time option to store large relations as single files, rather 2008-03-10 20:06:27 +00:00
stylesheet-common.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
stylesheet-fo.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
stylesheet-hh.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
stylesheet.css Override upstream DSSSL style sheet formatting changes 2004-06-29 20:44:34 +00:00
stylesheet.dsl Disable LOT for the time being because of TeX problems 2007-12-28 11:14:19 +00:00
stylesheet.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
syntax.sgml Avoid mathematical inconsistency in example about avoiding division by 2008-01-23 19:51:29 +00:00
tablefunc.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
test-parser.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
textsearch.sgml Add a CaseSensitive parameter to synonym dictionaries. 2008-03-10 03:01:28 +00:00
trigger.sgml Entity-ify a passel of & < > characters. Per gripe from Devrim. 2007-12-03 23:49:51 +00:00
tsearch2.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
typeconv.sgml Fix select_common_type() so that it can select a domain type, if all inputs 2007-11-26 16:46:51 +00:00
user-manag.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
uuid-ossp.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
vacuumlo.sgml Make documentation of -W options more accurate and uniform. 2007-12-11 19:57:32 +00:00
wal.sgml Document how to control the disk write cache on Solaris. 2007-12-29 17:55:07 +00:00
xaggr.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
xfunc.sgml Add an example of a SQL function with output parameters returning 2007-11-10 20:14:36 +00:00
xindex.sgml Mention hash opclasses in 'System Dependencies on Operator Classes', 2007-12-02 04:36:40 +00:00
xml2.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
xoper.sgml spell checker run 2007-11-28 15:42:31 +00:00
xplang.sgml Consistenly use colons before '<programlisting>' blocks, where 2007-02-01 00:28:19 +00:00
xtypes.sgml Change the declaration of struct varlena so that the length word is 2008-02-23 19:11:45 +00:00