이 문서는 지원되지 않는 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 19.3. 롤 토토 및 인증버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

18.3. 연결 및 입증

18.3.1. 연결 설정

listen_addresses (문자열)

서버가 연결된 TCP/IP 주소를 지정합니다. 클라이언트 애플리케이션의 연결을 수신하는 것입니다. 값은 쉼표로 구분된 목록 형식을 취합니다. 호스트 이름 및/또는 숫자 IP 주소. 특별 항목*사용 가능한 모든 항목에 해당 IP 인터페이스. 항목0.0.0.0모든 IPv4 주소 수신을 허용하며::모든 IPv6 수신을 허용합니다. 구애. 목록이 비어 있으면 서버는 모든 IP 인터페이스에서 수신 대기합니다. 이 경우에만 Unix 도메인 소켓을 사용하여 연결할 수 있습니다. 그만큼 기본값은로컬호스트, 로컬만 허용 TCP/IP"루프백"연결 만들어질 것입니다. 클라이언트 인증 중(제19장) 허용 서버에 액세스할 수 있는 사람을 세밀하게 제어합니다.listen_addresses어느 것을 제어합니다. 인터페이스는 연결 시도를 허용합니다. 이는 도움이 될 수 있습니다. 반복되는 악의적인 연결 요청을 방지합니다. 안전하지 않은 네트워크 인터페이스. 이 매개토토 서버 시작 시 설정됩니다.

포트 (정수)

서버가 수신 대기하는 TCP 포트; 기본적으로 5432입니다. 모든 IP에는 동일한 포트 번호가 사용됩니다. 서버가 수신하는 주소를 지정합니다. 이 매개토토 서버 시작 시 설정됩니다.

max_connections (정수)

최대 동시 접속자 수를 결정합니다 데이터베이스 서버에 대한 연결. 기본값은 일반적으로 연결 수는 100개이지만, 다음과 같은 경우에는 더 적을 수도 있습니다. 커널 설정은 이를 지원하지 않습니다(이 과정에서 결정됨)initdb). 이 매개변수 서버 시작 시에만 설정할 수 있습니다.

이 매개변수를 늘리면 다음이 발생할 수 있습니다.토토추가 요청시스템 V공유 메모리 또는 운영 체제의 기본값보다 세마포어 구성이 허용됩니다. 보다섹션 17.4.1용 해당 매개변수를 조정하는 방법에 대한 정보(해당하는 경우) 필요한.

대기 서버를 실행할 때 다음을 설정해야 합니다. 매개변수를 마스터의 값과 동일하거나 더 높은 값으로 설정 섬기는 사람. 그렇지 않으면 쿼리가 허용되지 않습니다. 대기 서버입니다.

superuser_reserved_connections (정수)

연결 수 결정"슬롯"연결용으로 예약되어 있습니다. 에 의해포스트그레SQL수퍼유저. 많아야max_connections연결은 동시에 활성화될 수 있습니다. 언제든지 활성 동시 연결 수는 최소입니다.max_connections마이너스superuser_reserved_connections, 신규 슈퍼유저에 대해서만 연결이 허용되며, 새로운 복제 연결이 허용됩니다.

기본값은 3개의 연결입니다. 값은 다음과 같아야 합니다. 값보다 작습니다.max_connections. 이 매개토토 서버 시작 시 설정됩니다.

unix_socket_directory (문자열)

Unix 도메인 소켓의 디렉토리를 지정합니다. 서버가 클라이언트로부터의 연결을 수신하는 것입니다. 응용 프로그램. 기본값은 일반적으로/tmp, 하지만 빌드 시 변경될 수 있습니다. 이 매개토토 서버 시작 시에만 설정할 수 있습니다.

이름이 지정된 소켓 파일 자체에 추가로.s.PGSQL.nnnn어디에서nnnn는 서버의 포트 번호입니다. 이름이 일반 파일입니다..s.PGSQL.nnnn.잠금다음에 생성됩니다 그만큼unix_socket_directory디렉토리. 두 파일 모두 제거하면 안 됩니다. 수동으로.

