이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 18.2. 스포츠 토토 베이 베트맨 클러스터 만들기버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

17.2. 토토 베이 클러스터 만들기

무엇이든하기 전에 토토 베이를 초기화해야합니다. 디스크의 저장 영역. 우리는 이것을 a라고 부릅니다.토토 베이 클러스터. (그만큼SQLStandard는 카탈로그 클러스터라는 용어를 사용합니다.) 토토 베이 클러스터는 관리되는 데이터베이스 모음입니다. 실행중인 데이터베이스 서버의 단일 인스턴스로 후에 초기화, 토토 베이 클러스터에는이라는 데이터베이스가 포함됩니다.Postgres, 이는 기본값입니다 유틸리티, 사용자 및 제 3자가 사용하기위한 토토 베이 응용 프로그램. 토토 베이 서버 자체에는가 필요하지 않습니다.Postgres토토 베이가 존재하지만 많은 것입니다 외부 유틸리티 프로그램은 그것이 존재한다고 가정합니다. 다른 토토 베이 초기화 중 각 클러스터 내에서 생성 된template1. 이름에서 알 수 있듯이 이것 후속 생성 된 토토 베이의 템플릿으로 사용됩니다. 그것 실제 작업에 사용해서는 안됩니다. (보다21 장정보에 대한 정보 클러스터 내에서 새 토토 베이 생성.)

파일 시스템 용어에서 토토 베이 클러스터는 단일 디렉토리입니다. 모든 데이터가 저장 될 것입니다. 우리는 이것을라고 부릅니다.데이터 디렉토리또는데이터 영역. 당신이 보관하기로 선택한 곳은 당신에게 완전히 달려 있습니다. 귀하의 데이터. 와 같은 위치는 있지만 기본값은 없습니다./usr/local/pgsql/data또는/var/lib/pgsql/data인기가 있습니다. 초기화하려면 a 토토 베이 클러스터, 명령 사용initdb,PostgreSQL. 원하는 파일 토토 베이 클러스터의 시스템 위치는로 표시됩니다.-d옵션, 예 :

$ initdb -d/usr/local/pgsql/data

로그인 한 상태 에서이 명령을 실행해야합니다.postgresql사용자 계정 이전 섹션에 설명되어 있습니다.

팁 :대안으로-d옵션, 환경 변수를 설정할 수 있습니다pgdata.

또는 실행할 수 있습니다initdb그만큼PG_CTL프로그램과 같은 프로그램 :

$ pg_ctl -d/usr/local/pgsql/data initdb

사용하는 경우 더 직관적 일 수 있습니다PG_CTL서버를 시작하고 중지하려면 (참조PostgreSQL : 문서 : 9.0 : 데이터베이스 토토 시작),PG_CTL당신이 사용하는 유일한 명령이 될 것입니다 토토 베이 서버 인스턴스 관리.

initdb디렉토리 아직 존재하지 않는지 지정합니다. 물론, 이것은 실패 할 것입니다initdb부모 디렉토리에 쓸 권한. 일반적으로입니다 권장 가능postgresql사용자는 데이터 만 소유하지 않습니다 디렉토리이지만 부모 디렉토리도 문제가되지 않습니다. 원하는 부모 디렉토리가 존재하지 않는 경우 루트 권한을 사용하여 먼저 만들어야합니다. 조부모 디렉토리가 쓸 수없는 경우. 프로세스가 가능합니다 이렇게 보인다 :

루트#mkdir/usr/local/pgsql루트#Chown Postgres/usr/local/pgsql루트#SU PostgresPostgres $initdb -d/usr/local/pgsql/data

initdb데이터는 실행을 거부합니다 디렉토리가 존재하며 이미 파일을 포함합니다. 이것은 방지하기위한 것입니다 실수로 기존 설치를 덮어 씁니다.

데이터 디렉토리에 저장된 모든 데이터가 포함되어 있기 때문에 데이터베이스, 무단으로부터 보호되는 것이 필수적입니다. 입장.initdb따라서 액세스를 취소합니다 모든 사람이 아닌 모든 사람의 권한PostgreSQL사용자.

