Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j4qHU-0002kJ-LW for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Feb 2020 18:10:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1j4qHT-0000oN-7X for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Feb 2020 18:10:35 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j4qHS-0000oB-Rm for pgsql-hackers@lists.postgresql.org; Thu, 20 Feb 2020 18:10:35 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j4qHQ-0008O3-MI for pgsql-hackers@postgresql.org; Thu, 20 Feb 2020 18:10:33 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id 01KIAQxd015824; Thu, 20 Feb 2020 13:10:26 -0500 From: Tom Lane To: Alvaro Herrera cc: Justin Pryzby , Masahiko Sawada , Andres Freund , Michael Paquier , pgsql-hackers@postgresql.org Subject: Re: error context for vacuum to include block number In-reply-to: <20200220170236.GA16805@alvherre.pgsql> References: <20200220170236.GA16805@alvherre.pgsql> Comments: In-reply-to Alvaro Herrera message dated "Thu, 20 Feb 2020 14:02:36 -0300" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <15822.1582222226.1@sss.pgh.pa.us> Date: Thu, 20 Feb 2020 13:10:26 -0500 Message-ID: <15823.1582222226@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Alvaro Herrera writes: > Another point is that this patch seems to be leaking memory each time > you set relation/index/namespace name, since you never free those and > they are changed over and over. One other point is that this code seems to be trying to ensure that the error context callback itself won't need to touch the catalog cache or relcache, which is an important safety feature ... but it's failing at that goal, because RelationGetRelationName() is going to hand back a pointer to a string in the relcache. You need another pstrdup for that. regards, tom lane