이 매개토토 Windows에서는 관련이 없습니다. Unix 도메인 소켓이 없습니다.

unix_socket_group (문자열)

Unix 도메인 소켓의 소유 그룹을 설정합니다. (그만큼 소켓의 소유 사용자는 항상 시작하는 사용자입니다. 서버.) 매개변수와 결합하여unix_socket_permissions이것을 사용할 수 있습니다 Unix 도메인에 대한 추가 액세스 제어 메커니즘으로 사이. 기본적으로 이는 빈 문자열입니다. 서버 사용자의 기본 그룹을 사용합니다. 이 매개변수 서버 시작 시에만 설정할 수 있습니다.

이 매개토토 Windows에서는 관련이 없습니다. Unix 도메인 소켓이 없습니다.

unix_socket_permissions (정수)

Unix 도메인 소켓의 액세스 권한을 설정합니다. Unix 도메인 소켓은 일반적인 Unix 파일 시스템을 사용합니다. 권한 집합. 매개변수 값은 다음과 같을 것으로 예상됩니다. 에서 허용되는 형식으로 지정된 숫자 모드chmod그리고마스크시스템 호출. (사용하려면 관례적인 8진수 형식 숫자는 a로 시작해야 합니다.0(제로).)

기본 권한은 다음과 같습니다.0777, 누구나 연결할 수 있음을 의미합니다. 합리적인 대안은 다음과 같습니다.0770(사용자 및 그룹만 해당, 참조unix_socket_group) 및0700(사용자만). (참고로 Unix 도메인 소켓은 쓰기 권한만 중요하므로 읽기 또는 실행을 설정하거나 취소하는 것은 의미가 없습니다. 권한.)

이 액세스 제어 메커니즘은 하나는에 설명되어 있습니다.제19장.

이 매개토토 서버 시작 시에만 설정할 수 있습니다.

이 매개토토 시스템과 관련이 없습니다. 특히 소켓 권한을 무시하는 Solaris 10 이상의 Solaris 전적으로. 거기에서 비슷한 효과를 얻을 수 있습니다. 가리키는unix_socket_directory다음으로 제한된 검색 권한을 가진 디렉토리에 원하는 청중. 이 매개변수는 다음에도 관련이 없습니다. Unix 도메인 소켓이 없는 Windows.

봉쥬르 (부울)

다음을 통해 서버의 존재를 광고할 수 있습니다.봉쥬르. 기본값은 끄다. 이 매개토토 서버 시작 시에만 설정할 수 있습니다.

bonjour_name (문자열)

다음을 지정합니다봉쥬르서비스 이름. 이 매개변수의 경우 컴퓨터 이름이 사용됩니다. 빈 문자열로 설정됩니다.''(기본값). 이 매개변수는 다음과 같은 경우 무시됩니다. 서버가 다음으로 컴파일되지 않았습니다.봉쥬르지원합니다. 이 매개변수는 서버 시작 시에만 설정됩니다.

tcp_keepalives_idle (정수)

다음을 보내기 전의 시간(초)을 지정합니다 유휴 연결의 유지 패킷입니다. 값 0이면 시스템 기본값을 사용합니다. 이 매개변수는 지원됩니다 지원하는 시스템에서만TCP_KEEPIDLE또는 동등한 소켓 옵션 및 Windows의 경우; 다른 시스템에서는 영. Unix 도메인 소켓을 통해 연결된 세션에서, 이 매개토토 무시되며 항상 0으로 읽혀집니다.

참고:Windows에서는 값 0이 설정됩니다. Windows에서는 그렇지 않기 때문에 이 매개토토 2시간으로 설정됩니다. 시스템 기본값을 읽는 방법을 제공합니다.

tcp_keepalives_interval (정수)

전송 간격(초)을 지정합니다 유휴 연결에 대한 연결 유지. 값 0 시스템 기본값을 사용합니다. 이 매개변수는 지원하는 시스템에서TCP_KEEPINTVL또는 동등한 소켓 옵션 및 Windows의 경우; 다른 시스템에서는 영. Unix 도메인 소켓을 통해 연결된 세션에서, 이 매개토토 무시되며 항상 0으로 읽혀집니다.

