'pg_restore'는 'pg_dump'에 의해 생성 된 파일을 복원하기위한 것입니다. 맨 페이지
pg_restore에에서
이 아닌 일반 텍스트 형식 중 하나에서 pg_dump의 (1)에 의해 생성 된 아카이브에서 PostgreSQL 데이터베이스를 복원하는 유틸리티입니다.
이
pg_restore -d my_new_database temp.sql
다른 맛에서 pg_restore에 내 자신의 경험은 많은 것을 보여줍니다 : 파일이 pg_dump에 의해 생성 된 경우에
https://www.postgresql.org/docs/9.2/static/app-pgrestore.html
당신은 아마 어떤 데이터베이스 덤프 적어도 말할 필요 times 덤프 파일의 형식을 지정하는 맨페지에도 불구하고 덤프 파일의 형식을 '기본'형식으로 지정해야합니다.
pg_restore -d my_new_database -Fc temp.dump
이것은 단지 추측이지만, 테이블이 실제로 복원하면 내가 DB를 지정하지 않고, 생각하고는, 그들은 기본 데이터베이스에 덤프되었다. 'postgres'데이터베이스에 테이블을 나열하여 확인할 수 있습니다 (없음).
postgres=#\c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#\dt
No relations found.
테이블이 기본 데이터베이스로 복원되면 나열됩니다.
일반 텍스트 SQL 파일은 다르게 처리해야하며 일반적으로 psql을 사용하는 SQL 명령을 통해 실행됩니다.
psql -d my_database < temp.sql
나는 덤프를 만들고 '예'데이터베이스를 만드는 옵션을 표시했습니다. 그래서 나는 데이터베이스 이름이 필요 없다고 생각했다. 그러나 데이터베이스 이름을 지정하면 성공했습니다. 감사! – amitection
@ameitection - 다행스럽게 도울 수 있습니다! 당신은 그 일로 인해 망쳐 놓은 유일한 사람이 아닙니다. 나는 그것이 나에게 일어났기 때문에 의심했다. – lavajumper