«pg_restore» предназначен для восстановления файлов, сгенерированных «pg_dump».
От человека странице
pg_restore это утилита для восстановления базы данных PostgreSQL из архива, созданного pg_dump (1) в одном из не-обычных текстовых форматов.
https://www.postgresql.org/docs/9.2/static/app-pgrestore.html
Если файл был создан с помощью pg_dump вы, вероятно, нужно, по крайней мере, указать, какие базы данных сваливать в:
pg_restore -d my_new_database temp.sql
Мой собственный опыт с pg_restore между различными вкусами показывает, что многие раз мне нужно указать формат файла дампа, даже если он был в «родном» формате, несмотря на man-страницу, указывающую, что он обнаружит формат.
pg_restore -d my_new_database -Fc temp.dump
Это только предположение, но я думаю, если таблицы на самом деле восстановлено, без указания дб, они получили сбрасывали в базу данных по умолчанию. Вы можете проверить это, указав таблицы в базе данных postgres (их не должно быть).
postgres=#\c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#\dt
No relations found.
Если ваши таблицы действительно восстановлены в базу данных по умолчанию, они будут перечислены.
Простые текстовые файлы SQL должны обрабатываться по-разному, как правило, выполняются с помощью команд SQL с использованием psql.
psql -d my_database < temp.sql
Я создал дамп и пометил вариант создания базы данных «да». Поэтому я подумал, что мне не понадобится имя базы данных. Однако после указания имени базы данных она работала. Благодаря! – amitection
@ameitection - Рад, что я мог помочь! Ты не единственный, кто был спокоен. Я подозревал, что это случилось со мной. – lavajumper