무엇이든 할 수 있기 전에 디스크에서 토토 꽁 머니 저장 영역을 초기화해야합니다. 우리는 이것을 a라고 부릅니다.토토 꽁 머니 클러스터. (그만큼SQLStandard는 카탈로그 클러스터라는 용어를 사용합니다.) 토토 꽁 머니 클러스터는 실행중인 데이터베이스 서버의 단일 인스턴스에서 관리하는 데이터베이스 모음입니다. 초기화 후 토토 꽁 머니 클러스터에는이라는 데이터베이스가 포함됩니다.Postgres
는 유틸리티, 사용자 및 타사 응용 프로그램에서 사용할 기본 토토 꽁 머니입니다. 토토 꽁 머니 서버 자체에는가 필요하지 않습니다.Postgres
토토 꽁 머니가 존재하지만 많은 외부 유틸리티 프로그램이 존재한다고 가정합니다. 초기화 중 각 클러스터 내에서 생성 된 다른 토토 꽁 머니는입니다.template1
. 이름에서 알 수 있듯이, 이것은 후속 생성 된 토토 꽁 머니의 템플릿으로 사용됩니다. 실제 작업에는 사용해서는 안됩니다. (보다23 장클러스터 내에서 새 토토 꽁 머니 생성에 대한 정보.)
파일 시스템 용어에서 토토 꽁 머니 클러스터는 모든 데이터가 저장 될 단일 디렉토리입니다. 우리는 이것을라고 부릅니다.데이터 디렉토리또는데이터 영역. 데이터를 저장하기로 선택한 곳은 귀하에게 전적으로 달려 있습니다. 와 같은 위치는 있지만 기본값은 없습니다./usr/local/pgsql/data
또는/var/lib/pgsql/data
인기가 있습니다. 프로그램을 사용하여 사용하기 전에 데이터 디렉토리를 초기화해야합니다initdbPostgreSQL.
사전 포장 된 버전의를 사용하는 경우PostgreSQL, 데이터 디렉토리를 배치 할 위치에 대한 특정 컨벤션이있을 수 있으며 데이터 디렉토리를 만들기위한 스크립트도 제공 할 수도 있습니다. 이 경우 해당 스크립트를 선호하여 실행에 사용해야합니다initdb
직접. 자세한 내용은 패키지 수준 문서를 참조하십시오.
토토 꽁 머니 클러스터를 수동으로 초기화하려면 runinitdb
및 토토 꽁 머니 클러스터의 원하는 파일 시스템 위치를-d
옵션, 예 :
$
initdb -d/usr/local/pgsql/data
로그인 한 상태 에서이 명령을 실행해야합니다.PostgreSQL이전 섹션에 설명 된 사용자 계정.
또는 실행할 수 있습니다initdb
PG_CTL프로그램좋아요 :
$
pg_ctl -d/usr/local/pgsql/data initdb
사용하는 경우 더 직관적 일 수 있습니다PG_CTL
서버를 시작하고 중지하려면 (참조PostgreSQL : 문서 : 14 : 19.3. 데이터베이스 토토 커뮤니티 시작), 그래서PG_CTL
토토 꽁 머니 서버 인스턴스를 관리하는 데 사용하는 유일한 명령입니다.
initdb
아직 존재하지 않는지 지정한 디렉토리를 작성하려고합니다. 물론 이것은이면 실패 할 것입니다.initdb
부모 디렉토리에 쓸 권한이 없습니다. 일반적으로가 권장됩니다.PostgreSQL사용자는 데이터 디렉토리뿐만 아니라 부모 디렉토리도 소유하므로 문제가되지 않아야합니다. 원하는 부모 디렉토리가 존재하지 않으면 조부모 디렉토리를 작성할 수없는 경우 루트 권한을 사용하여 먼저 만들어야합니다. 그래서 프로세스는 다음과 같이 보일 수 있습니다 :
루트#mkdir/usr/local/pgsql
루트#Chown Postgres/usr/local/pgsql
루트#SU Postgres
Postgres $initdb -d/usr/local/pgsql/data
initdb
데이터 디렉토리가 존재하고 이미 파일을 포함하면 실행을 거부합니다. 이것은 실수로 기존 설치를 덮어 쓰는 것을 방지하기위한 것입니다.
데이터 디렉토리에는 데이터베이스에 저장된 모든 데이터가 포함되어 있으므로 승인되지 않은 액세스에서 보안을 확보해야합니다.initdb
따라서 모든 사람의 액세스 권한을 취소합니다PostgreSQL사용자 및 선택적으로 그룹. 활성화 된 경우 그룹 액세스는 읽기 전용입니다. 이를 통해 클러스터 소유자와 동일한 그룹의 비전지없는 사용자는 클러스터 데이터의 백업을 취하거나 읽기 액세스 만 필요한 다른 작업을 수행 할 수 있습니다..
기존 클러스터에서 그룹 액세스를 활성화하거나 비활성화하려면 클러스터를 종료하고 재시작하기 전에 모든 디렉토리 및 파일에서 적절한 모드를 설정해야합니다PostgreSQL. 그렇지 않으면 데이터 디렉토리에 모드가 혼합되어있을 수 있습니다. 소유자 만 액세스 할 수있는 클러스터의 경우 적절한 모드는입니다.0700
디렉토리 및0600
파일. 그룹의 읽기를 허용하는 클러스터의 경우 적절한 모드는입니다.0750
디렉토리 및0640
파일 용.
그러나 디렉토리 컨텐츠는 안전하지만 기본 클라이언트 인증 설정을 통해 로컬 사용자는 토토 꽁 머니에 연결하고 토토 꽁 머니 슈퍼 사용자가 될 수 있습니다. 다른 로컬 사용자를 신뢰하지 않으면 중 하나를 사용하는 것이 좋습니다.initdb
's-w
, --pwprompt
또는--pwfile
토토 꽁 머니 슈퍼 유저에 비밀번호를 할당하는 옵션.또한 지정-a scram-sha-256
기본값이되도록신뢰
인증 모드는 사용되지 않습니다. 또는 생성 된 수정pg_hba.conf
실행 후 파일initdb
그러나전처음으로 서버를 시작합니다. (다른 합리적인 접근 방식은 사용을 포함합니다피어
연결을 제한하기위한 인증 또는 파일 시스템 권한. 보다PostgreSQL : 문서 : 14 : 21 장. 클라이언트 토토 사이트 순위자세한 내용은
initdb
기본 로케일 초기화토토 꽁 머니 클러스터의 경우. 일반적으로 환경에서 로케일 설정을 사용하여 초기화 된 데이터베이스에 적용합니다. 데이터베이스에 대해 다른 로케일을 지정할 수 있습니다. 그것에 대한 자세한 내용은에서 확인할 수 있습니다.PostgreSQL : 문서 : 14 : 24.1. 사설 토토 사이트 지원. 특정 토토 꽁 머니 클러스터 내에서 사용되는 기본 정렬 순서는에 의해 설정됩니다.initdb
, 그리고 다른 정렬 순서를 사용하여 새 토토 꽁 머니를 만들 수는 있지만 InitDB가 작성하는 템플릿 토토 꽁 머니에 사용 된 순서는 삭제하고 재현하지 않고는 변경할 수 없습니다. 이외의 지역을 사용하는데도 성능 영향도 있습니다.C
또는POSIX
. 따라서 처음 으로이 선택을 올바르게 만드는 것이 중요합니다.
initdb
또한 토토 꽁 머니 클러스터에 대한 기본 문자 세트 인코딩을 설정합니다. 일반적으로 이것은 로케일 설정과 일치하도록 선택해야합니다. 자세한 내용은 참조토토 꽁 머니 사이트 : 문서 : 14 : 24.3. 캐릭터 토토 꽁 머니 사이트 지원.
비C
및 비posix
로케일은 캐릭터 세트 주문을 위해 운영 체제의 Collation Library에 의존합니다. 이것은 인덱스에 저장된 키의 순서를 제어합니다. 이러한 이유로 클러스터는 스냅 샷 복원, 이진 스트리밍 복제, 다른 운영 체제 또는 운영 체제 업그레이드를 통해 호환되지 않는 Collation 라이브러리 버전으로 전환 할 수 없습니다..
많은 설치가 기계 이외의 파일 시스템 (볼륨)에서 토토 꽁 머니 클러스터를 만듭니다“루트”볼륨. 이를 선택하면 2 차 볼륨의 최상위 디렉토리 (Mount Point)를 데이터 디렉토리로 사용하는 것이 좋습니다. 모범 사례는 마운트 포인트 디렉토리 내에서 소유 한 디렉토리를 작성하는 것입니다.PostgreSQL사용자, 그 안에 데이터 디렉토리를 만듭니다. 이것은 특히와 같은 작업에 대한 권한 문제를 피합니다.pg_upgrade, 그리고 보조 볼륨이 오프라인 상태가되면 깨끗한 고장을 보장합니다.
일반적으로 Posix 시맨틱이있는 모든 파일 시스템을 PostgreSQL에 사용할 수 있습니다. 사용자는 공급 업체 지원, 성능 및 친숙 함을 포함하여 다양한 이유로 다른 파일 시스템을 선호합니다. 경험은 다른 모든 것들이 평등하다면, 주요 성능이나 행동이 파일 시스템을 전환하거나 사소한 파일 시스템 구성을 변경함으로써 큰 성능이나 동작이 바뀌지 않아야한다고 제안합니다.
사용 가능합니다NFS저장을위한 파일 시스템PostgreSQL데이터 디렉토리.PostgreSQL특별한 것은 없습니다NFS파일 시스템, 의미NFS로컬로 연결된 드라이브처럼 동작합니다.PostgreSQL비표준 동작이있는 것으로 알려진 기능을 사용하지 않습니다NFS, 예 : 파일 잠금.
사용을위한 유일한 회사 요구 사항NFSwithPostgreSQL파일 시스템이를 사용하여 장착 된 것입니다.하드
옵션. 와 함께hard
옵션, 프로세스 can“행”네트워크 문제가있는 경우 무기한이 구성에는 신중한 모니터링 설정이 필요합니다. 그만큼소프트
옵션은 네트워크 문제의 경우 시스템 호출을 중단하지만PostgreSQL이러한 방식으로 시스템 호출을 반복하지 않으므로 이러한 중단으로 인해 I/O 오류 가보고됩니다.
사용 할 필요는 없습니다sync
마운트 옵션. 의 행동async
옵션은 충분합니다.PostgreSQL문제fsync
쓰기 캐시를 플러시하기 위해 적절한 시간에 호출합니다. (이것은 로컬 파일 시스템에서 작동하는 방식과 유사합니다.) 그러나 사용하는 것이 좋습니다.sync
NFS의 내보내기 옵션Server존재하는 시스템에서 (주로 Linux). 그렇지 않으면, anfsync
또는 NFS 클라이언트의 동등성은 실제로 서버의 영구 저장소에 도달 할 수 있도록 보장되지 않으므로 매개 변수로 실행하는 것과 비슷한 손상이 발생할 수 있습니다.fsyncOFF. 이러한 마운트 및 내보내기 옵션의 기본값은 공급 업체와 버전마다 다르므로 모호성을 피하기 위해 어쨌든 명시 적으로 확인하고 명시 적으로 지정하는 것이 좋습니다..
경우에 따라 외부 저장 제품은 NFS 또는 ISCSI와 같은 하위 수준의 프로토콜을 통해 액세스 할 수 있습니다. 후자의 경우, 스토리지는 블록 장치로 나타나고 사용 가능한 파일 시스템을 생성 할 수 있습니다. 이 접근법은 DBA가 NFS의 일부 특유성을 다루지 않아도되는 것을 완화시킬 수 있지만 물론 원격 스토리지 관리의 복잡성은 다른 수준에서 발생합니다..
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면