From: | Scott Marlowe <smarlowe(at)g2switchworks(dot)com> |
---|---|
To: | Rich Shepard <rshepard(at)appl-ecosys(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Adding Records With SERIAL Primary Key |
Date: | 2005-05-03 17:12:49 |
Message-ID: | 1115140369.13303.1491.camel@state.g2switchworks.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, 2005-05-03 at 11:58, Rich Shepard wrote:
> I may have missed this in the docs; if so, please tell me where to find the
> answer there. If not, I still need to learn how to resolve this situation.
>
> The database schema has been designed and the tables are ready to be
> created. Once they exist, I want to load data into the tables in batch mode
> (rather than one at a time, manually). The core table has a SERIAL data type
> field as the primary key. How is this field assigned values? Then, how do I
> load the related tables so they reference the proper records?
The normal way it's added is with a DEFAULT clause. This means it can
be overridden by inserting it by hand. Changing this to an after trigger
can ensure that it is always inserted no matter what the user app tries
to do.
When loading in data using the copy command, one can set the columns to
be copied, and the system will insert the serial value for you if you
leave that column out of the list.
If your data already has a value assigned, you can load those in, and
then use setval() to set the value of the associated sequence.
From | Date | Subject | |
---|---|---|---|
Next Message | Rich Shepard | 2005-05-03 17:20:16 | Re: Adding Records With SERIAL Primary Key |
Previous Message | Ragnar Hafstað | 2005-05-03 17:10:26 | Re: does database shut down cleanly when WAL device |