Re: copy table from file: with row replacement?
От | Bruce Momjian |
---|---|
Тема | Re: copy table from file: with row replacement? |
Дата | |
Msg-id | 200701121544.l0CFiRF16418@momjian.us обсуждение исходный текст |
Ответ на | copy table from file: with row replacement? (Michael Enke <michael.enke@wincor-nixdorf.com>) |
Ответы |
Re: copy table from file: with row replacement?
|
Список | pgsql-hackers |
Michael Enke wrote: > Hello all, > I have a feature request as I think it is not possible with the actual version: > > I want to load huge amount of data and I know that COPY is much faster than doing inserts. > But in my case I have an already filled table and rows (not all, only partly) from this table > should be replaced. The table has a primary key for one column. > If I do a COPY table FROM file and the key value already exists, postgresql tells me > that the import is not possible because of the violation of the PK. > > If postgres is aware of such a violation, couldn't there be an option to the COPY command > to delete such existing rows so that a COPY table FROM file will never generate a PK violation message > but replaces existing rows? > > If this is not possible, would it be the next fastes solution to create a before trigger and to > delete rows in this trigger? Or is this not different from issuing for every line an insert > and if this fails (because of the PK) than an update? I would just COPY into another table, remove any duplicates by joining the two tables, and then do a INSERT INTO ... SELECT. -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-hackers по дате отправления: