pg_restore
명령을 작성하여 특정 테이블 (및 해당 데이터) 만 데이터베이스로 복원하려고합니다.특정 테이블 만 pg_restore
참고 : 덤프에서 온 데이터베이스가 다른이 있기 때문에 -v -x -O -j 8 -h localhost -U username -d database file.dump
가 (호기심, 나는이 --clean
을 사용하지 않았다 설명 모든 명령은 저를 삭제하고 데이터베이스를 다시 작성하고 끝나는로 시작 . 이름) pg_restore
이후
위의 인수와 함께 (나를 위해 잘 작동)를, 나는 pg_restore
documentation 보았다,이 같은 시도 :
pg_restore -t table1 -t table2 ...
(나는 이런 식으로 지정 (121 개) 테이블이 있습니다를).
는 그러나, 나는 오류를 다음과 같이 얻을 :
pg_restore: creating TABLE people
pg_restore: [archiver (db)] Error from TOC entry 123; 1234 12345 TABLE people dumped_table_username
pg_restore: [archiver (db)] could not execute query: ERROR: type "hstore" does not exist
LINE 14: extra_data hstore,
^
Command was: CREATE TABLE people (
id integer NOT NULL,
name string,
age integer,
date_of_birt...
이이 -t
플래그가 설정되어있는 경우에만 문제가 될 이유가 표시되지 않습니다하지만 것으로 보인다.
무슨 일 이니?
편집 :이 최근에 질문을 받았다 pg_restore on table failing because of hstore의 중복이며,이 시간으로 더 허용 대답이없는 것처럼 보인다.
'... 데이터베이스를 삭제하고 다시 만들고 나와 끝나는 날부터 시작합니다. ''* 테이블을 삭제하고 다시 만들다 '는 뜻입니까? – joop
아니, 전체 데이터베이스를 의미합니다. 나는 Rails를 사용하고 있으므로'rake db : drop && rake db : create'. – JacobEvelyn
만약 당신이 * database *를 놓으면'hstore' 확장도 삭제됩니다. 데이터베이스를 다시 생성 한 후 (그리고 덤프를 복원하기 전에)'create hstore'를 실행합니까? –