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 1u2uA2-007ZmB-DE for pgsql-general@arkaria.postgresql.org; Thu, 10 Apr 2025 15:49:50 +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 1u2uA0-00DeDm-QW for pgsql-general@arkaria.postgresql.org; Thu, 10 Apr 2025 15:49:49 +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 1u2u93-00DYjF-Dg for pgsql-general@lists.postgresql.org; Thu, 10 Apr 2025 15:48:49 +0000 Received: from purple.birch.relay.mailchannels.net ([23.83.209.150]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u2u90-004Xz3-25 for pgsql-general@lists.postgresql.org; Thu, 10 Apr 2025 15:48:49 +0000 X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id A51A1183963; Thu, 10 Apr 2025 15:48:43 +0000 (UTC) Received: from pdx1-sub0-mail-a300.dreamhost.com (100-99-84-17.trex-nlb.outbound.svc.cluster.local [100.99.84.17]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 3958F183CD9; Thu, 10 Apr 2025 15:48:43 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1744300123; a=rsa-sha256; cv=none; b=egrlE9pigE80jZXbeQMn6ZwRMmfjBpxsyfvStye1wQOYTiCjYT5bJi0XRcWBdZB2o6ysru 0DZEsy0qjHAipaJRLMU8YVAXKmmj+ezqU1HcAOCcN6dxwEwpZjDaeQ0jyxUweSBNpilMmW ICVnmAte9y6NwzUc+M2tTDZnBsoB6frsBwG8yRZeGXBllPU5Uu3dnAh1vWCd6AkN5g9HYN XQPjr/TbXiDX5E3cookkSpNICzJkBGFJ7Q2mx1S6SbfiMFsSdFc75iKAec4frAUaeyYCCE vyaetMHUsD+zazGGOLGJtkDoesS77wZJIMTwpGHsoH4jLHoAJxAZASu2+oNn7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1744300123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=a2/dJQ0bRqUcMtnpZMzJ+f+wifNs+BWKsTiuPMs+uS8=; b=DP1ThTVLN46WKQ2wI7gq6r2TGyUr7N0RwiBBJQkfEFDUXlxeUvO6sL7Si81Ong8RmOs95g mj3UMY2SqA/1VIDDNHio2jgCW6JE/EOwQeEeYpzQ/XooMKFP6zx0EhM9+5ntYcGHGUkgK9 QS93ntOjTg7up6OdH7E6d2Dn0brGdB41o8L4i9ppVPfPx2Og+r6fj76BnaVwae9HDom6EM mugqjndENxoDrufF49kGibNMG1FfhzrDZ00dQ85n2ULz0PsquMzUm6UbWEWljep7X67aFH gFAoVKHjUrJ2nPyKRtqQgfXiCTSC2vAcTngHNHNTQslrEiqtX2wJe7+buU8BRw== ARC-Authentication-Results: i=1; rspamd-6c89d5bdcb-l64ns; auth=pass smtp.auth=dreamhost smtp.mailfrom=nico@cryptonector.com X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|nico@cryptonector.com X-MailChannels-Auth-Id: dreamhost X-Inform-Shade: 4b9186891e63ded7_1744300123490_275674471 X-MC-Loop-Signature: 1744300123490:2309054564 X-MC-Ingress-Time: 1744300123490 Received: from pdx1-sub0-mail-a300.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.99.84.17 (trex/7.0.3); Thu, 10 Apr 2025 15:48:43 +0000 Received: from ubby (syn-075-081-095-064.res.spectrum.com [75.81.95.64]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by pdx1-sub0-mail-a300.dreamhost.com (Postfix) with ESMTPSA id 4ZYPP63bH3zdh; Thu, 10 Apr 2025 08:48:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cryptonector.com; s=dreamhost; t=1744300123; bh=a2/dJQ0bRqUcMtnpZMzJ+f+wifNs+BWKsTiuPMs+uS8=; h=Date:From:To:Cc:Subject:Content-Type; b=PnPXLPae7FC0RHbENXpVGzoS6Q6eo7zQRaqSbXjktSr895zRVnXmxLEs8LccQXIAX IZuNfNegTnkr6KqYrYwEf2plCFYWj8cRablVIMFqiX2ijm8GVqLjf/ERIKQoaH7lgl K5t7H6n5c64itHeXun0qqdRSdZMA97YVUkcQXDD+dvtPdIfzK+r++OZUSqI691Av4m NEI6x7oo5aM+wBcqnhD3WvnfGx9dk8exzqnOG4KEHL//339HxBhYJ8HoRwBfGA7yfx NnlQc2VDB+21sBnpiTlxSg0e7y5XTHC67p0UlUTa75tbWV7wPVB1KZXAks8Lg994q+ 7NHvmyE2/yhjA== Date: Thu, 10 Apr 2025 10:48:40 -0500 From: Nico Williams To: Adrian Klaver Cc: Laurenz Albe , Olleg Samoylov , "pgsql-generallists.postgresql.org" Subject: Re: Interesting case of IMMUTABLE significantly hurting performance Message-ID: References: <662101e2-5ca5-4bf5-9307-2519efde8690@ya.ru> <8687df7d49bc4b28b41c7cf4e9ad1e15d383b2fa.camel@cybertec.at> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Apr 09, 2025 at 02:43:11PM -0700, Adrian Klaver wrote: > On 4/9/25 14:21, Nico Williams wrote: > > That to_char is not immutable is not documented though. Though it's > > clear when looking at the docs for the `jsonb_.*_tz()` functions. > > From here: > > https://www.postgresql.org/docs/current/catalog-pg-proc.html > > select proname, provolatile, prosrc from pg_proc where proname='to_char'; > [...] I'm surprised to see that counted as docs, but good to know.