Обсуждение: pk vs unique not null differences between 8.3.4 and 8.3.8
I prepared a script to upgrade the schema in a 8.3.8 dev box and now
I was trying to replicate the change in a staging 8.3.4 box... and
it failed.
I don't have a recent backup of my dev box so I can't check if I'm
day dreaming.
This statement succede in 8.3.8
alter table shop_commerce_gift drop constraint
shop_commerce_gift_pkey;
but failed in 8.3.4.
I checked the table def in the 8.3.4 and it reports:
giftcode | character varying(16) | not null
...
Indexes:
"shop_commerce_gift_giftcode_key" UNIQUE, btree (giftcode)
but then when I try to drop the index... pg says that the index is
needed for shop_commerce_gift_giftcode_key constraint
was it something that was fixed between the releases or I just
didn't take note of what I really did in the staging box?
btw I was using the same pgsql version from my desktop to \d the
tables.
--
Ivan Sergio Borgonovo
http://www.webthatworks.it
Ivan Sergio Borgonovo <mail@webthatworks.it> writes:
> This statement succede in 8.3.8
> alter table shop_commerce_gift drop constraint
> shop_commerce_gift_pkey;
> but failed in 8.3.4.
Uh, that doesn't seem to match the name of the index?
> Indexes:
> "shop_commerce_gift_giftcode_key" UNIQUE, btree (giftcode)
regards, tom lane
On Mon, 02 Nov 2009 09:53:06 -0500 Tom Lane <tgl@sss.pgh.pa.us> wrote: > Ivan Sergio Borgonovo <mail@webthatworks.it> writes: > > This statement succede in 8.3.8 > > alter table shop_commerce_gift drop constraint > > shop_commerce_gift_pkey; > > but failed in 8.3.4. > > Uh, that doesn't seem to match the name of the index? Yep... that was my surprise. I don't have a time machine to be absolutely sure about what I did but I should have created a pk on both machines with a create table shop_commerce_gift( giftcode varchar primary key ... ); but in the newer pg I actually find the pk constraint... in the older I find a not null + an unique index with a different name from the pk name of the former. -- Ivan Sergio Borgonovo http://www.webthatworks.it