참고:Windows에서는 값 0이 설정됩니다. Windows에서는 그렇지 않기 때문에 이 매개변수를 1초로 설정합니다. 시스템 기본값을 읽는 방법을 제공합니다.

tcp_keepalives_count (정수)

전송할 연결 유지 패킷 수를 지정합니다. 그렇지 않으면 유휴 연결입니다. 값 0은 다음을 사용합니다. 시스템 기본값. 이 매개변수는 다음에서만 지원됩니다. 지원하는 시스템TCP_KEEPCNT또는 동등한 소켓 옵션; 다른 시스템에서는 0이 되십시오. Unix 도메인 소켓을 통해 연결된 세션에서, 이 매개토토 무시되며 항상 0으로 읽혀집니다.

참고:이 매개변수는 다음에서 지원되지 않습니다. Windows이며 0이어야 합니다.

18.3.2. 보안 및 입증

authentication_timeout (정수)

클라이언트 인증을 완료하는 데 걸리는 최대 시간, 초. 예비 고객이 해당 작업을 완료하지 않은 경우 이 많은 시간 동안 인증 프로토콜, 서버 연결을 닫습니다. 이렇게 하면 중단된 클라이언트가 방지됩니다. 연결을 무기한으로 점유합니다. 기본값은 1개입니다. 분 (1m). 이 매개토토 에만 설정되어야 합니다.토토.conf파일 또는 서버에 명령줄.

ssl (부울)

활성화SSL연결. 꼭 읽어주세요섹션 17.9이것을 사용하기 전에. 기본값은꺼짐. 이 매개변수는 다음에서만 설정할 수 있습니다. 서버 시작.SSL통신은 TCP/IP로만 가능합니다 사이.

ssl_ca_file (문자열)

SSL을 포함하는 파일의 이름을 지정합니다 서버 인증 기관(CA). 기본값은 비어 있습니다. CA 파일이 로드되지 않았으며 클라이언트 인증서가 있음을 의미합니다. 확인이 수행되지 않습니다. (이전 릴리스에서는 토토, 이 파일의 이름은 다음과 같이 하드 코딩되었습니다.루트.crt.) 상대 경로는 다음과 같습니다. 데이터 디렉토리에 상대적입니다. 이 매개토토 서버 시작 시 설정됩니다.

ssl_cert_file (문자열)

SSL을 포함하는 파일의 이름을 지정합니다 서버 인증서. 기본값은서버.crt. 상대 경로는 상대 경로입니다. 데이터 디렉토리로. 이 매개변수는 다음에서만 설정할 수 있습니다. 서버 시작.

ssl_crl_file (문자열)

SSL을 포함하는 파일의 이름을 지정합니다 서버 인증서 해지 목록(CRL). 기본값은 비어 있습니다. 이는 CRL 파일이 로드되지 않았음을 의미합니다. (이전에는 토토 릴리스에서 이 파일의 이름은 다음과 같이 하드 코딩됨루트.crl.) 상대 경로는 데이터 디렉터리에 상대적입니다. 이것 매개토토 서버 시작 시에만 설정할 수 있습니다.

ssl_key_file (문자열)

SSL을 포함하는 파일의 이름을 지정합니다 서버 개인 키. 기본값은서버.키. 상대 경로는 상대 경로입니다. 데이터 디렉토리로. 이 매개변수는 다음에서만 설정할 수 있습니다. 서버 시작.

ssl_renegotiation_limit (정수)

얼마나 많은 데이터가 흐를 수 있는지 지정합니다.SSL-암호화됨 세션 키 재협상 전의 연결은 일어난다. 재협상은 공격자의 기회를 줄입니다. 대량의 트래픽이 발생할 수 있는 경우 암호화 분석 수행 검사를 받지만 큰 성능도 발휘합니다. 패널티. 전송된 트래픽과 수신된 트래픽의 합계는 다음과 같이 사용됩니다. 한도를 확인하세요. 이 매개변수를 0으로 설정하면 재협상이 비활성화되었습니다. 기본값은0.

