postgresql/src
Tom Lane 5fc78efcec Avoid throwing ERROR during WAL replay of DROP TABLESPACE.
Although we will not even issue an XLOG_TBLSPC_DROP WAL record unless
removal of the tablespace's directories succeeds, that does not guarantee
that the same operation will succeed during WAL replay.  Foreseeable
reasons for it to fail include temp files created in the tablespace by Hot
Standby backends, wrong directory permissions on a standby server, etc etc.
The original coding threw ERROR if replay failed to remove the directories,
but that is a serious overreaction.  Throwing an error aborts recovery,
and worse means that manual intervention will be needed to get the database
to start again, since otherwise the same error will recur on subsequent
attempts to replay the same WAL record.  And the consequence of failing to
remove the directories is only that some probably-small amount of disk
space is wasted, so it hardly seems justified to throw an error.
Accordingly, arrange to report such failures as LOG messages and keep going
when a failure occurs during replay.

Back-patch to 9.0 where Hot Standby was introduced.  In principle such
problems can occur in earlier releases, but Hot Standby increases the odds
of trouble significantly.  Given the lack of field reports of such issues,
I'm satisfied with patching back as far as the patch applies easily.
2012-02-06 14:44:41 -05:00
..
backend Avoid throwing ERROR during WAL replay of DROP TABLESPACE. 2012-02-06 14:44:41 -05:00
bin pg_dump: Remove global Archive pointer. 2012-02-06 14:07:55 -05:00
include Add array_to_json and row_to_json functions. 2012-02-03 12:11:16 -05:00
interfaces fe-misc.c depends on pg_config_paths.h 2012-02-06 11:50:01 -03:00
makefiles Add pg_upgrade test suite 2011-11-27 22:42:32 +02:00
pl Code review for plpgsql fn_signature patch. 2012-02-01 02:14:37 -05:00
port Use abort() instead of exit() to abort library functions 2012-01-30 21:34:00 +02:00
template Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
test Allow SQL-language functions to reference parameters by name. 2012-02-04 19:23:49 -05:00
timezone Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tools Fix pathname in pgindent README. 2012-01-09 13:31:58 -05:00
tutorial Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in ecpg: Improve test building 2012-02-02 20:33:29 +02:00
Makefile.shlib Use single quotes in preference to double quotes for protecting pathnames. 2011-06-15 21:45:23 -04:00
nls-global.mk Sort compendium lists for msgmerge 2011-12-27 20:22:51 +02:00
win32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00