Я пытаюсь импортировать дамп схемы в PostgreSQL с помощью 'psql -U username -W dbname Я создал базу данных следующим образом: «createdb -O username dbname» Есть только 7 таблиц для импорта, и это прерывается при импорте 3 из них. Кто-нибудь подскажет, что делать?
Если резервная копия была в «настраиваемом» формате (-Fc), вы могли бы вместо этого использовать pg_restore, чтобы вы могли указать ему не применять изменения прав собственности:
pg_restore -U username -W --no-owner --dbname=dbname migrations/schema.psql
Все объекты будут созданы с "имя пользователя" как владелец.
Если этого не сделать, попробуйте ввести команды ALTER OWNER и SET SESSION AUTHORIZATION в новый файл (или отправить вывод grep через канал в psql). Эти команды всегда должны быть в одной строке в формате вывода обычного текста.
Иногда проблема такого рода возникает из-за чувствительности к регистру. PostgreSQL переводит все идентификаторы без кавычек в нижний регистр; если таблицы созданы с именами в кавычках, содержащими прописные буквы, последующие команды, которые не заключают имена в кавычки, могут не найти таблицу.
Ошибки разрешения могут быть связаны с одним и тем же, или это может быть что-то совсем другое. Трудно сказать, не увидев ошибочных команд.