참고:11월 이전의 SSL 라이브러리 2009는 SSL 재협상을 사용할 때 안전하지 않습니다. SSL 프로토콜의 취약점. 임시방편으로 이 취약점에 대한 수정으로 일부 공급업체는 SSL을 제공했습니다. 재협상을 할 수 없는 라이브러리. 있다면 이러한 라이브러리는 클라이언트나 서버에서 사용 중입니다. SSL 재협상을 비활성화해야 합니다.

경고

버그로 인해오픈SSLSSL 활성화 중 0이 아닌 값을 구성하여 재협상ssl_renegotiation_limit, 오래 지속되는 등의 문제가 발생할 가능성이 높습니다. 연결이 끊어졌습니다.

ssl_ciphers (문자열)

다음의 목록을 지정합니다SSL허용된 암호 보안 연결에 사용됩니다. 참조openssl목록 매뉴얼 페이지 지원되는 암호입니다.

password_encryption (부울)

비밀번호가 지정된 경우사용자 생성또는역할 변경글을 쓰지 않고 어느 하나암호화됨또는암호화되지 않음, 이 매개토토 비밀번호를 암호화할지 여부. 기본값은켜짐(비밀번호를 암호화합니다.)

krb_server_keyfile (문자열)

Kerberos 서버 키 파일의 위치를 ​​설정합니다. 보다섹션 19.3.5또는섹션 19.3.3용 세부. 이 매개토토에서만 설정할 수 있습니다.토토.conf파일 또는 서버에 명령줄.

krb_srvname (문자열)

Kerberos 서비스 이름을 설정합니다. 보다섹션 19.3.5용 세부. 이 매개토토에서만 설정할 수 있습니다.토토.conf파일 또는 서버에 명령줄.

krb_caseins_users (부울)

Kerberos 및 GSSAPI 사용자 이름을 사용해야 하는지 여부를 설정합니다. 대소문자를 구분하지 않고 처리됩니다. 기본값은꺼짐(대소문자 구분). 이 매개토토 에만 설정되어야 합니다.토토.conf파일 또는 서버에 명령줄.

db_user_namespace (부울)

이 매개변수는 데이터베이스별 사용자 이름을 활성화합니다. 그것은 기본적으로 꺼져 있습니다. 이 매개변수는에서만 설정할 수 있습니다.토토.conf파일 또는 서버 명령줄.

이것이 켜져 있으면 다음과 같이 사용자를 생성해야 합니다.사용자 이름@dbname. 언제사용자 이름연결 클라이언트에 의해 전달되었습니다.@및 데이터베이스 이름은 다음과 같습니다. 사용자 이름과 해당 데이터베이스별 사용자에 추가됨 이름은 서버에서 조회됩니다. 당신이 다음을 포함하는 이름으로 사용자 생성@SQL 환경 내에서 당신은 사용자 이름을 인용해야 합니다.

이 매개변수가 활성화된 경우에도 여전히 다음을 생성할 수 있습니다. 일반 글로벌 사용자. 간단히 추가하세요@사용자 이름을 지정할 때 클라이언트, 예:조@. 그만큼@이전에 벗겨질 것입니다 사용자 이름은 서버에서 조회됩니다.

db_user_namespace이유는 클라이언트와 서버의 사용자 이름 표현이 다릅니다. 인증 확인은 항상 서버의 인증을 통해 수행됩니다. 사용자 이름이므로 인증 방법을 구성해야 합니다. 클라이언트의 사용자 이름이 아닌 서버의 사용자 이름입니다. 왜냐하면md5사용자 이름을 솔트로 사용합니다. 클라이언트와 서버 모두에서,md5다음과 함께 사용할 수 없습니다.db_user_namespace.

참고:이 기능은 완전한 해결책을 찾을 때까지 임시 조치를 취하십시오. 이때 이 옵션은 제거됩니다.