date_trunc not immutable - Mailing list pgsql-general

From Ravi Krishna
Subject date_trunc not immutable
Date
Msg-id 1544916384.3079614.1610261080.7F8C1B97@webmail.messagingengine.com
Whole thread Raw
Responses Re: date_trunc not immutable  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: date_trunc not immutable  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Version: PG 10.6 on AWS Linux.

I am trying to create an index on function date_trunc('month',timestamp)

PG is complaining that the function must be marked as IMMUTABLE.  So I assume that date_trunc is not marked as immutable.

Definition of immutable from PG documentation
====================================

All functions and operators used in an index definition must be "immutable", that is, their results must depend only on their arguments and never on any outside influence (such as the contents of another table or the current time). This restriction ensures that the behavior of the index is well-defined. To use a user-defined function in an index expression or WHERE clause, remember to mark the function immutable when you create it.
===================================
What am I missing?  date_trunc will always return the same value for a given value. Not sure how I can mark a PG function as immutable.  

pgsql-general by date:

Previous
From: Ron
Date:
Subject: Re: simple query on why a merge join plan got selected
Next
From: Adrian Klaver
Date:
Subject: Re: date_trunc not immutable