On Tue, Apr 27, 2010 at 7:50 PM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: >> It's OK in pg_start_backup(), but seems NG in pg_stop_backup() since >> it waits until some WAL files have been archived by the archiver. No? > > Good point, that logic would need to be changed too. Should it simply > return immediately if archive_mode=off?
What if we wrongly set archive_mode to on and wal_mode to minimal? I think that checking XLogArchivingActive() in pg_stop_backup() is adequate. >>>> + /* >>>> + * For Hot Standby, the WAL must be generated with 'hot_standby' mode, >>>> + * and we must have at least as many backend slots as the primary. >>>> + */ >>>> + if (InArchiveRecovery && XLogRequestRecoveryConnections) >>>> + { >>>> + if (ControlFile->wal_mode < WAL_MODE_HOT_STANDBY) >>>> + ereport(ERROR, >>>> + (errmsg("recovery connections cannot start because >>>> wal_mode was not set to 'hot_standby' on the WAL source server"))); >>>> >>>> This seems to always prevent the server from doing an archive recovery >>>> since wal_mode is expected to be WAL_MODE_ARCHIVE in that case. >>> No, it doesn't prevent archive recovery. It only prevents hot standby if >>> wal_mode was not 'hot_standby' in the master. I think you missed the "&& >>> XLogRequestRecoveryConnections" condition above. >> >> Even if we do only archive recovery, XLogRequestRecoveryConnections >> might be TRUE. Or we need to ensure that the recovery_connection is >> FALSE in the postgresql.conf before starting archive recovery? > > Umm, yes, if you have recovery_connnections=on, it means you want hot > standby. And for that you need wal_mode='hot_standby'. Since the default value of recovery_connections is TRUE, I think that the trouble which I encountered would often happen. We should disable recovery_connections by default? Furthermore should move it from postgresql.conf to recovery.conf? On the other hand, I feel that recovery_connections=on in an archive recovery is valid configuration *until* any read only connections are requested. How about moving the above check to postmaster or backend? Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers