在从备份恢复之前,我是否需要删除现有的 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;
我正在尝试将模式恢复到数据库,其中有 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;