Re: COPY with composite type column

From: Reg Me Please <regmeplease(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: COPY with composite type column
Date: 2007-12-26 13:31:04
Message-ID: 200712261431.04689.regmeplease@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Il Wednesday 26 December 2007 12:58:34 Reg Me Please ha scritto:
> Hi all.
>
> I have this composite type:
>
> create type ct as (
> ct1 text,
> ct2 int
> );
>
> Then I have this table
>
> create table atable (
> somedata numeric,
> otherdata text,
> compo ct
> );
>
> when I try to COPY data to that table and use the following "query"
> I get a syntax error message:
>
> COPY atable( somedata,(ct).ct1 ) from stdin;
> ERROR: syntax error at or near "("
> LINE 1: COPY atable( somedata,(ct).ct1 ) from stdin;
> ^
>
> The "caret" points to the open parenthesis in "(ct)".
> Same error is reported on the first open parenthesis if I write
> "((ct.).ct1)".
>
> Any hint on how to write this COPY?

OK.
I've managed to walk the first step.
The correct grammar is

COPY atable( somedata,ct ) FROM STDIN;

That is you have to consider the full composed type column.
As stated into the COPY manual.
The data to be entered for the composed type column is to be enclosed within
paretheses. The single sub-columns are to be comma separated (!).

Is there a way to just enter some of the composed types composing columns?

--
Reg me, please!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Josh Harrison 2007-12-26 15:08:13 postgresql long text column
Previous Message Reg Me Please 2007-12-26 11:58:34 COPY with composite type column