Mario Weilguni wrote: > > I had a problem when upgrading a database from 8.1.4 to 8.2.1: > Sorry, the error messages are in german. > > pg_restore: [archiver (db)] Error while PROCESSING TOC: > pg_restore: [archiver (db)] Error from TOC entry 1531; 1259 > 3477393 INDEX idx_inspektionen_dat_inspektion > pg_restore: [archiver (db)] could not execute query: FEHLER: > Funktionen im Indexausdruck muessen als IMMUTABLE markiert sein > Command was: CREATE INDEX idx_inspektionen_dat_inspektion > ON inspektionen USING btree (to_char(dat_inspektion, 'yyyy'::text)); > WARNING: errors ignored on restore: 1 > > to_char(timestamp, 'yyyy') should be constant and marked > immutable, or am I wrong here? Or is it not marked immutable > because of possible changes on date_format?
At some point, the configuration parameter lc_time should have an influence on the output of to_char(timestamp, text), although this behaviour is not yet implemented. I guess that is why the function is STABLE ind not IMMUTABLE. Maybe you can use date_part('YEAR', dat_inspektion)::bpchar Yours, Laurenz Albe ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org