在从备份恢复之前,我是否需要删除现有的 Postgresql 模式

Do i need to delete existing Postgresql schema before restoring it from backup

我正在尝试将模式恢复到数据库,其中有 2 个模式。

我只需要恢复一个,替换掉,不影响另一个。 我正在这样做:

pg_restore -d db_name -h localhost -U user_name  -n schema_name < path/file_name.sql

出现错误:

pg_restore: creating FK CONSTRAINT "db_name.wrong_values wrong_values_mistake_id_fkey"

pg_restore: from TOC entry 3116; 2606 29161362 FK CONSTRAINT wrong_values wrong_values_mistake_id_fkey postgres

pg_restore: error: could not execute query: ERROR:  constraint "wrong_values_mistake_id_fkey" for relation "wrong_values" already exists

Command was: ALTER TABLE ONLY db_name.wrong_values

    ADD CONSTRAINT wrong_values_mistake_id_fkey FOREIGN KEY (mistake_id) REFERENCES db_name.mistake_types(id);

我需要先删除架构吗?在恢复之前?

你能告诉我,如何正确地做到这一点,而不影响其他模式吗?

假设,是的。 如果我们没有任何模式之间的连接,那么我们需要先在数据库中查询:

DROP SCHEMA schema_name CASCADE;
CREATE SCHEMA schema_name;