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]