> > DELETE FROM users_sessions WHERE changed < ('now'::timestamp - '1440
> > minutes'::interval)  AND name = 'fhnid';
> What does EXPLAIN show as the plan for that query?  I'm guessing an
> indexscan, and that the error was caused by reading a broken item
> pointer from the index.  (1342198864 = hex 50005450, which sure looks
> like the upper 5 shouldn't be there ... how big is the table, anyway?)


Index Scan using users_sessions_cha_name_idx on users_sessions
(cost=0.00..12738.07 rows=1275 width=6) (actual time=231.74..239.39 rows=2
Total runtime: 239.81 msec


The size of the table:

canaveral# ls -al 44632
-rw-------  1 pgsql  pgsql  357130240 Sep 19 18:52 44632

The size of the index:

canaveral# ls -al 7331245
-rw-------  1 pgsql  pgsql  8151040 Sep 19 18:51 7331245

Holy crap - that table is huge.  It's like it's never had a vacuum full sort
of thing.  Going select count(*) takes _ages_ even though there's only 1451
rows in it - and not particularly large rows.  Actually, the longest text
entry is 3832 characters and the average is 677.

The sessions table holds normal site session data, like a uid, username,
some other stuff, etc.  However entries older than two hours or so get
deleted.  We VACUUM everynight, so why is the on-disk relation growing so

> > However, I cannot repeat the error now.  Is this a bug in postgres
> > somewhere.
> If the broken item pointer were indeed in the index, I'd expect it to be
> 100% repeatable.  I'm wondering about flaky memory or some such.  Have
> you run any hardware diagnostics?

No - the thought occured to me that there might be something wacky going on.
We've had problems with users_sessions before.  Remember when I mailed about
vacuum failing on it before?  You suggested doing a select for update on the
relation and that fixed it.


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly

Reply via email to