>>>ERROR: column "my_array" is of type character varying[] but expression is of type text
please try this below, may be this should help CREATE CAST (text AS varchar) WITH INOUT AS IMPLICIT; just for info: actually this should be available in default On Fri, Feb 20, 2015 at 9:48 AM, Ken Tanzer <ken.tan...@gmail.com> wrote: > Hi. Here's a boiled down example of something that caught me by surprise: > > ag_reach_test=> CREATE TEMP TABLE foo (my_array varchar[]); > CREATE TABLE > ag_reach_test=> INSERT INTO foo (my_array) SELECT '{TEST}'; > INSERT 0 1 > ag_reach_test=> SELECT my_array[1],array_length(my_array,1) FROM foo; > my_array | array_length > ----------+-------------- > TEST | 1 > (1 row) > > ag_reach_test=> INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}'; > ERROR: column "my_array" is of type character varying[] but expression is > of type text > LINE 1: INSERT INTO foo (my_array) SELECT DISTINCT '{TEST}'; > ^ > HINT: You will need to rewrite or cast the expression. > > It's easy enough to add a cast, but I was curious if this was expected and > desired behavior. Thanks. > > Ken > > -- > AGENCY Software > A Free Software data system > By and for non-profits > *http://agency-software.org/ <http://agency-software.org/>* > *https://agency-software.org/demo/client > <https://agency-software.org/demo/client>* > ken.tan...@agency-software.org > (253) 245-3801 > > Subscribe to the mailing list > <agency-general-requ...@lists.sourceforge.net?body=subscribe> to > learn more about AGENCY or > follow the discussion. >