|
7 | 7 | * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
8 | 8 | * Portions Copyright (c) 1994, Regents of the University of California
|
9 | 9 | *
|
10 |
| - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.163 2004/08/23 23:22:44 tgl Exp $ |
| 10 | + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.164 2004/08/28 18:18:03 tgl Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
@@ -4922,9 +4922,11 @@ CreateCheckPoint(bool shutdown, bool force)
|
4922 | 4922 | * Truncate pg_subtrans if possible. We can throw away all data before
|
4923 | 4923 | * the oldest XMIN of any running transaction. No future transaction will
|
4924 | 4924 | * attempt to reference any pg_subtrans entry older than that (see Asserts
|
4925 |
| - * in subtrans.c). |
| 4925 | + * in subtrans.c). During recovery, though, we mustn't do this because |
| 4926 | + * StartupSUBTRANS hasn't been called yet. |
4926 | 4927 | */
|
4927 |
| -TruncateSUBTRANS(GetOldestXmin(true)); |
| 4928 | +if (!InRecovery) |
| 4929 | +TruncateSUBTRANS(GetOldestXmin(true)); |
4928 | 4930 |
|
4929 | 4931 | LWLockRelease(CheckpointLock);
|
4930 | 4932 | }
|
|