uwcssa <uwcssa(at)gmail(dot)com> writes:
> My program (indirectly) calls the following function twice,
> tuple = SearchSysCache(STATRELATT, ObjectIdGetDatum(relid),
> Int16GetDatum(colnum), 0, 0);
> The first time it assigns NULL to tuple, while the second time it
> assigns a valid pointer. Why is it like that?
You did an ANALYZE in between, perhaps? That's the only operation
that puts new rows in pg_statistic.
regards, tom lane