Re: ERROR: null value in column "id" violates not-null constraint

From: Robert Paulsen <robert(at)paulsenonline(dot)net>
To: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: ERROR: null value in column "id" violates not-null constraint
Date: 2009-10-11 12:35:58
Message-ID: 200910110735.58353.robert@paulsenonline.net
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Sunday 11 October 2009 3:32 am, Dmitriy Igrishin wrote:
> Hello.
> Note, that you may use SERIAL data type and PostgreSQL will implicitly
> create sequence for you column, for example,
> CREATE table test (
> id SERIAL NOT NULL PRIMARY KEY, -- PostgreSQL will implicitly
> create 'test_id_seq'
> dat text
> );
>
> Regards,
> Dmitiy Igrishin
>

I believe that's how I started, not knowing any other way, but the pg_dump
utility spits things out in all the gory details!

Somewhere along the line the default value for the id field was lost. I at
first suspected it happened in the dump/restore cycle when I restored the
data back into 8.0 after dumping it with 8.2 but I reran that scenario and
something else happened: It would NOT restore back into 8.0 at all, so that
must not be what I actually did to get into the "lost default" situation.

Below is what 8.2 dumps out. 8.0 refuses imported that. I suppose if I had
originally edited the 8.2 dump data to "fix" this I might have gotten into
the mess I was in but I sure don't remember doing that.

8.2 dump data:
id integer DEFAULT nextval(('auth_id_seq'::text)::regclass) NOT NULL,

What 8.0 is happy with:
id integer DEFAULT nextval('vault_id_seq'::text) NOT NULL,

Bob

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Dmitriy Igrishin 2009-10-11 13:22:06 Re: ERROR: null value in column "id" violates not-null constraint
Previous Message Dmitriy Igrishin 2009-10-11 08:32:05 Re: ERROR: null value in column "id" violates not-null constraint