2015-01-13 2 views
0

이상한 문제가 있습니다.기능이있는 PostgreSQL 이동 데이터베이스

pgAdmin III를 사용하여 한 서버에서 다른 서버로 데이터베이스를 이동하려고했습니다. PostgreSQL 8.4.9가 설치된 서버에서 데이터베이스를 생성 했으므로 PostgreSQL 8.2.11을 사용하여 두 번째 서버로 이동하려고했습니다. 이렇게하려면 "backup"옵션을 사용하고 파일을 저장 한 후 새 데이터베이스에서 "restore"옵션을 사용했습니다. 테이블이로드되었지만 새 데이터베이스에는 기능이 없습니다.

아마도 다른 postgreSQL 버전 때문일 수 있습니까?

이유를 아는 사람이 있습니까? 어떤 해결책?

+3

8.2.x를 더 이상 사용하지 않아야하므로 8.4.9에서 8.2.11까지 확실합니까? 또한 8.2 -> 8.4 사이에 많은 변경 사항이 있었으며이 기능을 사용하면 다시 백 포트 기능을 다시 사용할 수 있습니다. – frlan

+2

그런 식으로 다운 그레이드 할 수 있다고 생각하지 않습니다. 그리고 두 버전 모두 더 이상 지원되지 않습니다. 정말로 9.x 버전으로 업그레이드해야합니다. –

+0

예, 저는 확신합니다. 그것은 제 선택이 아니 었습니다. 그것은 유일한 가능성입니다 ... 대답 해 주셔서 감사합니다. – Lorn

답변

1

기능이 없으면 plpgsql을 언어로 사용할 수 있는지 다시 확인하십시오. 요즘에는 기본적으로 사용할 수 있지만 사용 가능하면 create language statement이 필요합니다.

그렇다면 나는 을 아직 지원되지 않는 9.x Postgres 버전으로 업그레이드해야합니다. 지원되지 않는 버전에서 더 오래된 버전으로 다운 그레이드하지 말아야합니다.

0

대화 형 세션에서 pg_dump을 통해 수행하고 전체 데이터베이스를 하나 이상의 SQL 파일로 내보내는 것이 좋습니다. 여기에서 -s 스위치를 사용하여 생성 된 기능을 포함해야하는 스키마 만 가질 수 있습니다. 이 SQL 파일을 사용하면 이전 휴면기에 적용되지 않는 항목이 있으면 쉽게 변경 사항을 백 포트하거나 디버그 할 수 있습니다.