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

18.2. 토토 사이트 클러스터 만들기

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

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

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

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

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

또는 실행할 수 있습니다initdbPG_CTL프로그램좋아요 :

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

사용하는 경우 더 직관적 일 수 있습니다PG_CTL서버를 시작하고 중지하려면 (참조PostgreSQL : 문서 : 12 : 18.3. 데이터베이스 메이저 토토 사이트 시작), 그래서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사용자 및 선택적으로 그룹. 활성화 된 경우 그룹 액세스는 읽기 전용입니다. 이를 통해 클러스터 소유자와 동일한 그룹의 비전지없는 사용자는 클러스터 데이터의 백업을 취하거나 읽기 액세스 만 필요한 다른 작업을 수행 할 수 있습니다..

기존 클러스터에서 그룹 액세스를 활성화하거나 비활성화하려면 클러스터가 종료되고 적절한 모드는 다시 시작하기 전에 모든 디렉토리 및 파일에서 설정해야합니다PostgreSQL. 그렇지 않으면 데이터 디렉토리에 모드가 혼합되어있을 수 있습니다. 소유자 만 액세스 할 수있는 클러스터의 경우 적절한 모드는입니다.0700디렉토리 및0600파일. 그룹의 읽기를 허용하는 클러스터의 경우 적절한 모드는입니다.0750디렉토리 및0640파일 용.

그러나 디렉토리 컨텐츠는 안전하지만 기본 클라이언트 인증 설정을 통해 로컬 사용자는 토토 사이트에 연결하고 토토 사이트 슈퍼 사용자가 될 수 있습니다. 다른 로컬 사용자를 신뢰하지 않으면 중 하나를 사용하는 것이 좋습니다.initdb's-w, --pwprompt또는--pwfile토토 사이트 슈퍼업자에 비밀번호를 할당하는 옵션.또한 지정-a md5또는-A 비밀번호기본값이되도록신뢰인증 모드는 사용되지 않습니다. 또는 생성 된 수정PG_HBA.conf실행 후 파일initdb그러나처음으로 서버를 시작합니다. (다른 합리적인 접근 방식은 사용을 포함합니다피어연결을 제한하기위한 인증 또는 파일 시스템 권한. 보다PostgreSQL : 문서 : 12 : CHAPTER 20. 클라이언트 스포츠 토토 결과자세한 내용은

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

initdb또한 토토 사이트 클러스터에 대한 기본 문자 세트 인코딩을 설정합니다. 일반적으로 이것은 로케일 설정과 일치하도록 선택해야합니다. 자세한 내용은 참조PostgreSQL : 문서 : 12 : 23.3. 캐릭터 토토 꽁 머니 지원.

C및 비posix로케일은 캐릭터 세트 주문을 위해 운영 체제의 Collation Library에 의존합니다. 이것은 인덱스에 저장된 키의 순서를 제어합니다. 이러한 이유로 클러스터는 스냅 샷 복원, 이진 스트리밍 복제, 다른 운영 체제 또는 운영 체제 업그레이드를 통해 호환되지 않는 Collation 라이브러리 버전으로 전환 할 수 없습니다..

18.2.1. 보조 파일 시스템 사용

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

18.2.2. 파일 시스템

일반적으로 Posix 시맨틱이있는 모든 파일 시스템을 PostgreSQL에 사용할 수 있습니다. 사용자는 공급 업체 지원, 성능 및 친숙 함을 포함하여 다양한 이유로 다른 파일 시스템을 선호합니다. 경험은 다른 모든 것들이 평등하다면, 주요 성능이나 행동이 파일 시스템을 전환하거나 사소한 파일 시스템 구성을 변경함으로써 큰 ​​성능이나 동작이 바뀌지 않아야한다고 제안합니다.

18.2.2.1. NFS

사용 가능합니다NFS저장을위한 파일 시스템PostgreSQL데이터 디렉토리.PostgreSQL특별한 것은 없습니다NFS파일 시스템, 의미NFS로컬로 연결된 드라이브와 똑같이 동작합니다.PostgreSQL비표준 동작이있는 것으로 알려진 기능을 사용하지 않습니다NFS, 예 : 파일 잠금.

사용을위한 유일한 회사 요구 사항NFSwithPostgreSQL파일 시스템이를 사용하여 장착 된 것입니다.하드옵션. 와 함께hard옵션, 프로세스 can네트워크 문제가있는 경우 무기한이 구성에는 신중한 모니터링 설정이 필요합니다. 그만큼소프트옵션은 네트워크 문제의 경우 시스템 호출을 중단하지만PostgreSQL이런 식으로 인터럽트 된 시스템 호출을 반복하지 않으므로 이러한 중단으로 인해 I/O 오류 가보고됩니다.

사용 할 필요는 없습니다sync마운트 옵션. 의 행동async옵션은 충분합니다.PostgreSQL문제fsync쓰기 캐시를 플러시하기 위해 적절한 시간에 호출합니다. (이것은 로컬 파일 시스템에서 작동하는 방식과 유사합니다.) 그러나 사용하는 것이 좋습니다.syncNFS의 내보내기 옵션Server존재하는 시스템에서 (주로 Linux). 그렇지 않으면, anfsync또는 NFS 클라이언트의 동등성은 실제로 서버의 영구 저장소에 도달하도록 보장되지 않으므로 매개 변수로 실행되는 것과 유사하게 부패를 일으킬 수 있습니다.fsyncOFF. 이러한 마운트 및 내보내기 옵션의 기본값은 공급 업체와 버전마다 다르므로 모호성을 피하기 위해 어쨌든 명시 적으로 확인하고 명시 적으로 지정하는 것이 좋습니다..

경우에 따라 외부 저장 제품은 NFS 또는 ISCSI와 같은 하위 수준 프로토콜을 통해 액세스 할 수 있습니다. 후자의 경우, 스토리지는 블록 장치로 나타나고 사용 가능한 파일 시스템을 생성 할 수 있습니다. 이 접근법은 DBA가 NFS의 일부 특유성을 다루지 않아도되는 것을 완화시킬 수 있지만 물론 원격 스토리지 관리의 복잡성은 다른 수준에서 발생합니다..