"luis garcia" <ldgarc@gmail.com> writes:
> Well about the changes I have made, they are working just fine. All the
> structures length have been updated and as I said we added 7 new fields
> to pg_class structure and there was no problem. The problem here is with
> relfrequency only.
pg_class is notoriously tricky to add fields to --- there are more
undocumented dependencies than you might think. If you check the
archives, there was a thread only a week or so back with someone who
was one or two edits short of getting such a change to work.
But what I'm wondering in your case is whether your code thinks it can
set relfrequency and/or the preceding field relfrequencytype to null.
You can't use a C struct to address any fields beyond the first
possibly-nullable field, because the constant offsets computed by the
compiler won't work. Also, initdb makes some assumptions derived from
this fact to decide which system-catalog columns to mark NOT NULL.
If "\d pg_class" shows not-null column markings that are at variance
with what you intend, you have a problem.
regards, tom lane