Hello, in PostgreSQL 10.8 the following works -
words_ru=> SELECT ARRAY[ words_ru-> '*', '*', 'А', 'А', 'А', 'А', 'А', 'А', 'А', 'А', words_ru-> 'Б', 'Б', 'В', 'В', 'В', 'В', 'Г', 'Г', 'Д', 'Д', words_ru-> 'Д', 'Д', 'Е', 'Е', 'Е', 'Е', 'Е', 'Е', 'Е', 'Е', words_ru-> 'Е', 'Ж', 'З', 'З', 'И', 'И', 'И', 'И', 'И', 'Й', words_ru-> 'К', 'К', 'К', 'К', 'Л', 'Л', 'Л', 'Л', 'М', 'М', words_ru-> 'М', 'Н', 'Н', 'Н', 'Н', 'Н', 'О', 'О', 'О', 'О', words_ru-> 'О', 'О', 'О', 'О', 'О', 'О', 'П', 'П', 'П', 'П', words_ru-> 'Р', 'Р', 'Р', 'Р', 'Р', 'С', 'С', 'С', 'С', 'С', words_ru-> 'Т', 'Т', 'Т', 'Т', 'Т', 'У', 'У', 'У', 'У', 'Ф', words_ru-> 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ы', 'Ь', 'Ь', words_ru-> 'Э', 'Ю', 'Я', 'Я' words_ru-> ]; array ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------- {*,*,А,А,А,А,А,А,А,А,Б,Б,В,В,В,В,Г,Г,Д,Д,Д,Д,Е,Е,Е,Е,Е,Е,Е,Е,Е,Ж,З,З,И,И,И,И,И,Й,К,К,К,К,Л,Л,Л,Л,М,М,М,Н,Н,Н,Н,Н,О,О,О,О,О,О,О,О,О,О,П,П,П,П,Р,Р,Р,Р,Р,С,С,С,С,С,Т,Т,Т,Т,Т,У,У,У,У,Ф,Х,Ц,Ч,Ш,Щ, Ъ,Ы,Ы,Ь,Ь,Э,Ю,Я,Я} (1 row) 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[ words_ru$> '*', '*', 'А', 'А', 'А', 'А', 'А', 'А', 'А', 'А', words_ru$> 'Б', 'Б', 'В', 'В', 'В', 'В', 'Г', 'Г', 'Д', 'Д', words_ru$> 'Д', 'Д', 'Е', 'Е', 'Е', 'Е', 'Е', 'Е', 'Е', 'Е', words_ru$> 'Е', 'Ж', 'З', 'З', 'И', 'И', 'И', 'И', 'И', 'Й', words_ru$> 'К', 'К', 'К', 'К', 'Л', 'Л', 'Л', 'Л', 'М', 'М', words_ru$> 'М', 'Н', 'Н', 'Н', 'Н', 'Н', 'О', 'О', 'О', 'О', words_ru$> 'О', 'О', 'О', 'О', 'О', 'О', 'П', 'П', 'П', 'П', words_ru$> 'Р', 'Р', 'Р', 'Р', 'Р', 'С', 'С', 'С', 'С', 'С', words_ru$> 'Т', 'Т', 'Т', 'Т', 'Т', 'У', 'У', 'У', 'У', 'Ф', words_ru$> 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ы', 'Ь', 'Ь', words_ru$> 'Э', 'Ю', 'Я', 'Я' words_ru$> ]; words_ru$> $func$ LANGUAGE sql IMMUTABLE; ERROR: 42601: syntax error at or near "array" LINE 2: RETURNS array AS ^ LOCATION: scanner_yyerror, scan.l:1128 Is it possible to create and return an array in an SQL custom function? Thank you Alex