postgres.git / summary / log / commit / refs

commit    94f610b16342d7727774f6bb9245341cfa6f895c
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Fri Feb 19 06:29:19 2010 +0000
First released in: 9.0.0

    Forbid setval() during recovery. This prevents the PANIC reported  by
    Erik Rijkers. Patch by Andres Freund.


src/backend/commands/sequence.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 7215ca91e9e..ffb7fcaba9d 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/sequence.c,v 1.166 2010/02/14 18:42:14 rhaas Exp $ + * $PostgreSQL: pgsql/src/backend/commands/sequence.c,v 1.167 2010/02/19 06:29:19 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -736,6 +736,9 @@ do_setval(Oid relid, int64 next, bool iscalled) Buffer buf; Form_pg_sequence seq; + /* setval() writes to database and must be prevented during recovery */ + PreventCommandDuringRecovery(); + /* open and AccessShareLock sequence */ init_sequence(relid, &elm, &seqrel); [parent: 2f6b4560afc6]