RE: ON CONFLICT DO NOTHING on pg_dump

Ideriha, Takeshi <ideriha.takeshi@jp.fujitsu.com>

From: "Ideriha, Takeshi" <ideriha.takeshi@jp.fujitsu.com>
To: Nico Williams <nico@cryptonector.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Surafel Temesgen <surafel3000@gmail.com>
Date: 2018-06-15T02:20:21Z
Lists: pgsql-hackers
>-----Original Message-----
>From: Nico Williams [mailto:nico@cryptonector.com]
>On Tue, Jun 12, 2018 at 09:05:23AM +0000, Ideriha, Takeshi wrote:
>> >From: Surafel Temesgen [mailto:surafel3000@gmail.com]
>> >Subject: ON CONFLICT DO NOTHING on pg_dump
>>
>> >Sometimes I have to maintain two similar database and I have to update one from
>the other and notice having the option to add ON CONFLICT DO NOTHING clause to
>>INSERT command in the dump data will allows pg_restore to be done with free of
>ignore error.
>>
>> Hi,
>> I feel like that on-conflict-do-nothing support is useful especially coupled with
>--data-only option.
>> Only the difference of data can be restored.
>
>But that's additive-only.  Only missing rows are restored this way, and differences are
>not addressed.
>
>If you want restore to restore data properly and concurrently (as opposed to renaming
>a new database into place or whatever) then you'd want a) MERGE, b) dump to
>generate MERGE statements.  A concurrent data restore operation would be rather
>neat.

I agree with you though supporting MERGE or ON-CONFLICT-DO-UPDATE seems hard work.
Only ON-CONCLICT-DO-NOTHING use case may be narrow.

--
Takeshi 



Commits

  1. Add pg_dump --on-conflict-do-nothing option.