*** src/bin/pg_dump/pg_dump.c.orig	2010-02-19 23:22:56.000000000 -0200
--- src/bin/pg_dump/pg_dump.c	2010-02-19 23:43:08.000000000 -0200
***************
*** 11,16 ****
--- 11,27 ----
   *	script that reproduces the schema in terms of SQL that is understood
   *	by PostgreSQL
   *
+  *	Note that pg_dump runs in a serializable transaction, so it sees a
+  *	consistent snapshot of the database including system catalogs.
+  *	However, it relies in part on various specialized backend functions
+  *	like pg_get_indexdef(), and those things tend to run on SnapshotNow
+  *	time, ie they look at the currently committed state.  So it is
+  *	possible to get 'cache lookup failed' error if someone performs DDL
+  *	changes while a dump is happening. The window for this sort of thing
+  *	is from the beginning of the serializable transaction to
+  *	getSchemaData() (when pg_dump acquires AccessShareLock on every
+  *	table it intends to dump). It isn't very large but it can happen.
+  *
   * IDENTIFICATION
   *	  $PostgreSQL$
   *
