Unexpected SQL error for UPDATE

From: aurora <aurora00(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Unexpected SQL error for UPDATE
Date: 2006-07-12 00:47:31
Message-ID: cbd177510607111747h7542382bke12a6fc152338fe6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Originally I have a table like this

create table users (
userid integer not null,
email_address varchar (255) unique not null,
PRIMARY KEY (userid)
);

Later I find that varchar(255) is not enough. I designed to change the type
to
text. There is no simple SQL to alter the type. So I use a series of SQLs to
create a new column, copy the data over and then replace the old column with
the
new.

ALTER TABLE users ADD email_address_text text UNIQUE;
UPDATE users set email_address_text=email_address;
ALTER TABLE users DROP email_address;
ALTER TABLE users RENAME email_address_text TO email_address;
ALTER TABLE users ALTER email_address SET not null;

This works mostly OK. Until I have one database that has over 1 million
records
in table user. It fails with an inexplicable error:

mydb=# UPDATE users set email_address_text=email_address;
ERROR: invalid page header in block 6776 of relation
"users_email_address_text_key"

Anyone can shred some light what has went wrong?

wy

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Exner, Peter 2006-07-12 08:06:34 Re: How to find entries missing in 2nd table?
Previous Message Daniel Caune 2006-07-11 21:29:40 Invalid memory alloc request size