Re: COPY data into a table with a SERIAL column?

From: Rob Sargent <robjsargent(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: COPY data into a table with a SERIAL column?
Date: 2014-10-16 16:42:51
Message-ID: 543FF58B.9050705@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/16/2014 10:33 AM, Steve Wampler wrote:
>
> Hi,
>
> This is with Postgresql 9.3.5.
>
> I'm looking at using a COPY command (via jdbc) to do bulk inserts into
> a table that
> includes a BIGSERIAL column. Is there a way to mark the data in that
> column so it gets assigned a new value on entry - akin to the use of
> 'default'
> in an INSERT? Some of the rows have values for the serial column,
> others
> don't.
>
> Or is the only way to use COPY for this task:
>
> COPY table_name (columnnameA, columnnameB, columnnameD) FROM source;
>
> where the serial column name is omitted? This wouldn't preserve the
> values
> for the serial column on rows that have one already.
>
> Thanks!
> Steve
Doesn't this guarantee collision at some point?

I might add a column to the target table which would contain the
"foreign" serial id and give all records the "local" serial. Update
local to foreign iff safe and desired.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message snacktime 2014-10-16 17:02:08 Misunderstanding deadlocks
Previous Message Steve Wampler 2014-10-16 16:33:02 COPY data into a table with a SERIAL column?