Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8816479

Browse files
committed
Need to reset local buffer pin counts, not only shared buffer pins,
before we attempt any file deletions in ShutdownPostgres. Per Tatsuo.
1 parent1f41855 commit8816479

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

‎src/backend/storage/buffer/localbuf.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*
1010
*
1111
* IDENTIFICATION
12-
* $PostgreSQL: pgsql/src/backend/storage/buffer/localbuf.c,v 1.63 2005/03/04 20:21:06 tgl Exp $
12+
* $PostgreSQL: pgsql/src/backend/storage/buffer/localbuf.c,v 1.64 2005/03/18 16:16:09 tgl Exp $
1313
*
1414
*-------------------------------------------------------------------------
1515
*/
@@ -259,3 +259,17 @@ AtEOXact_LocalBuffers(bool isCommit)
259259
}
260260
#endif
261261
}
262+
263+
/*
264+
* AtProcExit_LocalBuffers - ensure we have dropped pins during backend exit.
265+
*
266+
* This is just like AtProcExit_Buffers, but for local buffers. We have
267+
* to drop pins to ensure that any attempt to drop temp files doesn't
268+
* fail in DropRelFileNodeBuffers.
269+
*/
270+
void
271+
AtProcExit_LocalBuffers(void)
272+
{
273+
/* just zero the refcounts ... */
274+
MemSet(LocalRefCount,0,NLocBuffer*sizeof(*LocalRefCount));
275+
}

‎src/backend/utils/init/postinit.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.142 2005/03/1805:24:13 tgl Exp $
11+
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.143 2005/03/1816:16:09 tgl Exp $
1212
*
1313
*
1414
*-------------------------------------------------------------------------
@@ -515,6 +515,7 @@ ShutdownPostgres(int code, Datum arg)
515515
*/
516516
LWLockReleaseAll();
517517
AtProcExit_Buffers();
518+
AtProcExit_LocalBuffers();
518519

519520
/*
520521
* In case a transaction is open, delete any files it created.This

‎src/include/storage/bufmgr.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.90 2005/03/04 20:21:07 tgl Exp $
10+
* $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.91 2005/03/18 16:16:09 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -158,6 +158,7 @@ extern voidBufferSync(void);
158158
externvoidBgBufferSync(void);
159159

160160
externvoidInitLocalBuffer(void);
161+
externvoidAtProcExit_LocalBuffers(void);
161162

162163
/* in freelist.c */
163164
externvoidStrategyHintVacuum(boolvacuum_active);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp