Обсуждение: analyze anomalie

Поиск
Список
Период
Сортировка

analyze anomalie

От
Uwe Bartels
Дата:
Hi,

today i found an anomalie running
analyze verbose <table>

the output was simply "ANALYZE", which tells me that analyze was running successfully. but there was no verbose output. and in the statistics table was no updated last_analyze column.

I run that automaticly in the background or manually in a psql session or via pgAdmin. Everywhere the same.

Then I run a "vacuum analysze verbose" and then I see the verbose output for the analyze and of course the vacuum. And now the last_analyze column in pg_statistics is updated.

So what's problem here? Why is this analyze only apppearing to run, but doesn't?

Our postgres is 8.3 64 bit in solaris x86.

best regards,
Uwe

Re: analyze anomalie

От
Tom Lane
Дата:
Uwe Bartels <uwe.bartels@gmail.com> writes:
> today i found an anomalie running
> analyze verbose <table>

> the output was simply "ANALYZE", which tells me that analyze was running
> successfully. but there was no verbose output. and in the statistics table
> was no updated last_analyze column.

Perhaps you didn't have permission to analyze the table, and had
client_min_messages set too high to see the resulting WARNING?
It would have done something like this:

regression=> analyze verbose tenk1;
WARNING:  skipping "tenk1" --- only table or database owner can analyze it
ANALYZE

but if the WARNING got suppressed it would match what you stated.

            regards, tom lane

Re: analyze anomalie

От
Uwe Bartels
Дата:
Hi Tom,

I was running the command as user postgres (default). The "vacuum anlyze" and the "analyze" I run as the same user.
client_min_messages is still set to default in the server config.

reagrds,
Uwe

2009/6/29 Tom Lane <tgl@sss.pgh.pa.us>
Uwe Bartels <uwe.bartels@gmail.com> writes:
> today i found an anomalie running
> analyze verbose <table>

> the output was simply "ANALYZE", which tells me that analyze was running
> successfully. but there was no verbose output. and in the statistics table
> was no updated last_analyze column.

Perhaps you didn't have permission to analyze the table, and had
client_min_messages set too high to see the resulting WARNING?
It would have done something like this:

regression=> analyze verbose tenk1;
WARNING:  skipping "tenk1" --- only table or database owner can analyze it
ANALYZE

but if the WARNING got suppressed it would match what you stated.

                       regards, tom lane