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 1vZWjW-00Dm8V-0o for pgsql-general@arkaria.postgresql.org; Sat, 27 Dec 2025 16:01:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vZWjS-00BrGJ-2r for pgsql-general@arkaria.postgresql.org; Sat, 27 Dec 2025 16:01:31 +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.96) (envelope-from <0102019b608b1887-d8e9137f-46a7-4796-9f43-0addbab3c645-000000@mail.rodonnell.ie>) id 1vZWjS-00BrGB-1J for pgsql-general@lists.postgresql.org; Sat, 27 Dec 2025 16:01:31 +0000 Received: from a7-38.smtp-out.eu-west-1.amazonses.com ([54.240.7.38]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <0102019b608b1887-d8e9137f-46a7-4796-9f43-0addbab3c645-000000@mail.rodonnell.ie>) id 1vZWjQ-0036Zw-1L for pgsql-general@postgresql.org; Sat, 27 Dec 2025 16:01:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=pttss7zjfbrazujxl6mrlo4sg34ocala; d=rodonnell.ie; t=1766851287; h=Message-ID:Date:MIME-Version:To:From:Subject:Content-Type:Content-Transfer-Encoding; bh=AaKJ6yqF1Z/NAkHk+M2YPP2TrER+l0pKdiY1Mvk/hTE=; b=zxDLPqpZMJjJz674+/LAkPVpHQRjfohmbWabk5I0MQEU7GG34r7qm1AjjzytlTUm CLWSaDUYMNUqUkp2gZkoQWxQFIpFv4uUpMQ8dn/nv72E0wJbXR2nqjhPzf2HzjvxxyI IlTfXSzBUQ3vG7ryDma1RKFpV/kJpEtnMJ3pH3m6lA81cyTDPKobjhWc/6MIOX85Awj Tmjh0c7sQ+W8BwmygZ4yAg/aBHL4+ydtXke3oU/OBhIfFM36S7z4u/dysuLemuoZy/B Sk0UzT+kRbGEJAZF+/wurKLQR5/larAL9IB1oZ4L1K43WnbzRD5x99PlZtTkI+9wwps oMRMZ2KiwA== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ihchhvubuqgjsxyuhssfvqohv7z3u4hn; d=amazonses.com; t=1766851287; h=Message-ID:Date:MIME-Version:To:From:Subject:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=AaKJ6yqF1Z/NAkHk+M2YPP2TrER+l0pKdiY1Mvk/hTE=; b=EQqP9M5J0siOZVLdvHm0v/fN21BmtHTcvp8H5Gdci8FmzZS4ii5XFMZhipAUYZaf 3lC/oh8Ntg22/PAE9hUxXkEQBfgM8uhkE0mJXvw8o+nyHkiIPc3u0lLR7qefNhfGM69 hG+J3n8HFWVG/P30RNF97L/krVVGRzb+eBS4Nko0= Message-ID: <0102019b608b1887-d8e9137f-46a7-4796-9f43-0addbab3c645-000000@eu-west-1.amazonses.com> Date: Sat, 27 Dec 2025 16:01:27 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-GB To: pgsql-general From: Ray O'Donnell Subject: plpgsql: remove a field from a record? Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Feedback-ID: ::1.eu-west-1.Bw1eu/7Uepg3xcsiFBL71JJRCh2A2yTFrgBhhiulXmU=:AmazonSES X-SES-Outgoing: 2025.12.27-54.240.7.38 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi all, In a plpgsql function, is it possible to remove a field from a RECORD value? My specific use-case is that I have a row returned from a MERGE operation into a variable, declared as type RECORD, which will then be logged; and I want to remove some potentially sensitive stuff from it before it gets logged. I could manually redact the sensitive items (e.g. set them to null); but it'd be tidier just to remove them altogether if I can. Thanks in advance, Ray. -- Ray O'Donnell // Galway // Ireland ray@rodonnell.ie