이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 20.2. 토토 이름지도버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

19.2. 사용자 이름 맵

Ident 또는 Ident와 같은 외부 인증 시스템을 사용하는 경우 GSSAPI는 작업을 시작한 운영 체제 사용자의 이름입니다. 연결이 필요한 데이터베이스 사용자와 동일하지 않을 수 있습니다. 다음과 같이 연결합니다. 이 경우 사용자 이름 맵을 맵에 적용할 수 있습니다. 운영 체제 사용자 이름을 데이터베이스 사용자에게 전달합니다. 사용자를 사용하려면 이름 매핑, 지정지도=지도 이름옵션 필드에서pg_hba.conf. 이 옵션은 모든 사용자에게 지원됩니다. 외부 사용자 이름을 수신하는 인증 방법입니다. 이후 서로 다른 연결에는 서로 다른 매핑이 필요할 수 있습니다. 사용할 지도의 이름은에 지정됩니다.지도-이름매개변수pg_hba.conf각각에 사용할 지도를 나타냅니다. 개별 연결.

사용자 배트맨 토토 맵은 ident 맵 파일에 정의되어 있습니다. 기본값은 배트맨 토토이 지정됩니다.pg_ident.conf그리고 클러스터의 데이터 디렉터리에 저장됩니다. (배치는 가능해요 그러나 지도 파일은 다른 곳에 있습니다. 참조하세요ident_file구성 매개변수.) ident 맵 파일에는 다음 행이 포함되어 있습니다. 일반적인 형식:

지도-이름 시스템-사용자 배트맨 토토 데이터베이스-사용자 배트맨 토토

주석과 공백은 다음과 같은 방식으로 처리됩니다.pg_hba.conf.지도 이름임의의 배트맨 토토입니다. 에서 이 매핑을 참조하는 데 사용됨pg_hba.conf. 다른 두 필드는 운영 체제 사용자 배트맨 토토과 일치하는 데이터베이스 사용자 배트맨 토토. 는 같은지도-이름사용 가능 단일 내에서 여러 사용자 매핑을 지정하기 위해 반복적으로 지도.

데이터베이스 사용자 수에는 제한이 없습니다. 주어진 운영 체제 사용자는 해당 운영 체제에 대응할 수 있으며 그 반대도 마찬가지입니다. 따라서 지도의 항목은 다음과 같은 의미로 생각되어야 합니다."이 운영 체제 사용자는 다음이 허용됩니다. 이 데이터베이스 사용자로 연결하세요.", 그런 암시보다는 그것들은 동등합니다. 다음이 있는 경우 연결이 허용됩니다. 외부에서 얻은 사용자 이름과 쌍을 이루는 모든 맵 항목 사용자가 지정한 데이터베이스 사용자 이름을 사용한 인증 시스템 님이 다음 계정으로 연결을 요청했습니다.

만약에시스템-사용자 배트맨 토토필드 슬래시로 시작합니다(/), 나머지 필드의 내용은 정규식으로 처리됩니다. (참조섹션 9.7.3.1자세한 내용은포스트그레SQL의 정규식 구문.) 정규식은 단일 캡처를 포함하거나 괄호로 묶을 수 있습니다. 하위 표현식은 다음에서 참조될 수 있습니다.데이터베이스-사용자 배트맨 토토필드:\1(백슬래시-1). 이를 통해 매핑이 가능해집니다. 한 줄에 여러 사용자 배트맨 토토이 들어 있습니다. 특히 간단한 구문 대체에 유용합니다. 예를 들어, 이러한 항목

mymap /^(.*)@mydomain\.com$ \1
mymap /^(.*)@otherdomain\.com$ 손님

시스템 사용자 이름을 가진 사용자의 도메인 부분을 제거합니다. 다음으로 끝나는 것@mydomain.com, 허용 시스템 이름이 다음으로 끝나는 모든 사용자@otherdomain.com다음 계정으로 로그인하려면손님.

팁:기본적으로 일반 표현식은 문자열의 일부만 일치할 수 있습니다. 평소엔 현명한데 사용하다^그리고$, 위의 예에 표시된 것처럼 전체 시스템 사용자 배트맨 토토과 일치합니다.

pg_ident.conf파일을 읽은 위치 시작 및 기본 서버 프로세스가 수신될 때SIGHUP신호. 파일을 편집하는 경우 활성 시스템인 경우 포스트마스터에게 신호를 보내야 합니다( 사용).pg_ctl 다시 로드또는죽여 -HUP) 파일을 다시 읽도록 합니다.

A pg_ident.conf다음과 같은 파일이 있을 수 있습니다. 와 함께 사용됨pg_hba.conf파일 입력예 19-1이다 에 표시됨예 19-2. 이 예에서는 누구나 192.168의 컴퓨터에 로그인했습니다. 운영 체제 사용자 배트맨 토토이 없는 네트워크브라이언, 또는로버트액세스가 허용되지 않습니다. 유닉스 사용자로버트접근만 허용됩니다 그가 연결을 시도할 때PostgreSQL사용자, 그렇지 않음로버트또는 다른 사람.만 허용됩니다 다음으로 연결하려면. 사용자브라이언둘 중 하나로 연결이 허용됩니다브라이언또는손님1.

예제 19-2. 예pg_ident.conf파일

# MAPNAME 시스템-USERNAME PG-USERNAME

오미크론 브라이언 브라이언
오미크론 앤 앤
# bob은 이 컴퓨터에 사용자 이름 robert를 가지고 있습니다.
오미크론 로버트 밥
# bryanh은 guest1로도 연결할 수 있습니다
오미크론 브라이언 게스트1