如何在Postgres 9.5中使pg_dump生成upsert语句

时间:2016-03-30 23:52:44

标签: postgresql

我想转储数据库并将转储还原到另一个可能包含数据的数据库中。如何使pg_dump生成insert on conflict update语句而不仅仅是插入语句?我使用Postgres 9.5

1 个答案:

答案 0 :(得分:1)

随着pg_dump在PostgreSQL 12中可用,终于可以使用--on-conflict-do-nothing开关了。参见docs

示例:

$ pg_dump test --table=lifehack --section=data --column-inserts --on-conflict-do-nothing

[...]

--
-- Data for Name: lifehack; Type: TABLE DATA; Schema: public; Owner: filip
--

INSERT INTO public.lifehack (id, content) VALUES (1, 'Brush your teeth twice a day.') ON CONFLICT DO NOTHING;


--
-- PostgreSQL database dump complete
--