Laurenz Albe <laurenz.albe@xxxxxxxxxxx> writes: > Alexander Farber wrote: >> But creating an SQL function fails - >> >> words_ru=> CREATE OR REPLACE FUNCTION words_all_letters() >> words_ru-> RETURNS array AS >> words_ru-> $func$ >> words_ru$> SELECT ARRAY[... > "array" is not an existing data type. > You'll have to specify an array of which type you want, probably > ... RETURNS text[] Right. Also, I don't recall the exact rules in this area, but I think that SQL functions are pickier about their return types than ordinary query contexts, meaning you might also need an explicit cast: SELECT ARRAY[ '*', '*', 'А', 'А', 'А', 'А', 'А', 'А', 'А', 'А', ... ]::text[]; Try it without first, but if it moans about the query returning the wrong type, that's how to fix it. regards, tom lane