В postgresql я получаю дубликаты в схеме, когда восстанавливаю некоторые таблицы в другую схему в той же базе данных. Почему?

В postgres 9.5 у меня есть БД под названием test. где у меня есть 2 схемы 1.public 2. testcase, когда я пытаюсь восстановить таблицы из общедоступной в схему testcase. Я создаю дубликаты в общедоступной схеме и после восстановления не могу просмотреть ни одной таблицы в тестовой схеме. Но он не показывает никакой ошибки


person learner    schedule 11.02.2018    source источник
comment
что вы называете дубликатами?.. строки, которые нарушают ПК?..   -  person Vao Tsun    schedule 11.02.2018
comment
Мой статус: я сделал резервную копию (.backup) из общедоступной схемы и восстановил ее в другой схеме (из той же базы данных). Когда я делаю это, все таблицы (без каких-либо ограничений, таких как uniqueId/primarykey) вставляют еще одну строку из файла резервной копии в общедоступной схеме. также я не мог видеть никаких таблиц в моей новой схеме. Но восстановление сделано без ошибок. Почему это   -  person learner    schedule 11.02.2018
comment
пожалуйста, уточните пост. добавить код, ошибки и точный список действий   -  person Vao Tsun    schedule 11.02.2018
comment
*******************db- test************shcemas-public,test2,tets3*********public- таблица1,таблица2,таблица3***************   -  person learner    schedule 11.02.2018
comment
Я только что сделал резервную копию общедоступной схемы, сделал резервную копию всех трех таблиц и восстановил ее в пустой схеме с именем test2.   -  person learner    schedule 11.02.2018
comment
Но, к сожалению, у меня была 1 таблица без ограничений, таких как закрытый ключ или уникальный ключ. То есть таблица1. поэтому, когда я сделал это восстановление в test2, данные в таблице1 дублировались, просто восстановив данные из файла резервной копии.   -  person learner    schedule 11.02.2018
comment
это подразумевает поведение. Postgres не анализирует файл резервной копии перед восстановлением (потому что не может догадаться, как именно вы хотите восстановить данные). вы могли бы использовать -c clean, если вы использовали pg_restore, поэтому он будет DROP и пересоздаст таблицу перед загрузкой данных. Если вы хотите восстановить PITR - вам следует использовать другой подход.   -  person Vao Tsun    schedule 11.02.2018
comment
поведение заключается в том, что если я восстанавливаю резервную копию из общедоступной схемы в любую другую схему, она также восстанавливается в общедоступной схеме. это значит, что я делаю что-то не так здесь. Для этого я использую графический интерфейс Dbeaver. Не команды   -  person learner    schedule 11.02.2018
comment
Ах я вижу. Я понятия не имею, как это делает графический интерфейс Dbeaver. Извините. когда вы не упоминаете команду резервного копирования, я предполагаю, что вы используете pg_dump.   -  person Vao Tsun    schedule 11.02.2018
comment
Если вы не возражаете, не могли бы вы сообщить мне инструкции для обеих операций. создание резервной копии общедоступной схемы и восстановление определенной схемы.   -  person learner    schedule 11.02.2018
comment
stackoverflow.com/questions/4191653/   -  person Vao Tsun    schedule 11.02.2018
comment
Спасибо большое бро   -  person learner    schedule 11.02.2018
comment
Я сделал восстановление с помощью команд. но он не показывает m, y таблицы в новой схеме.   -  person learner    schedule 15.02.2018