database - postgre - 포스트그레스 db 백업




postgresql 데이터베이스로 SQL 덤프 가져 오기 (7)

우리는 호스트를 바꾸고 있으며 이전 사이트는 우리 사이트의 postgresql 데이터베이스의 SQL 덤프를 제공했습니다. 이제 저는 이것을 테스트하기 위해 지역 Wamp 서버에 설치하려고합니다.

유일한 문제는 제가 설정 한 postgresql 9에서이 데이터베이스를 어떻게 가져올 수 있을지 모르겠다는 것입니다.

pgAdmin III 시도했지만 '가져 오기'기능을 찾을 수 없습니다. 그래서 난 그냥 SQL 편집기를 열고 거기에 덤프의 내용을 붙여 넣은 그것을 실행, 그것은 테이블을 만듭니다하지만 난 그가 내게 데이터를 넣어하려고하면 오류가 계속 제공합니다.

ERROR:  syntax error at or near "t"
LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view...

The lines:
COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin;
t   2011-05-24 16:45:01.768633  2011-05-24 16:45:01.768633  view    nl ...  

또한 명령 프롬프트를 사용하여이 작업을 시도했지만 실제로 필요한 명령을 찾을 수 없습니다.

만약 내가한다면

psql mydatabase < C:/database/db-backup.sql;

나는 오류를 얻는다.

ERROR:  syntax error at or near "psql"
LINE 1: psql mydatabase < C:/database/db-backu...
        ^

데이터베이스를 가져 오는 가장 좋은 방법은 무엇입니까?


OP의 상황에서 이것이 작동하는지 잘 모르겠지만 대화 형 콘솔에서 다음 명령을 실행하는 것이 가장 유연한 해결책이었습니다.

\i 'path/to/file.sql'

이미 올바른 데이터베이스에 연결되어 있는지 확인하십시오. 이 명령은 지정된 파일의 모든 SQL 명령을 실행합니다.


pgadmin3에서이 작업을 수행 할 수 있습니다. 덤프에 포함 된 스키마를 삭제하십시오. 그런 다음 데이터베이스를 마우스 오른쪽 단추로 클릭하고 복원을 선택하십시오. 그런 다음 덤프 파일을 찾아 볼 수 있습니다.


그것은 나를 위해 일했다 :

sudo -u postgres psql db_name < 'file_path'

나는 사용한다:

cat /home/path/to/dump/file | psql -h localhost -U <user_name> -d <db_name>

희망이 사람을 도울 것입니다.


많은 예제가 패스워드가없는 postgres 사용자가 많은 경우에 존재하는 localhost에 비해 지나치게 복잡하다는 것을 알게되었습니다 :

psql -d db_name -f dump.sql

명령 행에서 모든 인수가 필요합니다. -W는 암호입니다.

psql -h localhost -U user -W -d database_name -f path/to/file.sql





postgresql