그러나 디렉토리 내용은 안전하지만 기본값입니다 클라이언트 인증 설정은 모든 로컬 사용자가 연결할 수 있습니다. 토토 베이는 토토 베이 슈퍼 사용자가됩니다. 당신이한다면 다른 로컬 사용자를 신뢰하지 않으면 중 하나를 사용하는 것이 좋습니다.initdb's-w, --pwprompt또는--pwfile암호를 할당하는 옵션 데이터베이스 슈퍼 사용자. 또한, 지정-a md5또는-A 비밀번호기본값이되도록신뢰인증 모드는 사용되지 않습니다. 또는 생성 된 수정pg_hba.conf실행 후 파일initdb하지만당신은 시작합니다 처음으로 서버. (다른 합리적인 접근법에는 포함됩니다 사용ID인증 또는 파일 연결을 제한하는 시스템 권한. 보다19 장더 많은 것 정보.)

initdb또한 기본값을 초기화합니다 토토 베이 클러스터의 로케일. 일반적으로, 그것은 단지 그것을 취할 것입니다 환경의 로케일 설정을 통해 초기화 된 데이터베이스. 다른 것을 지정할 수 있습니다 데이터베이스의 로케일; 그것에 대한 자세한 내용은 확인할 수 있습니다 안에토토 사이트 순위 : 문서 : 9.0 : 로케일 지원. 기본 정렬 순서 특정 토토 베이 클러스터 내에서 사용되는 것은에 의해 설정됩니다.initdb, 그리고 새 토토 베이를 만들 수 있습니다 다른 정렬 순서를 사용하여 템플릿에 사용 된 순서 initDB가 생성하는 토토 베이는 삭제하지 않고 변경할 수 없습니다 그리고 그들을 재현합니다. 사용에도 성능 영향도 있습니다 이외의 지역C또는posix. 따라서 이것을 만드는 것이 중요합니다 처음으로 올바르게 선택하십시오.

initdb기본값도 설정합니다 토토 베이 클러스터의 문자 세트 인코딩. 일반적으로 이것 로케일 설정과 일치하도록 선택해야합니다. 자세한 내용은 참조PostgreSQL : 문서 : 9.0 : 문자 토토 꽁 머니 지원.

17.2.1. 보조 파일 사용 시스템

많은 설치가 파일에 토토 베이 클러스터를 만듭니다 기계 이외의 시스템 (볼륨)"루트"볼륨. 당신이 이것을 선택한다면, 그것은입니다 2 차 볼륨의 최상위를 사용하는 것이 좋지 않습니다. 데이터 디렉토리로서 디렉토리 (마운트 포인트). 모범 사례입니다 마운트 포인트 디렉토리 내에 디렉토리를 작성하려면 소유자PostgreSQL사용자, 그런 다음 그 안에 데이터 디렉토리를 만듭니다. 이것은 피합니다 권한 문제, 특히와 같은 작업의 경우pg_upgrade, 그리고 또한 보조 볼륨이 취해지면 깨끗한 고장을 보장합니다 오프라인.

17.2.2. 네트워크 파일 사용 시스템

많은 설치가 네트워크에서 토토 베이 클러스터를 만듭니다 파일 시스템. 때때로 이것은를 통해 이루어집니다.NFS또는 네트워크 첨부 스토리지를 사용하여 (NAS) 사용하는 장치NFS내부.PostgreSQL특별한 것은 없습니다NFS파일 시스템, 의미 가정NFS정확히 행동합니다 로컬로 연결된 드라이브처럼. 클라이언트 또는 서버 인 경우NFS구현은 그렇지 않습니다 표준 파일 시스템 시맨틱을 제공하면 유발할 수 있습니다 신뢰성 문제 (참조http : //www.time-travellers.org/shane/papers/nfs_considered_harmful.html). 구체적으로 지연된 (비동기)에NFS서버는 데이터를 유발할 수 있습니다 부패 문제. 가능하면 장착NFS파일 시스템 동기식 (없이 캐싱)이 위험을 피하기 위해. 또한 소프트 장착NFS파일 시스템은 아닙니다 추천.

스토리지 영역 네트워크 (san) 일반적으로 통신 프로토콜을 사용합니다 이외의NFS및 5 월 이런 종류의 위험에 처하지 않을 수 있습니다. 권장됩니다 데이터 일관성에 관한 공급 업체의 문서를 참조하십시오 보증.PostgreSQL할 수 없습니다 사용중인 파일 시스템보다 더 신뢰할 수 있습니다.