From: | David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: arrays of rows and dblink |
Date: | 2014-04-30 18:19:00 |
Message-ID: | 1398881940648-5802050.post@n5.nabble.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Torsten Förtsch wrote
> Hi,
>
> we have the ROW type and we have arrays. We also can create arrays of
> rows like:
>
> select array_agg(r)
> from (values (1::int, 'today'::timestamp, 'a'::text),
> (2, 'yesterday', 'b')) r(a,b,c);
> array_agg
> -------------------------------------------------------------------
> {"(1,\"2014-04-30 00:00:00\",a)","(2,\"2014-04-29 00:00:00\",b)"}
>
>
> Now I want to execute that query via dblink on a remote server. How do I
> specify the result type?
>
> select tb.* from dblink( 'dbname=postgres', $$
> select array_agg(r)
> from (values (1::int, 'today'::timestamp, 'a'::text),
> $$) tb( WHAT DO I PUT HERE? )
>
> Thanks,
> Torsten
ISTM that you have to "CREATE TYPE ..." as appropriate then
... tb ( col_alias type_created_above[] )
There is only so much you can do with anonymous types (which is what the ROW
construct creates; ROW is not a type but an expression anchor - like
ARRAY[...]) that tells the parser how to interpret what follows.
David J.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/arrays-of-rows-and-dblink-tp5802035p5802050.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
From | Date | Subject | |
---|---|---|---|
Next Message | Torsten Förtsch | 2014-04-30 18:59:00 | Re: arrays of rows and dblink |
Previous Message | Torsten Förtsch | 2014-04-30 17:52:01 | arrays of rows and dblink |