> after I upgrade my postgresql from 7.2 to 7.3, one query always makes server
> terminated

This is caused by the vacuum of a temp table.

Tom fixed it already about a week ago and provided the patch here:



*** src/backend/storage/buffer/localbuf.c.orig  Wed Sep  4 16:31:25 2002
--- src/backend/storage/buffer/localbuf.c       Thu Dec  5 17:48:10 2002
***************
*** 90,108 ****
        {
                Relation        bufrel = 
RelationNodeCacheGetRelation(bufHdr->tag.rnode);
  
-               /*
-                * The relcache is not supposed to throw away temp rels, so 
this
-                * should always succeed.
-                */
-               Assert(bufrel != NULL);
- 
                /* flush this page */
!               smgrwrite(DEFAULT_SMGR, bufrel, bufHdr->tag.blockNum,
!                                 (char *) MAKE_PTR(bufHdr->data));
!               LocalBufferFlushCount++;
  
!               /* drop refcount incremented by RelationNodeCacheGetRelation 
*/
!               RelationDecrementReferenceCount(bufrel);
        }
  
        /*
--- 90,113 ----
        {
                Relation        bufrel = 
RelationNodeCacheGetRelation(bufHdr->tag.rnode);
  
                /* flush this page */
!               if (bufrel == (Relation) NULL)
!               {
!                       smgrblindwrt(DEFAULT_SMGR,
!                                                bufHdr->tag.rnode,
!                                                bufHdr->tag.blockNum,
!                                                (char *) 
MAKE_PTR(bufHdr->data));
!               }
!               else
!               {
!                       smgrwrite(DEFAULT_SMGR, bufrel,
!                                         bufHdr->tag.blockNum,
!                                         (char *) MAKE_PTR(bufHdr->data));
!                       /* drop refcount incremented by 
RelationNodeCacheGetRelation */
!                       RelationDecrementReferenceCount(bufrel);
!               }
  
!               LocalBufferFlushCount++;
        }
  
        /*


Regards,





Frank.


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to