I have written a simple procedure that accepts anyarray, and concatinates the elements separated by a space and returns the result to anyelement. I know when I call this function I will always be passing varchars. If the length of the resultant concatination is longer than the maximum length of the return varchar I want to truncate at the max. Since I don't know the max length of the return varchar I now get an error in this situation: ERROR: value too long for type character varying(10) is there a way to determine the maximum length of the varchar of anyelement inside the function? Here is my simple function: create or replace function concat_arr( p_array anyarray ) returns anyelement as \$\$ DECLARE out_char ALIAS FOR \$0; BEGIN out_char := '' ; FOR i IN 1..array_upper(p_array, 1) LOOP if i <> 1 then out_char := out_char || ' ' || p_array[i] ; else out_char := out_char || p_array[i] ; end if ; END LOOP; return (out_char) ; END; \$\$ LANGUAGE plpgsql ; -- View this message in context: http://www.nabble.com/is-there-a-way-to-determine-the-attributes-of-anyelement-tf3562903.html#a9951488 Sent from the PostgreSQL - general mailing list archive at Nabble.com.