【发布时间】:2021-07-10 09:49:12
【问题描述】:
我有两个主机服务器 s1 和 s2。在这两个服务器中,我都有一个名为n1 的模式。现在,我对 s1 的架构 n1 中存在的一些表进行了一些更改。我希望对服务器 s2 的架构 n1 进行相同的更改。我打算做的是使用pg_dump 备份服务器s1 的架构n1,并使用pg_restore 在服务器s2 中恢复。
使用以下命令进行备份和恢复:
pg_dump -Fc -h XXXXX -U user -d dbname > test.dump
pg_restore -h XXXXX -U user -d dbname < test.dump
但是当我使用pg_restore 恢复时,我得到了这个错误:
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 200; 1259 16435 TABLE table_name database_name
pg_restore: error: could not execute query: ERROR: relation "address" already exists
Command was: CREATE TABLE public.table_name (
id integer NOT NULL,
status character varying(1) NOT NULL,
table_name1 character varying(80) NOT NULL,
table_name2 character varying(80),
table_name3 character varying(80),
location_id integer NOT NULL
);
【问题讨论】:
标签: postgresql restore pg-dump pg-restore