Bruce Momjian <maillist@candle.pha.pa.us> writes:
> If you delete the file at the end of initdb, is it recreated with the
> proper values?
OK, let's try it ...
Sure enough, if I delete the file and then start a new backend,
it's rebuilt. Not only that, it's rebuilt with the *correct* index-
size values read from pg_class! And cost_index then gets that data
passed to it.
So this code actually is able to go out and read the database, it just
doesn't want to ;-)
I'd say this whole mechanism is unnecessary; we should just build
the data on-the-fly the way it's done in write_irels(), and eliminate
all the file reading and writing code in init_irels and write_irels.
The only thing it could possibly be doing for us is saving some backend
startup time, but I'm not able to measure any difference when I delete
the init file.
I'll work on that tomorrow, unless I hear squawks of outrage from
someone who remembers what this code was for.
regards, tom lane