Re: How to return ARRAY from SQL function? - Mailing list pgsql-general

From Tom Lane
Subject Re: How to return ARRAY from SQL function?
Date
Msg-id 27773.1560518732@sss.pgh.pa.us
Whole thread Raw
In response to Re: How to return ARRAY from SQL function?  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: How to return ARRAY from SQL function?
List pgsql-general
Laurenz Albe <laurenz.albe@cybertec.at> 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



pgsql-general by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: How to return ARRAY from SQL function?
Next
From: Adrian Klaver
Date:
Subject: Re: How to connect to toad Edge with postgresql running with dockercontainer?