Re: Primary Key - Mailing list pgsql-general

From Joey Quinn
Subject Re: Primary Key
Date
Msg-id CAG5XHY=0nRsV-1b7uxt3C4yioPdgBK7s+19uV0-p2X0H5tCr9w@mail.gmail.com
Whole thread Raw
In response to Re: Primary Key  ("Joshua D. Drake" <jd@commandprompt.com>)
List pgsql-general
From the way the table was filled, I knew there were no nulls. It succeeded.



On Thu, Nov 21, 2013 at 8:15 PM, Joshua D. Drake <jd@commandprompt.com> wrote:

On 11/21/2013 12:40 PM, Joey Quinn wrote:
I have a table (5 columns) with approximately 670 million rows. It has
had an index (unique) on an inet column from the beginning. Today I
added a primary key constraint based on the same column thinking that
since it already had an index, this would be a relatively quick
operation. That does not appear to be case. It has gone into a "not
responding" status for an hour or so now. As a point of reference, I'm
using 9.3 on a 64 bit Windows Server 2008 (32 GB ram) and inserts so far
have taken 6 1/2 - 7 minutes for each batch of 16.7 million rows.

Other than not creating the primary key at the beginning, did I do
anything wrong? and can I reasonably expect the current operation to finish?

It will finish but it is checking that not only is it unique, but NOT NULL. You may want to cancel it and try:

select count(*) from foo where bar IS NULL;

If you have NULL in the column, you don't have a primary key

Joshua D. Drake


Joey



--
Command Prompt, Inc. - http://www.commandprompt.com/  509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
For my dreams of your image that blossoms
   a rose in the deeps of my heart. - W.B. Yeats

pgsql-general by date:

Previous
From: Ken Tanzer
Date:
Subject: Re: Getting non_NULL right-side values on a non-matching join?
Next
From: Ken Tanzer
Date:
Subject: Re: Getting non_NULL right-side values on a non-matching join?