Re: 8.0 -> 8.1 dump duplicate key problem? - Mailing list pgsql-hackers
From | Merlin Moncure |
---|---|
Subject | Re: 8.0 -> 8.1 dump duplicate key problem? |
Date | |
Msg-id | 6EE64EF3AB31D5448D0007DD34EEB3417DD85B@Herge.rcsinc.local Whole thread Raw |
In response to | 8.0 -> 8.1 dump duplicate key problem? ("Merlin Moncure" <merlin.moncure@rcsonline.com>) |
List | pgsql-hackers |
> "Merlin Moncure" <merlin.moncure@rcsonline.com> writes: > > When the dump gets to the point where the indexes/keys are built, the > > primary key fails to build due to duplicate key constraint failure. > > However, after dump is complete, I can create the p-key without any > > modification to the table and everything is fine. > > That's pretty bizarre. What's the datatype of the key column(s)? > > Can you reduce it to a smaller test case, or perhaps send me the full > dump off-list? (270m is a bit much for email, but web or ftp would > work ... also, presumably only the pkey column is needed to generate > the error ...) I am working on pairing down a test case. As you can imagine this is a nasty business. My best shot is to go to the source server and trying to dump just that file, but that may mask the problem. Come to think of it, I did make one configuration change: I bumped work_mem after the dump was loaded after noticing a lot of activity in pg_dump. Table schema follows. If the schema seems a bit odd, it is because it was converted from an ISAM file. [Dennis: I am not the guy from IRC] esp=# \d data1.parts_order_line_file Table "data1.parts_order_line_file" Column | Type | Modifiers --------------------------+-------------------------+-----------id | cuid |lastmod | ts |prl_combined_key | character(9) | not nullprl_seq_no | pic_9_3 | not nullprl_combined_key_2 | character(9) |prl_item_no | character varying(15) |prl_comment_desc | character varying(2500) |prl_location | character(4) |prl_workstation | character(4) |prl_stock_loc | character(4) |prl_qty | numeric(7,3) |prl_adj_price | numeric(8,2) |prl_cost | numeric(11,5) |prl_weight | numeric(7,2) |prl_uom | character(2) |prl_vendor_no | character(6) |prl_vendor_part_no |character varying(15) |prl_track_this_part | character(1) |prl_warranty_period | character varying(10) |prl_comments_1 | character varying(30) |prl_comments_2 | character varying(30) |prl_qty_shipped | numeric(6,2)[] |prl_qty_still_on_bo | numeric(6,2)[] |prl_qty_credited | numeric(6,2)[] |prl_credit_reason | character(2)[] |prl_credit_reason_type | character(1)[] |prl_cancel_ship | character(1)[] |prl_exchange_part | character(1) |prl_authorization_code | character varying(10) |prl_item_status | character(1) |prl_item_status_alpha | character(1) |prl_cancel_flag | character(1) |prl_charge_type_flag | character(1) |prl_ct_taxable_flag | character(1) |prl_account_cat_code | character(6) |prl_retail_price | numeric(8,2) |prl_line_needs_serials | character(1) |prl_chrg_type_ship_indx | pic_9_1 |prl_claim_type_flag | character(1) |prl_attached_wc_seq_no | pic_9_3 |prl_attached_claim_type | character varying(10) |prl_already_issued | character(1) |prl_returned_part_flag | character(1) |prl_prev_qty_shipped | numeric(6,2)[] |prl_prev_qty_still_on_bo| numeric(6,2)[] |prl_prev_qty_credited | numeric(6,2)[] | Indexes: "parts_order_line_file_pkey" PRIMARY KEY, btree (prl_combined_key, prl_seq_no) "parts_order_line_file_prl_exchange_part_key" UNIQUE, btree (prl_exchange_part, id) "parts_order_line_file_prl_item_no_key" UNIQUE, btree (prl_item_no, id) "parts_order_line_file_prl_trx_type_2_key" UNIQUE, btree (prl_combined_key_2, prl_item_no, id) CREATE DOMAIN public.pic_9_3 AS int2 DEFAULT 0 CONSTRAINT valid_range CHECK (((VALUE >= 0) AND (VALUE <= 999)));
pgsql-hackers by date: