Re: arrays of rows and dblink

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.

In response to

Responses

Browse pgsql-general by date

  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