Re: ERROR: value too long for type character
Doug Fields <dfields-pg-general@pexicom.com>
From: Doug Fields <dfields-pg-general@pexicom.com>
To: Neil Conway <nconway@klamath.dyndns.org>
Cc: pgsql-general@postgresql.org
Date: 2002-05-21T20:54:10Z
Lists: pgsql-general
> > Do you know how I can tell it to "silently truncate" the data as I believe > > it used to? > >Is there a reason you can't just use TEXT? It will be stored the same >internally... The only reason being that I don't want to waste space storing arbitrarily long pieces of information. I was not aware that TEXT is just as (in)efficient as VARCHAR, though. If that is truly the case, I will consider using TEXT in some places, but only when I am very careful in the INSERT and UPDATE clauses so as not to store too long things. >But the most obvious way I can think of to do what you're asking is >to define a rule to replace the value inserted with a call to >substring(). So, basically: 1) There's absolutely no way to get back the 7.1.3 "silent truncation" behavior (which is, IMO, stupid, I like the non-standard truncation behavior) 2) You have to truncate on INSERT/UPDATE and continue using VARCHAR(x) 3) Instead of 2, you can use TEXT Several others have asked this question since 7.2 appeared but none received a response to #1. Thanks, Doug