| From: | agharta <agharta82(at)gmail(dot)com> | 
|---|---|
| To: | pgsql-general(at)postgresql(dot)org | 
| Subject: | CANNOT USE ANY INDEX ON UPSERT (INSERT.....ON CONFLICT) | 
| Date: | 2017-04-18 08:13:38 | 
| Message-ID: | feffc038-e8c2-f7af-22eb-3f99e0b1460a@gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Hi all,
I have a problem with INSERT ... ON CONFLICT sql command.
Reading 9.6 documentation i see that ON  CONFLICT command will accpets 
only index_column_name or index_expression (unique composite/primary 
indexes are valid too).
So, my problem is that i can't create any type of upsert-valid index . 
Let me explain.
I have a table T1 containing F1, F2, F3, F4 fields.
I can insert same records in T1, *MAX TWICE*.
I can have records like (A,B,C,D),(B,A,D,C), etc.. and  (A,B,C,D) AGAIN. 
Any other next insert of (A,B,C,D) is not allowed (actually it is 
avoided by a complex-and-slow-performance select count in before 
insert/update trigger).
In this case i can't create any type of primary/unique index, like a 
composite F1,F2, F3, F4 index. (correct me if i am wrong please).
So, how to use UPSERT in this case?
Best regards,
Agharta
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Moreno Andreo | 2017-04-18 09:42:38 | # of connections and architecture design | 
| Previous Message | Tim Kane | 2017-04-18 07:05:17 | UDP buffer drops / statistics collector |