Обсуждение: 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