Currently it is possible to change the behaviour of a function with CREATE OR REPLACE FUNCTION even if the function is part of an index definition.
I think that should be forbidden, because it is very likely to corrupt the index. I expect the objection that this would break valid use cases where people know exactly what they are doing, but I believe that this is a footgun for inexperienced users that should be disarmed. I'd also opt for forbidding behaviour changing modifications with ALTER FUNCTION for functions used in index definitions, specifically altering strictness. Attached is a patch implementing a fix. Yours, Laurenz Albe
alter_index_function.patch
Description: alter_index_function.patch
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers