2012-07-10 4 views
0

PostgreSQL 데이터베이스의 한 테이블에서 다른 데이터베이스의 해당 테이블로 데이터를 복사하려면 일회용으로해야합니다. 많은 데이터가 없습니다 : 약 2500 행, 8 열 (일부 숫자, 일부 varchar).Postgres 데이터베이스간에 데이터 복사

내 생각은 다른 데이터베이스의 pg_dump -a -t table -f output.file 다음으로 pg_restore입니다. 그러나 알고 보니, pg_dump의 버전 및 원본 서버가 일치하지 않습니다 - 및 업그레이드는 옵션이 아닙니다 그래서 나는 버전 여부를 제어 할 수 없습니다 :

pg_dump: server version: 9.1.2; pg_dump version: 9.0.5 
pg_dump: aborting because of server version mismatch 

불행하게도 버전 포스트 그레스의 9, 옵션, -i (버전 무시)을 더 이상 사용할 수 없습니다. I do 나는 내가하고있는 일을 안다. 그러나 그것은 여전히 ​​나를 (자연적으로) 내버려 두지 않을 것이다.

다른 옵션에는 어떤 것이 있습니까?

+0

일반 텍스트 덤프 ('pg_dump -Fp')를 사용하려고 했습니까? (이것은'psql'을 사용하여 "복원 된"SQL 스크립트입니다) –

+0

'pg_dump'는 다른 것을 보지 않고 버전 불일치가 발생하자마자 중단됩니다. –

+0

잘못된 방향으로 가면 멈추게됩니다. 나는. 8.4.13의 pg_dump는 오류없이 8.3.x에서 덤프 할 수 있습니다. –

답변

0

나는 COPY TOCOPY FROM을 사용할 것입니다. 버전 중 하나에서 작동하며 이에 대한 최적의 도구입니다.

pg_dump을 사용하려면 해당 버전을 사용해야합니다. 각 버전마다 별도의 실행 파일이 있습니다. Linux에서는 which pg_dump을 사용하여 현재 사용되는 실행 파일의 경로를 가져올 수 있습니다.

+0

에서 덤프하지 마십시오. 'COPY TO' (그리고'COPY FROM')는 제가 찾고있는 것입니다. –