More vacuum troubles

Started by Dan Moschukover 25 years ago8 messagesgeneral
Jump to latest
#1Dan Moschuk
dan@freebsd.org

When I do a vacuum analyze on a table, it tries to allocate a crazy amount
of memory before it is killed by the system..

14377 postgres 1 60 0 2070M 1376M run 0:15 6.44% postgres

Yikes!

A vacuum without the analyze gives the error

ERROR: No one parent tuple was found

Any ideas?

Thanks,
-Dan
--
Man is a rational animal who always loses his temper when he is called
upon to act in accordance with the dictates of reason.
-- Oscar Wilde

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Dan Moschuk (#1)
Re: More vacuum troubles

Dan Moschuk <dan@freebsd.org> writes:

A vacuum without the analyze gives the error
ERROR: No one parent tuple was found

I think you might be getting bit by the same bug that was biting Alfred
Perlstein a month or so back. Try 7.0.3 and see if it's any better...
if not, let me know and we'll probe deeper.

(Marc hasn't officially announced 7.0.3 yet, but to the best of my
knowledge the release-candidate tarballs currently available from our
FTP server will be it.)

regards, tom lane

#3Dan Moschuk
dan@freebsd.org
In reply to: Tom Lane (#2)
Re: More vacuum troubles

| > A vacuum without the analyze gives the error
| > ERROR: No one parent tuple was found
|
| I think you might be getting bit by the same bug that was biting Alfred
| Perlstein a month or so back. Try 7.0.3 and see if it's any better...
| if not, let me know and we'll probe deeper.
|
| (Marc hasn't officially announced 7.0.3 yet, but to the best of my
| knowledge the release-candidate tarballs currently available from our
| FTP server will be it.)

I've upgraded to 7.0.3, now I get...

c2net=> vacuum verbose analyze some_table;
NOTICE: --Relation some_table--

It's been sitting like that for about half an hour now. There's only
about 3000 records in that table.

--
Man is a rational animal who always loses his temper when he is called
upon to act in accordance with the dictates of reason.
-- Oscar Wilde

#4Dan Moschuk
dan@freebsd.org
In reply to: Dan Moschuk (#3)
Re: More vacuum troubles

| | (Marc hasn't officially announced 7.0.3 yet, but to the best of my
| | knowledge the release-candidate tarballs currently available from our
| | FTP server will be it.)
|
| I've upgraded to 7.0.3, now I get...
|
| c2net=> vacuum verbose analyze some_table;
| NOTICE: --Relation some_table--
|
| It's been sitting like that for about half an hour now. There's only
| about 3000 records in that table.

As a side note, when I ^C the vacuum I get..

^CCancel request sent
pqReadData() -- backend closed the channel unexpectedly.
This probably means the backend terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.
c2net=>

The very next vacuum I do produces the exact same response. The next one
after that though continues..

--
Man is a rational animal who always loses his temper when he is called
upon to act in accordance with the dictates of reason.
-- Oscar Wilde

#5Dan Moschuk
dan@freebsd.org
In reply to: Dan Moschuk (#4)
Re: More vacuum troubles

| | I've upgraded to 7.0.3, now I get...
| |
| | c2net=> vacuum verbose analyze some_table;
| | NOTICE: --Relation some_table--
| |
| | It's been sitting like that for about half an hour now. There's only
| | about 3000 records in that table.
|
| As a side note, when I ^C the vacuum I get..
|
| ^CCancel request sent
| pqReadData() -- backend closed the channel unexpectedly.
| This probably means the backend terminated abnormally
| before or while processing the request.
| The connection to the server was lost. Attempting reset: Succeeded.
| c2net=>
|
| The very next vacuum I do produces the exact same response. The next one
| after that though continues..

And as another side note :) ...

vacuum some_table (without the analyze) completes quite happily.

Cheers,
-Dan
--
Man is a rational animal who always loses his temper when he is called
upon to act in accordance with the dictates of reason.
-- Oscar Wilde

#6Dan Moschuk
dan@freebsd.org
In reply to: Dan Moschuk (#5)
Re: More vacuum troubles

| | The very next vacuum I do produces the exact same response. The next one
| | after that though continues..
|
| And as another side note :) ...
|
| vacuum some_table (without the analyze) completes quite happily.

Grr! There must be a law against replying to so many of your own messages...

Actually, the above is rather untrue. vacuum some_table without the
analyze gets farther along than with analyze, however it eventually spits
back the original error of

ERROR: No one parent tuple was found

Sorry for running around in circles. :-)

Cheers!
-Dan
--
Man is a rational animal who always loses his temper when he is called
upon to act in accordance with the dictates of reason.
-- Oscar Wilde

#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Dan Moschuk (#5)
Re: More vacuum troubles

Dan Moschuk <dan@freebsd.org> writes:

vacuum some_table (without the analyze) completes quite happily.

It sounds like you've got some corrupted data in that table. Plain
vacuum doesn't really pay any attention to what's in the rows it's
shuffling around, but vacuum analyze does...

Does a SELECT * FROM that table succeed?

regards, tom lane

#8Dan Moschuk
dan@freebsd.org
In reply to: Tom Lane (#7)
Re: More vacuum troubles

| > vacuum some_table (without the analyze) completes quite happily.
|
| It sounds like you've got some corrupted data in that table. Plain
| vacuum doesn't really pay any attention to what's in the rows it's
| shuffling around, but vacuum analyze does...
|
| Does a SELECT * FROM that table succeed?

SELECT * FROM table does indeed succeed.

-Dan
--
Man is a rational animal who always loses his temper when he is called
upon to act in accordance with the dictates of reason.
-- Oscar Wilde