무엇이든하기 전에 범퍼카 토토를 초기화해야합니다. 디스크의 저장 영역. 우리는 이것을 a라고 부릅니다.범퍼카 토토 클러스터. (SQL대신 카탈로그 클러스터를 말합니다.) a 범퍼카 토토 클러스터는 실행중인 데이터베이스의 단일 인스턴스를 통해 액세스 할 수 있습니다 섬기는 사람. 초기화 후 범퍼카 토토 클러스터에는 하나가 포함됩니다 데이터베이스 이름template1. 이름으로 제안, 이것은 후속 적으로 템플릿으로 사용될 것입니다. 생성 된 범퍼카 토토; 실제 작업에는 사용해서는 안됩니다.
파일 시스템 용어로 범퍼카 토토 클러스터는 단일입니다. 모든 데이터가 저장 될 디렉토리. 우리는 이것을라고 부릅니다.데이터 디렉토리또는데이터 영역. 그것은 당신이 당신에게 완전히 달려 있습니다 데이터 저장을 선택하면 기본값은 없습니다. 와 같은 위치/usr/local/pgsql/data또는/var/lib/pgsql/data인기가 있습니다. 에게 범퍼카 토토 클러스터 초기화, 명령 사용initdb,PostgreSQL. 원하는 파일 시스템 위치 범퍼카 토토 시스템 중에 의해 표시됩니다.-d옵션, 예를 들어
initdb -d/usr/local/pgsql/data로그인하는 동안이 명령을 실행해야합니다. 이전에 설명 된 Postgres 사용자 계정에 부분.
팁 :대안으로-d옵션, 환경 변수를 설정할 수 있습니다pgdata.
initdb디렉토리 아직 존재하지 않는지 지정합니다. 아마도 가능합니다 그렇게 할 수있는 권한이 없다는 조언과 비전지없는 계정을 만들었습니다). 이 경우 당신 디렉토리를 직접 작성하고 (루트로) 전송해야합니다 Postgres 사용자 계정에 대한 소유권. 여기에 이것이 방법입니다 작동 할 수 있습니다 :
루트#mkdir/usr/local/pgsql/data루트#Chown Postgres/usr/local/pgsql/data루트#SU PostgresPostgresinitdb -d/usr/local/pgsql/data
initdb데이터가 있으면 실행을 거부합니다 디렉토리는 이미 초기화 된 것 같습니다 설치.
데이터 디렉토리에 저장된 모든 데이터가 포함되어 있기 때문에 데이터베이스는 잘 확보해야합니다. 무단 액세스.initdb따라서 Postgres 사용자를 제외한 모든 사람의 액세스 권한을 취소합니다 계정.
실행 중에 발생할 수있는 한 가지 놀라운 일initdb이와 유사한 통지입니다.
통지 : EN_US Collation Order를 사용하여 데이터베이스 초기화. 이 로케일 설정은 인덱스 최적화의 사용을 방해합니다. 좋아하고 regexp 검색. 속도가 걱정된다면 이러한 쿼리, LC_Collate를 "C"로 설정하고 re-initdb. 자세한 내용은 관리자 안내서를 참조하십시오.이 통지는 현재 선택한 로케일은 유사하고 일반 표현에 사용되는 것을 방지합니다 검색. 그러한 검색의 좋은 성능이 필요한 경우 현재 로케일을 "C"로 설정하고 다시 실행하십시오initdb. 대부분의 시스템에서 현재 로케일을 설정합니다 환경 변수의 값을 변경하여 수행LC_ALL또는Lang. 특정 범퍼카 토토 클러스터 내에서 사용되는 정렬 순서가 설정되어 있습니다. 에 의해initdb나중에 변경할 수 없습니다. 모든 데이터를 덤프하지 않아도, 재개자, 데이터를 다시로드합니다. 그래서 이 선택을 지금 올바르게 만드는 것이 중요합니다.