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