![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
this simple update closes the connection. |
#4
| |||
| |||
|
|
joseph speigle <joe.speigle (AT) jklh (DOT) us> writes: this simple update closes the connection. My first guess is there's some data corruption in the table or one of its indexes. It would be useful to get a stack trace showing where in the backend the core dump occurs --- can you manage that? Other things to check: can you do a "select * from calling" without crashing? What shows up in the postmaster log when the crash occurs? If you just want to fix the database ASAP, you could try a REINDEX on the table --- if the problem is in the indexes that should get rid of it. But it would also destroy the evidence of exactly what went wrong. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings |
#5
| |||
| |||
|
#6
| |||
| |||
|
|
i had altered the table when it was okay with the following sequence alter table calling add column uname character varying(20); alter table calling alter column uname set not null; said I couldn't do that because there were null values in it, so that's when i tried the update calling set uname='joe'; and got errors. |
|
(gdb) bt #0 0x0806b854 in nocachegetattr (tuple=0x82f5b78, attnum=1, tupleDesc=0x406f23a0, isnull=0xbfffe9d3 "") at heaptuple.c:349 |
#7
| |||
| |||
|
|
joseph speigle <joe.speigle (AT) jklh (DOT) us> writes: i had altered the table when it was okay with the following sequence alter table calling add column uname character varying(20); alter table calling alter column uname set not null; said I couldn't do that because there were null values in it, so that's when i tried the update calling set uname='joe'; and got errors. Hmm. That's interesting and possibly relevant, but it can't be the whole story --- people have been doing that for years. What else can you tell us about the history of this table? (gdb) bt #0 0x0806b854 in nocachegetattr (tuple=0x82f5b78, attnum=1, tupleDesc=0x406f23a0, isnull=0xbfffe9d3 "") at heaptuple.c:349 I'm beginning to think you must have corruption in the system catalogs, because there's no way that control should have reached that line for this table, seeing that all the columns are variable-width. Could we see the output of select * from pg_attribute where attnum > 0 and attrelid = 'calling'::regclass; regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings |
#8
| |||
| |||
|
okay. I"m making progress here. I want to know if I should just delete the oid that's too very large?because, I can issue a select up to row 1100. So, Select * from calling limit 1100 returns all rows, whereas select * from calling limit 1101 kills the process. |
#9
| |||
| |||
|
|
joseph speigle <joe.speigle (AT) jklh (DOT) us> writes: okay. I"m making progress here. I want to know if I should just delete the oid that's too very large?because, I can issue a select up to row 1100. So, Select * from calling limit 1100 returns all rows, whereas select * from calling limit 1101 kills the process. Okay, so you have a corrupted tuple --- from the evidence so far I'd guess that the length word of the first column in that row is clobbered. The wacky OIDs in some of the other rows look like data corruption too. At this point my thoughts are heading in the direction of hardware problems. Have you tried running any memory or disk diagnostics? memtest86 and badblocks seem to be the most widely used tests. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo (AT) postgresql (DOT) org |
#10
| |||
| |||
|
|
no, but perhaps I will. but since there's only this one corrupted table, it was trying to add a third column "uname" which was where it went bad. It might have been this command alter table calling add uname character varying(30) not null default 'joe'; |
![]() |
| Thread Tools | |
| Display Modes | |
| |