>>># create index docs_birthdate_idx ON docs using btree (((meta->>'birthdate')::date));
ERROR: functions in index _expression_ must be marked IMMUTABLE
So, what is the problem here?
Date functions are inherently not immutable because of timezones. Your solution of using to_timestamp doesn't help because it automatically returns a value in WITH TIMESTAMP. Do you get anywhere by using "::timestamp without time zone" instead, as suggested here?
Geoff