몇 달 전 처음으로 PostgreSQL 데이터베이스를 설치했습니다. 설치 기본값을 모두 수용 했으므로 이제는 C : 드라이브가 제한. 데이터베이스 (즉, 데이터 파일)를 공간이 충분한 D : 드라이브로 마이그레이션하고 싶습니다.PostgreSQL 9.5.7의 Windows 10 설치를 큰 디스크로 마이그레이션하는 방법
주제에 몇 가지 스레드가 있지만 현재의 버전과 관련이없는 것으로 나타났습니다 (PostgreSQL 데이터베이스가 시작될 때 -D
매개 변수를 사용하여 데이터 파일이 전달되는 것이 좋습니다. 이것은 더 이상 경우)
될 것 같다 이것은 내가
는 PostgreSQL의 프로세스에 대한 작업 관리자 ("PostgreSQL 서버"의 여러 인스턴스)
를 검사하였습니다 지금까지 수행 한 단계입니다
이 포스트 그레스를 종료 (시작 메뉴, PostgreSQL을, 정지 PostgreSQL의 9.5)
는 것 같다 디렉토리를 복사 포스트 그레스 프로세스에 대한 작업 관리자
(중지 "PostgreSQL 서버"의 모든 인스턴스를) 검사 D : 드라이브에 모든 데이터 파일을 포함합니다 (즉, 복사 C : \ 포스트그레스 SQL \ 데이터 \ pg95에 D : \ 포스트그레스 SQL \ 데이터 \의 pg95)
이 새 디렉토리에 대한 전체 액세스 권한을 준에 '네트워크 서비스'
편집 C : \ 포스트그레스 SQL \ 데이터 \ pg95 \ postgresql.conf의이 '파일 위치'섹션
data_directory = 'D:\PostgresSQL\data\pg95' hba_file = 'C:\PostgreSQL\data\pg95\pg_hba.conf' ident_file = ‘C:\PostgreSQL\data\pg95\pg_ident.conf'
재시작하는 포스트 그레스에서 다음과 같은 새로운 라인을 포함하는 (시작 메뉴, PostgreSQL을 시작 PostgreSQL의 9.5)
이 모든 결과는 작업 관리자를 확인한 후에 Postgres 프로세스의 흔적이 없다는 것입니다. 프로세스를 시작하려고 시도 할 때 오류의 흔적은 없습니다.
PostgreSQL을 큰 디스크로 마이그레이션하는 올바른 절차는 무엇입니까?
Windows 서비스를 다시 만들었습니까? 데이터 디렉토리 ('-D' 옵션)의 위치는 매개 변수로 서비스에 전달되므로이를 변경해야합니다. –
내 서비스의 '실행 파일 경로'는 C : \ PostgreSQL \ pg95 \ pgservice.exe입니다. // RS // PostgreSQL 9.5 Server "데이터 디렉토리 ('-D'옵션) "C : \ Program Files \ PostgreSQL \ 9.5 \ bin \ pg_ctl.exe"runservice -N "postgresql-x64-9.5"-D "C : \ Program Files \ PostgreSQL 다음 명령으로 서비스를 시작해야한다고 제안하십시오. \ 9.5 \ data "이것은 내 서비스와 너무 다르므로 더 이상 적용되지 않는다고 가정합니다. – Hemel
잘'-D "C : \ Program Files \ PostgreSQL \ 9.5 \ data는'-D '이어야합니다. D : \ PostgresSQL \ data \ pg95'' –