Re: Any hope for more specific error message for "value too long..."?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Any hope for more specific error message for "value too long..."?
Date: 2018-02-17 01:10:09
Message-ID: 4349.1518829809@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com> writes:
> Hi. If you try to assign a too-long string to a field, Postgresql will say
> so, but won't tell you which value/field is causing the problem:
> CREATE TEMP TABLE foo (a VARCHAR(2));
> INSERT INTO foo VALUES ('ABC');
> CREATE TABLE
> ERROR: value too long for type character varying(2)
> That doesn't matter much in a simple example like that, but the example
> below is currently making me wish PG was just a little bit more specific.
> Is there much chance of this changing in future releases?

It's an issue that's been on the radar screen for a long time, but it's
not very clear how to improve matters without a lot of added overhead
and/or an API break for user-defined data types, neither of which seem
like prices we'd be willing to pay. For that matter, it's not totally
clear what would constitute an improvement --- what do you wish it would
show you, exactly? In the particular case here, the fact that a varchar
length coercion is being invoked isn't even explicit in the query.

Good ideas welcome ...

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2018-02-17 01:11:03 Re: Any hope for more specific error message for "value too long..."?
Previous Message David G. Johnston 2018-02-17 00:57:31 Re: Rationale for PUBLIC having CREATE and USAGE privileges on the schema "public" by default