Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7HhO-00599H-19 for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 18:50:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7HhM-005dXK-2V for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 18:50:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7HhM-005dXA-1V for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 18:50:52 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7HhL-00000001qmv-0jAW for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 18:50:52 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-5a1307438ddso5235300e87.1 for ; Mon, 30 Mar 2026 11:50:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774896650; cv=none; d=google.com; s=arc-20240605; b=CWkZ9nttfon/bKzgxjFmWu8UvVVkd9g5NZCWesDtPkhdCukifBabEcKM+YNuuhopIb v5+X5GcbLPMREbhMx0qpQfFfSxu/bFp2v6cfnIRoLM9JTbZj0UhnNt9Lb1Sp8z3xGSaJ jMgtLAA+V508TyAhlsAhji8mf/Z25a2aVQgLyW9p7cfuZvjr2EnQrO7GBYJxnzCDHucD WpaTMFk881tz2UxhKDLd1OfuFmy43CzIQ9td8XLStgm4W1b1zk7T+k6Z0QzY5zaAEvED 7tapiyXZCqqSgWvdX3DBOdKUvopt+f0dzhxLMJ3LVkWyxf74f79tVT/+9EBXx+40ATTF I5bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Irop1WyafCcmWxUW3oKPtPO8jjEG6sjFF8cQwiyNZqE=; fh=lU6Ym9ESZtin4eyHnSJSG0XuhQg0HJOi1hDgKprlz7o=; b=StJhuEJKGi61KbVgHqRL1MtrUy3AhGL8TxhgHaIGytOykwc+5w1LV/i3f0kY12czad 5gWHB+JZZNpUbrkWwbLdwuNSKXdhAK1bpePj+HnH6R6HrgskNZhGcSDo3E9iAC2+cchG rR2GfuYTgubTHATDjkX24GvzKsr6gjQvz7UpGKwA3cDuco+dTH96SVTDKfSMi6RJd00I KfftWt7d4u2AcRg6eWwQYQ30lACcuclO0OhGp0JV3UHbccW3cOY78fEPG3puloWLX8v6 BoQ19yNs34wDgNW/3SAcavNE1aRaxWjZ1z0vKjNhnOiMjSKz3bJjhR9domlopamtAWis IiBg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774896650; x=1775501450; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Irop1WyafCcmWxUW3oKPtPO8jjEG6sjFF8cQwiyNZqE=; b=PLVLWVoc4O52sn/Sks3RR/8iTu02lkWorh+jAaWFLXaV1WeIDe2MlRgiGMa3MnCsRz +szlWuXl+NixQJv/j+cqMMjHchUEq33XlmQYcjaNv0TNuWHunhLtWzFnljzqq7jCcXbH H7P/eC76ywX/9gda5DraIpKpJi/Aj3lDroHjeac6KqsFzrzxat6nDcOZ+mKKILoAfejU s+0MYIpaZ3wa3Kw2Tn/p9aNAs5C6Eu6RIr6SLIFik9Yuj47WSYaD6NJqslpcUgvAOqIr 7yTvW9ZqS39VcgD4UNBPL/5wj0Cu2ye2LNAn9Grxz7eFHIIWxWNfWrTyAlTMIToMh1lR CX1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774896650; x=1775501450; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Irop1WyafCcmWxUW3oKPtPO8jjEG6sjFF8cQwiyNZqE=; b=onma5lHx0Yw2BDhjizv17Fap9fBpxo7SacEdOuibI2LRxVAUIrp/eWXQDzrrgDCa+6 OgvM/A8EEA17acwjvVVNhXTT5uy91ByEhilkzipfb3HSx0JEj1MvBthcSUn63kqcgKhn E00y6errd+ZrvSVkfsOuKNWpsi1wf7TaAvXnCqpSFnzDzIMbNZnSlNwPTndWJbYlGHAT t1tKsYcLPlJX0EieuwsTvR9612KHpUzdApYM/aQCLRy5Ppp2EpPUAUsbG1Z3ItxLsHpX 4mkb3NhluAxVfNENR7WdB/t9yhvhQgBP69iL4fz/Nq7VgFspaZFJRgzc1x52+w9Yytky bsEA== X-Forwarded-Encrypted: i=1; AJvYcCVMYtNEvvfVfM5/Hhp79uC7mB+ZJb5KQDGFAU5hgq6OewucbG/W1+3Dx+khd7iuwxFl6W+0au7/jur340aq@lists.postgresql.org X-Gm-Message-State: AOJu0Yx9w+yc8A1PcvCmkdUhCBPj4Cu1kqtkG7p/7UIGuWxkIXi3O4KC W1AFSwsoOLfaLM7lDENyRascRFy7qGRWmweBsY27z26f17CYmTebNluEXMGHznzGNQUjL56p7U0 71RfHw5UkzItphELZuariTx2S3Sb8N0s= X-Gm-Gg: ATEYQzw17DG2Vg733fKbh+aSSyH02gpxB/ERWcssu/kUgro/Axvu7AFu3jKZnFESqX8 ufKBlcNjGbvtdqwcxpyJ4tu6cXqZDjh05y6t4dEtL+NiFSzc18Cnyk5Q4kLLYJ+WDNhcZKem7e8 H55REz5zQM+ECXLifpl5K4up2/fSQVjpmC7201cTaEYbiORx0KKaU1sVJTIxLU4lBS1JO3cl2mq oxX0cRKdM3ZdJke3yPvUYSCrYhDx5piC/mTzxaAXtBrdGs6IqFAIHfRMC84T7Z3DneRe88w34t6 A8zANCDRJVmoTyEMkjl9JtJZrkywCc+tbDkRb9FzGm/X+P4mG19NzFkASEVQ0iuPK0XnbY8SjRC 2nobtiT7T51E+myg= X-Received: by 2002:a05:6512:33ca:b0:5a2:9b44:1cb with SMTP id 2adb3069b0e04-5a2ab7ef7e0mr5286788e87.2.1774896649197; Mon, 30 Mar 2026 11:50:49 -0700 (PDT) MIME-Version: 1.0 References: <2542714.1774895703@sss.pgh.pa.us> In-Reply-To: <2542714.1774895703@sss.pgh.pa.us> From: Matthias van de Meent Date: Mon, 30 Mar 2026 20:50:37 +0200 X-Gm-Features: AQROBzCb_cwv4LaovJPlkjCLoloYeL-ITiQ5gX3TZbu1cqjpMLOqmWfWor-Fy7Q Message-ID: Subject: Re: [BUG] Excessive memory usage with update on STORED generated columns. To: Tom Lane Cc: "Anton A. Melnikov" , PostgreSQL Hackers , Peter Eisentraut Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 30 Mar 2026 at 20:35, Tom Lane wrote: > > So I think the correct fix is that there needs to be a separate > boolean tracking whether this work has been done, akin to > ExecGetExtraUpdatedCols's use of ri_extraUpdatedCols_valid. Why would it need a new boolean? ri_extraUpdatedCols_valid tracks exactly whether we've already gone through ExecInitGenerated(..., CMD_UPDATE), and in doing so if both ri_extraUpdatedCols, ri_GeneratedExprsU, and ri_NumGeneratedNeededU are valid or whether they still need to be populated. Adding a new boolean would therefore be rather duplicative. See also the patch of a few hours ago at [0]. Kind regards, Matthias van de Meent Databricks (https://www.databricks.com) [0] https://postgr.es/m/CAEze2Wh%2B_C8LtmiMRb58df%3DA1PrBVmMnYMOfbBUk9c%3Dm99CN%2Bw%40mail.gmail.com