Re: no notnull values, invalid stats?

Lists: pgsql-sql
From: Markus Schaber <schabi(at)logix-tt(dot)com>
To: PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: no notnull values, invalid stats?
Date: 2006-02-06 11:58:07
Message-ID: 43E739CF.6030908@logix-tt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Hello,

The following message occasionally appears in my postgresql log - from
temporal corellation, it might be caused by autovacuum.

NOTICE: no notnull values, invalid stats

Is that anything I should care about?

I'm running debianized postgresql 8.1.0-3.

Markus

--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf. | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Markus Schaber <schabi(at)logix-tt(dot)com>
Cc: PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: no notnull values, invalid stats?
Date: 2006-02-06 14:02:27
Message-ID: 20060206140227.GA5765@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Markus Schaber wrote:
> Hello,
>
> The following message occasionally appears in my postgresql log - from
> temporal corellation, it might be caused by autovacuum.
>
> NOTICE: no notnull values, invalid stats

I see no such message in 8.1 sources. Is this verbatim or did you
translate it?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: Markus Schaber <schabi(at)logix-tt(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: no notnull values, invalid stats?
Date: 2006-02-06 14:32:32
Message-ID: 43E75E00.8050105@logix-tt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Hi, Alvaro,

Alvaro Herrera wrote:

>>The following message occasionally appears in my postgresql log - from
>>temporal corellation, it might be caused by autovacuum.
>>
>>NOTICE: no notnull values, invalid stats
>
> I see no such message in 8.1 sources. Is this verbatim or did you
> translate it?

It is verbatim from /var/log/postgresql/postgresql-8.1-main.log.

But I have PostGIS installed in some of the databases, so it might be
from there.

Markus

--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf. | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org


From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Markus Schaber <schabi(at)logix-tt(dot)com>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: no notnull values, invalid stats?
Date: 2006-02-06 17:35:24
Message-ID: 20060206173523.GA16445@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

On Mon, Feb 06, 2006 at 03:32:32PM +0100, Markus Schaber wrote:
> Alvaro Herrera wrote:
> >>The following message occasionally appears in my postgresql log - from
> >>temporal corellation, it might be caused by autovacuum.
> >>
> >>NOTICE: no notnull values, invalid stats
> >
> > I see no such message in 8.1 sources. Is this verbatim or did you
> > translate it?
>
> It is verbatim from /var/log/postgresql/postgresql-8.1-main.log.
>
> But I have PostGIS installed in some of the databases, so it might be
> from there.

That is indeed a PostGIS message; it's in compute_geometry_stats()
in lwgeom/lwgeom_estimate.c. I think it means that during an
analyze, all of the sampled rows had NULL values in their geometry
columns (i.e., no not-NULL values were found); that would explain
the correlation with autovacuum. Here's an example that elicits
the notice:

postgis=> CREATE TABLE foo ();
CREATE TABLE
postgis=> SELECT AddGeometryColumn('foo', 'geom', -1, 'GEOMETRY', 2);
addgeometrycolumn
------------------------------------------------
public.foo.geom SRID:-1 TYPE:GEOMETRY DIMS:2

(1 row)

postgis=> INSERT INTO foo VALUES (NULL);
INSERT 0 1
postgis=> ANALYZE foo;
NOTICE: no notnull values, invalid stats
ANALYZE
postgis=> UPDATE foo SET geom = GeomFromText('POINT(0 0)');
UPDATE 1
postgis=> ANALYZE foo;
ANALYZE

--
Michael Fuhr