Ident 또는 GSSAPI와 같은 외부 인증 시스템을 사용할 때 연결을 시작한 운영 체제 토토 꽁 머니의 이름은 사용할 데이터베이스 토토 꽁 머니(역할)와 동일하지 않을 수 있습니다. 이 경우 토토 꽁 머니 이름 맵을 적용하여 운영 체제 토토 꽁 머니 이름을 데이터베이스 토토 꽁 머니에 매핑할 수 있습니다. 토토 꽁 머니 이름 매핑을 사용하려면 다음을 지정하십시오.지도=지도 이름옵션 필드에서pg_hba.conf. 이 옵션은 외부 토토 꽁 머니 이름을 수신하는 모든 인증 방법에 대해 지원됩니다. 연결마다 다른 매핑이 필요할 수 있으므로 사용할 맵 이름은지도-이름매개변수pg_hba.conf각 개별 연결에 사용할 지도를 나타냅니다.
토토 꽁 머니 이름 맵은 기본적으로 이름이 지정된 ident 맵 파일에 정의됩니다.pg_ident.conf클러스터의 데이터 디렉터리에 저장됩니다. (그러나 지도 파일을 다른 곳에 배치할 수도 있습니다. 다음을 참조하세요.ident_file구성 매개변수.) ident 맵 파일에는 다음과 같은 일반 형식의 줄이 포함되어 있습니다.
지도-이름시스템-토토 꽁 머니 이름데이터베이스-토토 꽁 머니 이름포함파일include_if_exists파일include_dir디렉토리
주석, 공백 및 줄 연속은 다음과 같은 방식으로 처리됩니다.pg_hba.conf.지도-이름은(는) 이 매핑을 참조하는 데 사용되는 임의의 이름입니다.pg_hba.conf. 다른 두 필드는 운영 체제 토토 꽁 머니 이름과 일치하는 데이터베이스 토토 꽁 머니 이름을 지정합니다. 같은지도-이름단일 지도 내에서 여러 토토 꽁 머니 매핑을 지정하기 위해 반복적으로 사용할 수 있습니다.
에 관해서는pg_hba.conf, 이 파일의 줄은 동일한 규칙에 따라 include 지시문이 될 수 있습니다.
특정 운영 체제 토토 꽁 머니가 대응할 수 있는 데이터베이스 토토 꽁 머니 수에 대한 제한은 없으며 그 반대도 마찬가지입니다. 따라서 지도의 항목은 다음과 같은 의미로 생각되어야 합니다.“이 운영 체제 토토 꽁 머니는 이 데이터베이스 토토 꽁 머니로 연결할 수 있습니다.”, 동등함을 암시하는 것이 아닙니다. 외부 인증 시스템에서 얻은 토토 꽁 머니 이름과 토토 꽁 머니가 연결을 요청한 데이터베이스 토토 꽁 머니 이름을 쌍으로 연결하는 맵 항목이 있으면 연결이 허용됩니다. 값모두다음으로 사용할 수 있습니다.데이터베이스-토토 꽁 머니 이름다음과 같은 경우를 지정합니다시스템-토토 꽁 머니 이름일치하면 이 토토 꽁 머니는 기존 데이터베이스 토토 꽁 머니로 로그인할 수 있습니다. 인용모두키워드가 특별한 의미를 잃게 만듭니다.
만약에데이터베이스-토토 꽁 머니 이름a로 시작함+문자를 사용하면 운영 체제 토토 꽁 머니는 토토 꽁 머니 이름이로 시작하는 방식과 유사하게 해당 역할에 속한 모든 토토 꽁 머니로 로그인할 수 있습니다.+다음에서 처리됩니다pg_hba.conf. 따라서, a+표시는 의미합니다“직간접적으로 이 역할의 구성원인 역할과 일치”, a가 없는 이름은+mark는 해당 특정 역할에만 일치합니다. a로 시작하는 토토 꽁 머니 이름 인용+만드는+특별한 의미를 잃습니다.
만약에시스템-토토 꽁 머니 이름필드는 슬래시()로 시작합니다./), 필드의 나머지 부분은 정규식으로 처리됩니다. (참조섹션 9.7.3.1자세한 내용은PostgreSQL의 정규식 구문.) 정규식에는 단일 캡처 또는 괄호로 묶인 하위 표현식이 포함될 수 있습니다. 캡처와 일치하는 시스템 토토 꽁 머니 이름 부분은 다음에서 참조될 수 있습니다.데이터베이스-토토 꽁 머니 이름필드 이름\1(백슬래시-1). 이를 통해 단일 행에 여러 토토 꽁 머니 이름을 매핑할 수 있으며 이는 간단한 구문 대체에 특히 유용합니다. 예를 들어 다음 항목은 다음과 같습니다.
mymap /^(.*)@mydomain\.com$ \1 mymap /^(.*)@otherdomain\.com$ 손님
다음으로 끝나는 시스템 토토 꽁 머니 이름을 가진 토토 꽁 머니의 도메인 부분을 제거합니다.@mydomain.com, 시스템 이름이로 끝나는 모든 토토 꽁 머니를 허용합니다.@otherdomain.com다음 계정으로 로그인하려면손님. 인용문 a데이터베이스-토토 꽁 머니 이름함유\1 하지 않습니다만들다\1특별한 의미를 잃습니다.
만약에데이터베이스-토토 꽁 머니 이름필드는 슬래시로 시작합니다(/), 필드의 나머지 부분은 정규 표현식으로 처리됩니다. 때데이터베이스-토토 꽁 머니 이름필드는 정규식이므로 사용할 수 없습니다.\1그 안에는 캡처를 참조하는시스템-토토 꽁 머니 이름필드.
기본적으로 정규식은 문자열의 일부만 일치할 수 있다는 점을 명심하십시오. 일반적으로 사용하는 것이 현명합니다.^그리고$, 위의 예에 표시된 것처럼 전체 시스템 토토 꽁 머니 이름과 일치하도록 강제합니다.
그pg_ident.conf파일은 시작 시 읽혀지고 주 서버 프로세스가 다음을 수신할 때SIGHUP신호. 활성 시스템에서 파일을 편집하는 경우 포스트마스터에게 신호를 보내야 합니다(pg_ctl 다시 로드, SQL 함수 호출pg_reload_conf()또는 다음을 사용하여죽여 -HUP) 파일을 다시 읽도록 합니다.
시스템 보기pg_ident_file_mappings변경사항을 사전 테스트하는 데 도움이 될 수 있습니다.pg_ident.conf파일, 또는 파일 로드가 원하는 효과를 얻지 못한 경우 문제 진단을 위해 사용됩니다. null이 아닌 뷰의 행오류필드는 파일의 해당 줄에 문제가 있음을 나타냅니다.
A pg_ident.conf다음과 함께 사용할 수 있는 파일pg_hba.conf파일 입력예 21.1다음에 표시됨예 21.2. 이 예에서는 운영 체제 토토 꽁 머니 이름이 없는 192.168 네트워크의 컴퓨터에 로그인한 사람이 있습니다.브라이언, 앤또는로버트액세스 권한이 부여되지 않습니다. 유닉스 토토 꽁 머니로버트다음으로 연결을 시도할 때만 액세스가 허용됩니다PostgreSQL토토 꽁 머니밥, 그렇지 않음로버트또는 누구든지.앤다음으로만 연결이 허용됩니다앤. 토토 꽁 머니브라이언다음 중 하나로 연결이 허용됩니다브라이언또는손님1.
예 21.2. 예pg_ident.conf파일
# MAPNAME 시스템-USERNAME PG-USERNAME 오미크론 브라이언 브라이언 오미크론 앤 앤 # bob은 이 컴퓨터에 토토 꽁 머니 이름 robert를 가지고 있습니다. 오미크론 로버트 밥 # bryanh은 guest1로도 연결할 수 있습니다 오미크론 브라이언 게스트1
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.