Hi, I hacked up some scripts to do warm standby log shipping with postgresql version 8.2.7. Everything is fine, but I have one remaining curiosity. The restore script looks like: --snipp-- from="$1"; to="$2"; while true; do if test -f "$ARCHIVEDIR/$from"; then src="$ARCHIVEDIR/$from"; mv "$src" "$to"; exit 0; fi # startup triggered if test -f $triggerfile; then exit 0; fi sleep 2; done --snipp-- However this way its not working, since when the database starts up it requests log files again that were already feeded. Here is a log of an unsuccessful startup: --snipp-- 2008-05-05 17:21:42 CEST LOG: restored log file "000000010000000B0000001C" from archive 2008-05-05 17:22:42 CEST LOG: restored log file "000000010000000B0000001D" from archive 2008-05-05 17:23:40 CEST LOG: restored log file "000000010000000B0000001E" from archive 2008-05-05 17:24:40 CEST LOG: restored log file "000000010000000B0000001F" from archive 2008-05-05 17:25:04 CEST LOG: could not open file "pg_xlog/000000010000000B00000020" (log file 11, segment 32): No such file or directory 2008-05-05 17:25:04 CEST LOG: redo done at B/1F00CB6C 2008-05-05 17:25:04 CEST PANIC: could not open file "pg_xlog/000000010000000B0000001F" (log file 11, segment 31): No such file or directory 2008-05-05 17:25:04 CEST LOG: startup process (PID 4873) was terminated by signal 6 2008-05-05 17:25:04 CEST LOG: aborting startup due to startup process failure 2008-05-05 17:30:02 CEST LOG: could not load root certificate file "root.crt": no SSL error reported 2008-05-05 17:30:02 CEST DETAIL: Will not verify client certificates. 2008-05-05 17:30:02 CEST LOG: database system was interrupted while in recovery at log time 2008-05-05 17:22:14 CEST 2008-05-05 17:30:02 CEST HINT: If this has occurred more than once some data may be corrupted and you may need to choose an earlier recovery targe 2008-05-05 17:30:02 CEST LOG: starting archive recovery 2008-05-05 17:30:02 CEST LOG: restore_command = "/var/lib/postgresql/8.2-wal-archive/pg-standby/restore.sh %f %p" 2008-05-05 17:30:02 CEST LOG: could not open file "pg_xlog/000000010000000B0000001D" (log file 11, segment 29): No such file or directory 2008-05-05 17:30:02 CEST LOG: invalid primary checkpoint record 2008-05-05 17:30:02 CEST LOG: could not open file "pg_xlog/000000010000000B0000001A" (log file 11, segment 26): No such file or directory 2008-05-05 17:30:02 CEST LOG: invalid secondary checkpoint record 2008-05-05 17:30:02 CEST PANIC: could not locate a valid checkpoint record 2008-05-05 17:30:02 CEST LOG: startup process (PID 825) was terminated by signal 6 2008-05-05 17:30:02 CEST LOG: aborting startup due to startup process failure --snipp-- A successful startup looks like: --snipp-- 2008-05-13 15:55:47 CEST LOG: restored log file "000000010000002700000046" from archive 2008-05-13 15:56:47 CEST LOG: restored log file "000000010000002700000047" from archive 2008-05-13 15:57:47 CEST LOG: restored log file "000000010000002700000048" from archive 2008-05-13 15:59:21 CEST LOG: could not open file "pg_xlog/000000010000002700000049" (log file 39, segment 73): No such file or directory 2008-05-13 15:59:21 CEST LOG: redo done at 27/48016BC0 2008-05-13 15:59:22 CEST LOG: restored log file "000000010000002700000048" from archive 2008-05-13 15:59:22 CEST LOG: selected new timeline ID: 2 2008-05-13 15:59:22 CEST LOG: archive recovery complete 2008-05-13 15:59:22 CEST LOG: database system is ready --snipp-- As we can see logfile ..48 is requested again. So the question is: Which log files can I safely delete from my archive? OTOH, is this a bug? I think postgresql should not request something again that was already feeded. Best, Jens -- "Everything superfluous is wrong!" // Jens Wilke - headissue GmbH - Munich - Germany \// http://www.headissue.com