initdb--pgdata | -디dbdir[-Sysid | -나Sysid] [--pwprompt | -w] [-Encoding | -이자형인코딩] [-l디렉토리] [-Noclean | -n] [-Debug | -디]
initdb새로운 생성Postgres데이터베이스 클러스터 또는 체계. 데이터베이스 클러스터는 데이터베이스 모음입니다. 단일 우체국 장에 의해 관리됩니다.
데이터베이스 시스템 생성은 데이터베이스 데이터가 생성되는 디렉토리, 생성 공유 카탈로그 테이블 (전체 클러스터에 속하는 테이블 특정 데이터베이스보다는 대신 생성template1데이터베이스. 당신이 만들 때 새로운 데이터베이스,의 모든 것template1데이터베이스가 복사되었습니다. 카탈로그가 포함되어 있습니다 내장 유형과 같은 것들을 위해 채워진 테이블.
실행해서는 안됩니다initdb루트로서; 실행될 UNIX 사용자 계정에서 실행해야합니다. 데이터베이스 서버. 데이터베이스를 실행할 수 없기 때문입니다 서버 로서도 서버이지만 서버는 파일initdb생성. 또한, 초기화 단계에서, 아니오가있을 때 사용자 및 액세스 컨트롤이 설치되지 않음,Postgres이름과 만 연결됩니다 현재 UNIX 사용자이므로 계정에서 로그인해야합니다. 서버 프로세스를 소유합니다.
비록initdb시도 할 것입니다 지정된 데이터 디렉토리를 만들려면 종종 원하는 데이터의 부모 이후 그렇게 할 수있는 권한 디렉토리는 종종 루트 소유 디렉토리입니다. 설정하려면 이와 같은 배열, 빈 데이터 디렉토리를 루트로 만듭니다. 그런 다음 사용Chown나눠주기 위해 데이터베이스 사용자 계정에 대한 해당 디렉토리의 소유권,SU데이터베이스 사용자가 되려면 그리고 마침내 실행12657_12665데이터베이스 사용자.
이 옵션은 파일 시스템의 위치를 지정합니다 데이터베이스는 저장해야합니다. 이것이 유일한 정보입니다 필요initdb, 그러나 당신은를 설정하여 그것을 쓰지 않을 수 있습니다.pgdata환경 변수 데이터베이스 서버 ( 이후 편리Postmaster) 데이터베이스를 찾을 수 있습니다 나중에 같은 변수에 의한 디렉토리.
데이터베이스 슈퍼 사용자의 시스템 ID를 선택합니다. 이것 실행중인 사용자의 효과적인 사용자 ID에 대한 기본값initdb. 실제로는 아닙니다 수퍼 유저의 sysid가 무엇인지 중요하지만 하나는 할 수 있습니다 1과 같은 숫자로 번호를 시작하도록 선택하십시오.
Makesinitdb프롬프트 데이터베이스 슈퍼 사용자에게 제공하는 비밀번호의 경우. 당신이 비밀번호 인증을 사용할 계획이 아닙니다. 그렇지 않습니다 중요한. 그렇지 않으면 암호를 사용할 수 없습니다 비밀번호가 설정 될 때까지 인증.
템플릿의 멀티 바이트 인코딩을 선택합니다 데이터 베이스. 이것은 또한 기본 인코딩이기도합니다 당신이 그것을 무시하지 않는 한 나중에 만든 데이터베이스. 멀티 바이트 인코딩 기능을 사용하려면 지정해야합니다 따라서 빌드 시점에서 이 옵션의 기본값.
덜 일반적으로 사용되는 다른 매개 변수도 있습니다 사용 가능:
위치를 지정합니다initdb입력 파일을 찾아야합니다 데이터베이스 시스템을 초기화합니다. 이것은 일반적으로 그렇지 않습니다 필요한. 당신은 그들의 명시 적으로 위치.
기본적으로,initdb오류를 결정합니다 데이터베이스를 완전히 생성하지 못했습니다 시스템, 이전에 생성했을 수있는 파일을 제거합니다. 작업이 끝날 수 없다는 것을 알게됩니다. 이 옵션 정리를 억제하므로 디버깅에 유용합니다.
부트 스트랩 백엔드에서 디버깅 출력 인쇄 및 장군에 대한 관심이 적은 몇 가지 다른 메시지 공공의. 부트 스트랩 백엔드는 프로그램입니다initdb카탈로그를 만드는 데 사용됩니다 테이블. 이 옵션은 엄청난 양을 생성합니다 매우 지루한 출력.