Re: Do I really have to convert text to varchar and varchar to varchar[] to do an INSERT? - Mailing list pgsql-novice

From Jon Jensen
Subject Re: Do I really have to convert text to varchar and varchar to varchar[] to do an INSERT?
Date
Msg-id 4717F434.8040301@jenseng.com
Whole thread Raw
In response to Do I really have to convert text to varchar and varchar to varchar[] to do an INSERT?  (Mary Anderson <maryfran@demog.berkeley.edu>)
List pgsql-novice
> Here is the error message
>
> ERROR: column "lt_location_type is of type character varying[] but
> expression is of type character varying.
>
> HINT: You will need to rewrite or cast the expression.
>
> Something is going on with pgsql which I truly don't understand.
> After twenty years of working with SQL, I am pretty sure i know how to
> write a simple INSERT statement!  Explanations would be greatly
> appreciated.
Looks like your lt_location_type column is defined as a varchar array
(i.e. VARCHAR[]), so it's expecting you to populate it with a varchar
array value (e.g. '{''foo'', ''bar''}') , as opposed to simple
varchar/text values (e.g. 'foo'). A simple alter table should resolve it
for you:

ALTER TABLE location_types ALTER COLUMN lt_location_type TYPE VARCHAR;

Jon

pgsql-novice by date:

Previous
From: Mary Anderson
Date:
Subject: Do I really have to convert text to varchar and varchar to varchar[] to do an INSERT?
Next
From: Dale Seaburg
Date:
Subject: Pattern matching