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.94.2) (envelope-from ) id 1vGKqH-00Ck00-Vg for pgsql-general@arkaria.postgresql.org; Tue, 04 Nov 2025 17:29:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vGKqG-00FStY-Tj for pgsql-general@arkaria.postgresql.org; Tue, 04 Nov 2025 17:29:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vGKqG-00FStQ-HP for pgsql-general@lists.postgresql.org; Tue, 04 Nov 2025 17:29:11 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vGKqD-005y3y-0c for pgsql-general@lists.postgresql.org; Tue, 04 Nov 2025 17:29:10 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-471191ac79dso64240985e9.3 for ; Tue, 04 Nov 2025 09:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1762277346; x=1762882146; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=d8ucYo6PLK/7NkIDLcsmeQB/DWBo6GqSZmAh0W2VDz0=; b=at/293T7fYcyDGEm9r1Ov56PrrzkKisWhgYjyQlW9zffMcrDUxoN+LUVzZKYWnBd1/ POO2ESbOBf7Jg0vkB4FYAM9yivI96Q9ER8i9lc+BPef8HNVfNCDztMRbJNkMNSI3CH5w HrF/7huc8/HIP1YYGbOJhCyx1vQwvfMtJNoaZw1froYRmtY2Xlzx1fKLqC5RjhtJ6zwV yDM+yTyjAb9oUNYHpOPnOaJDGTmttvaM0YCQrDy03szFNYjdeMOLIfeexDqjQvEljOw4 6V+bqy9aS0MoznXkMpd17lswi66R2j2z6W3HQKIFmlMTSSHTMTFR72NfTBDPTBq81+28 WZXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762277346; x=1762882146; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=d8ucYo6PLK/7NkIDLcsmeQB/DWBo6GqSZmAh0W2VDz0=; b=Ga5Of5Im80NXAXCNEPwoBnhV5VWrv9O63IKq2doOCZEBS3Q3BayiW+/c/suPoLbgyp EZRFQQ7TZ65MPJ71puKgJ5mb0tagz6w/sYZwkbPAGxZqnGQ4v5+SLI9qzpkIoGsKG21v ztCcU5GKpJPbgdHJCmztdzc0IHveFCk+DJRmzH0/JJ589iYfkw+3LO+Jp1VAr6eElVSA JJXW7iQzpy7MfzrNfipbHi4kBaoF/oE9zWgBrEeHuy3l7BGMZcaZwSZ2A+7vB6m2o+He tYJ7kHt/jDMkmgfi0ysNThsY5+SGXBjKq9F+HaPmekqSRzprpHaBMJMSWrNtkHt7f6yc niLg== X-Forwarded-Encrypted: i=1; AJvYcCUCQW3PnNXqGnDFrbq20SoDtUuaZ0Nh2An3Sn4Vbdzmcc0yHPvMbTjBUDytfnFX7cucq+9z+Q4I1yi6uhzz@lists.postgresql.org X-Gm-Message-State: AOJu0Yyy2TBk3nBclaO772bbuOpoFRyNSe1Z1YVCS0rtP+Ssvl9zTALv 7Fj+6sqfKfgRel+DyNko6c1EUSH+wnAggM6wMJ0kkOvB7aYM6bXvkd17ZHG+laartzA= X-Gm-Gg: ASbGnctWdL7y8++6cMrY8WrF3J0ue288HezN8m1f+Cxs/fPZ0mZ2U8OmhOMvcyCAbH7 H9hcgH9Vo4j7WnmjCODqHE/d1fSlkvnBrY/jpuMvIZb8q7VdCH4egVTaSaW7cre6+R9LY9n797L MJ7sKvMNOK2oEaG+jE4SDjAIRHddO38rdb3ArvrDmSz5bA5LC1NPkKC3bwzWB7vOEzOoFDS0aS1 stGgjxUo9ZqxlIP6GAAwOTIyI79fedKVSo0HNCwHNvniwQ2Z4b6c7oZLIZc/79aV7R0Jw4Euc5M 95HmDLzFfbLzoNctJiN3uKdyCDQeFu7G/v62r1FZ8n+QWelRXz0eLiQGtUAyCQSqza65MyQta99 frs2MYG2Bu3TF6BTsNBRTQ4LhszKG8dCQOQ7+ufXiOisWGnoi1Uh41jhFHHgoVSVW6gacP51dwM r+UzYaqYpoxMhPK4vxdOCQCF33vUI= X-Google-Smtp-Source: AGHT+IFfADsvXLYY2WAWSK1dVh9XmJIyZ3ZbXUnflwXbJHtxAmIbOzPCls2nsgZbx/4XYC/8KT4zKw== X-Received: by 2002:a05:600c:a086:b0:477:59e8:507d with SMTP id 5b1f17b1804b1-4775ce1a952mr1405565e9.31.1762277346564; Tue, 04 Nov 2025 09:29:06 -0800 (PST) Received: from laurenz.albe-K4N0CV00F97414D ([46.226.60.98]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477558c42adsm22221945e9.4.2025.11.04.09.29.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 09:29:06 -0800 (PST) Message-ID: <425c6f01eecaf7ef85989b775fe9e3fd200f65f7.camel@cybertec.at> Subject: Re: PostgreSQL trigger how to detect a column value explicitely modified From: Laurenz Albe To: PALAYRET Jacques , pgsql-general@lists.postgresql.org Date: Tue, 04 Nov 2025 18:29:05 +0100 In-Reply-To: <616435641.255753519.1762260528389.JavaMail.zimbra@meteo.fr> References: <616435641.255753519.1762260528389.JavaMail.zimbra@meteo.fr> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2025-11-04 at 12:48 +0000, PALAYRET Jacques wrote: > In a trigger body, is there a simple way to know if a column value has be= en explicitely modified ? > Explicitely modified ; in others words, typically indicated in the SET cl= ause of the UPDATE. > A simple way ; I mean without analysing the SQL statement which can be ve= ry difficult according to the statement. Unless you want to write a C trigger function you can use CREATE TRIGGER ... BEFORE|AFTER UPDATE OF col ON tab FOR EACH ROW ... Then the trigger function will only be called if the SET clause of UPDATE contains the column "col". Yours, Laurenz Albe