2011-11-28 3 views
1

pg_dump 및 pg_restore와 같은 PostgreSQL 명령 행 도구를 적절하게 재배포 할 수 있는지 알 수 있습니까?PostgreSQL 명령 행 도구 재배포

Windows의 경우 'One-Click'설치 프로그램에서 바이너리를 사용할 수 있지만 백업 및 복원을 자동화하는 명령 줄 도구를 재배포하기 만하므로 100MB 이상의 페이로드가 완전히 과용됩니다.

나는 분명히 전체 bin 폴더를 복사하려고 할 수 있지만, 내가 원하는 것을 정확히 알고 싶어한다.

+0

어떤 종류의 구조 키트를 번들로 제공 하시겠습니까? – scravy

+0

아니요, 기간 업무용 앱의 자동 백업 기능 용입니다. –

답변

2

공식적인 클라이언트 전용 배포판이 없습니다. 이 질문이 메일 링리스트에 올라 오면 보통 대답은 .zip 배포본을 가져와야하고 Dependency Walker (depends.exe)을 사용하여 배포하려는 바이너리에 필요한 DLL을 확인하고 번들로 묶어 앱에 포함시키는 것입니다.

PostgreSQL 서버 (postgres.exe)는 dlopen()/LoadLibrary()를 매우 많이 사용하므로 depends.exe에 의존 할 수 없습니다. 고맙게도 클라이언트 측은 더 간단하고 depends.exe를 사용하여 필요한 것을 결정할 수 있습니다. pg_dump, pg_restore 또는 psql에 필요한 추가 스크립트, dlopen 된 라이브러리 등은 없습니다.

필자는 결코 그 해답에 만족하지 못했지만, 포장을 망치고 싶을만큼 충분히 개선하고 싶지 않았습니다. EnterpriseDB의 원 클릭 설치 프로그램이 폐쇄 된 소스가 아니므로 클라이언트 전용 최소 패키지를 제공하도록 수정할 수는 없습니다. 지금은 실행 파일과 관련 라이브러리를 추출하는 것이 가장 좋습니다.

만약 당신이 그것에 대해 생각한다면, 당신이 그것을 스스로 집계한다면 어떤 일이 일어날 지와 정말로 다르지 않습니다. 당신은 여전히 ​​배포 할 클라이언트 비트만을 꺼내야합니다.

+0

위대한 대답, 고마워, 크레이그. –