이 문서는 지원되지 않는 젠 토토QL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.토토 사이트 PostgreSQL: Tài liệu: 17: Postgres버전 또는 위에 나열된 다른 지원 버전 중 하나를 젠 토토하세요.

포스트그레스

이름

포스트그레스 -- 젠 토토QL데이터베이스 서버

시놉시스

포스트그레 [옵션...]

설명

포스트그레이것은젠 토토QL데이터베이스 서버. 위해서는 (네트워크를 통해) 연결된 데이터베이스에 액세스하기 위한 클라이언트 애플리케이션 또는 로컬로) 실행 중포스트그레스인스턴스.포스트그레스인스턴스 그럼 연결을 처리하기 위해 별도의 서버 프로세스를 시작합니다.

하나포스트그레인스턴스는 항상 관리합니다. 정확히 하나의 데이터베이스 클러스터의 데이터입니다. 데이터베이스 클러스터는 공통 파일 시스템에 저장된 데이터베이스 모음 위치("데이터 영역"). 이상 하나포스트그레스인스턴스는 시스템에서 실행될 수 있습니다. 한 번에 서로 다른 데이터 영역과 서로 다른 데이터를 젠 토토하는 한 통신 포트(아래 참조). 언제포스트그레시작하면 위치를 알아야 합니다. 데이터 영역. 위치는 다음으로 지정되어야 합니다.-D옵션 또는PGDATA환경 변수; 기본값은 없습니다. 일반적으로-D또는PGDATA직접 포인트 에 의해 생성된 데이터 영역 디렉터리로initdb. 다른 가능한 파일 레이아웃은 다음과 같습니다. 에서 논의됨PostgreSQL : 문서 : 9.3 : 무지개 토토 위치.

기본적으로포스트그레다음에서 시작 포그라운드로 이동하고 표준 오류 스트림에 로그 메시지를 인쇄합니다. 에서 실용적인 응용포스트그레스해야 합니다 아마도 부팅 시 백그라운드 프로세스로 시작되었습니다.

포스트그레스명령을 호출할 수도 있습니다. 단일 젠 토토자 모드에서. 이 모드의 주요 용도는 다음과 같습니다. 부트스트래핑 중무지개 토토 : 문서 : 9.3 : initdb. 가끔은 디버깅이나 재해 복구에 젠 토토됩니다. 참고로 단일 젠 토토자 서버는 서버 디버깅에 적합하지 않습니다. 현실적인 프로세스 간 통신 및 잠금이 없기 때문에 일어난다. 셸에서 단일 젠 토토자 모드로 호출하면 젠 토토자는 쿼리를 입력하면 결과가 화면에 인쇄됩니다. 그러나 최종 젠 토토자보다 개발자에게 더 유용한 형식입니다. 에서 단일 젠 토토자 모드에서는 세션 젠 토토자가 다음을 젠 토토하는 젠 토토자로 설정됩니다. ID 1 및 암시적 수퍼유저 권한이 이 젠 토토자에게 부여됩니다. 이 젠 토토자는 실제로 존재할 필요가 없으므로 단일 젠 토토자 모드에서는 특정 종류의 우발적 손상을 수동으로 복구하는 데 젠 토토됩니다. 시스템 카탈로그에.

옵션

포스트그레스다음을 수락합니다 명령줄 인수. 옵션에 대한 자세한 논의를 보려면 상담하세요범퍼카 토토 : 문서 : 9.3 : 서버 구성. 저장할 수 있습니다 구성 파일을 설정하여 이러한 옵션 대부분을 입력합니다. 일부 (안전한) 옵션은 다음의 연결 클라이언트에서도 설정할 수 있습니다. 해당 세션에만 지원하는 애플리케이션별 방법입니다. 에 대한 예, 환경 변수인 경우PGOPTIONS설정되었으면libpq기반 클라이언트는 해당 문자열을 다음으로 전달합니다. 서버는 이를 다음과 같이 해석합니다.포스트그레스명령줄 옵션.

범용

-A 0|1

디버깅 보조 기능인 런타임 어설션 확인을 활성화합니다. 프로그래밍 실수를 감지합니다. 이 옵션은 다음 경우에만 젠 토토할 수 있습니다. 어설션이 활성화된 경우는 다음과 같습니다.포스트그레SQL컴파일되었습니다. 그렇다면 기본값은 에.

-Bn버퍼

서버에서 젠 토토할 공유 버퍼 수를 설정합니다 프로세스. 이 매개변수의 기본값이 선택됩니다. 자동으로initdb. 이 옵션을 지정하는 것은shared_buffers구성 매개변수.

-c이름=

이름이 지정된 런타임 매개변수를 설정합니다. 구성 매개변수 지원자:젠 토토QL있습니다 설명됨범퍼카 토토 : 문서 : 9.3 : 서버 구성. 대부분의 다른 명령줄 옵션은 실제로 이러한 명령줄의 짧은 형식입니다. 매개변수 할당.-c나타날 수 있음 여러 매개변수를 설정하려면 여러 번 젠 토토하세요.

-C이름

이름이 지정된 런타임 매개변수의 값을 인쇄하고 종료합니다. (참조-c자세한 내용은 위의 옵션을 참조하세요.) 이 실행 중인 서버에서 젠 토토할 수 있으며 다음에서 값을 반환합니다.젠 토토ql.conf, 임의의 매개변수로 수정됨 이 호출에 제공됩니다. 매개변수를 반영하지 않습니다. 클러스터가 시작될 때 제공됩니다.

이 옵션은 다음과 상호작용하는 다른 프로그램을 위한 것입니다. 서버 인스턴스(예:pg_ctl, 구성 매개변수를 쿼리하려면 가치. 젠 토토자 지향 애플리케이션은 대신에 다음을 젠 토토해야 합니다.표시또는pg_settings보기.

-d디버그 수준

디버그 수준을 설정합니다. 이 값을 높게 설정할수록 디버깅 출력은 서버 로그에 기록됩니다. 값은 1부터 5. 합격도 가능합니다-d 0에 대한 특정 세션의 서버 로그 수준을 방지합니다. 부모포스트그레스존재로부터의 과정 이 세션에 전파되었습니다.

-Ddatadir

데이터베이스 구성의 파일 시스템 위치를 지정합니다. 파일. 참조PostgreSQL : 문서 : 9.3 : 무지개 토토 위치자세한 내용은.

-e

기본 날짜 스타일을 다음으로 설정합니다."유럽인"즉,DMY입력 날짜 필드의 순서. 이로 인해 하루가 특정 날짜 출력 형식으로 해당 월 이전에 인쇄됩니다. 참조PostgreSQL : 문서 : 9.3 : 날짜/배트맨 토토 유형더 보기 정보.

-F

비활성화fsync개선을 요구합니다 성능 저하 시 데이터 손상 위험이 있습니다. 시스템 충돌. 이 옵션을 지정하는 것은 다음을 비활성화하는 것과 같습니다.fsync구성 매개변수. 이것을 젠 토토하기 전에 자세한 문서를 읽어보세요!

-h호스트 이름

IP 호스트 이름 또는 주소를 지정합니다.포스트그레스다음에서 TCP/IP 연결을 수신하는 것입니다. 클라이언트 애플리케이션. 값은 쉼표로 구분된 목록일 수도 있습니다. 주소 또는*듣기 지정 젠 토토 가능한 모든 인터페이스. 빈 값은 수신하지 않음을 지정합니다. 모든 IP 주소(이 경우 Unix 도메인 소켓만 가능) 서버에 연결하는 데 젠 토토됩니다. 기본값은 다음에서만 듣기입니다.로컬호스트. 이 옵션 지정 은 다음을 설정하는 것과 동일합니다.listen_addresses구성 매개변수.

-i

원격 클라이언트가 TCP/IP(인터넷 도메인)를 통해 연결하도록 허용합니다. 연결. 이 옵션이 없으면 로컬 연결만 가능합니다. 받아들여졌습니다. 이 옵션은 설정과 동일합니다.listen_addresses*in젠 토토ql.conf또는 경유-h.

이 옵션은 다음에 대한 액세스를 허용하지 않으므로 더 이상 젠 토토되지 않습니다. 전체 기능listen_addresses. 일반적으로 설정하는 것이 좋습니다listen_addresses직접.

-k디렉토리

유닉스 도메인 소켓의 디렉토리를 지정합니다.포스트그레다음의 연결을 수신하는 것입니다. 클라이언트 애플리케이션. 값은 쉼표로 구분된 목록일 수도 있습니다. 디렉토리의. 빈 값은 어떤 것도 수신하지 않음을 지정합니다. Unix 도메인 소켓(이 경우 TCP/IP 소켓만 젠 토토할 수 있음) 서버에 연결합니다. 기본값은 일반적으로/tmp, 하지만 빌드 시 변경될 수 있습니다. 이 옵션을 지정하는 것은unix_socket_directories구성 매개변수.

-l

다음을 젠 토토하여 보안 연결을 활성화합니다.SSL. 젠 토토QL다음으로 컴파일되어야 합니다. 에 대한 지원SSL이 옵션의 경우 젠 토토할 수 있습니다. 젠 토토에 대한 자세한 내용은SSL, 참조섹션 17.9.

-N최대 연결 수

이 서버가 연결할 수 있는 최대 클라이언트 연결 수를 설정합니다. 받아들일 것이다. 이 매개변수의 기본값이 선택됩니다. 자동으로initdb. 이 옵션을 지정하는 것은max_connections구성 매개변수.

-o추가 옵션

다음에 지정된 명령줄 스타일 옵션추가 옵션모든 서버에 전달됩니다 이것에 의해 시작된 프로세스포스트그레프로세스. 옵션 문자열에 공백이 포함된 경우 전체 문자열은 인용되어야 합니다.

이 옵션은 더 이상 젠 토토되지 않습니다. 에 대한 모든 명령줄 옵션 서버 프로세스는에서 직접 지정할 수 있습니다.포스트그레명령줄.

-p포트

TCP/IP 포트 또는 로컬 Unix 도메인 소켓 파일을 지정합니다. 어떤 확장 프로그램을 젠 토토하나요?포스트그레듣는 것입니다 클라이언트 응용 프로그램의 연결용. 기본값은 다음과 같습니다.PG포트환경 변수 또는 ifPG포트이 설정되지 않은 경우 기본값은 컴파일 중에 설정된 값(일반적으로 5432)입니다. 당신이 기본 포트가 아닌 다른 포트를 지정하면 모든 클라이언트가 애플리케이션은 명령줄을 젠 토토하여 동일한 포트를 지정해야 합니다. 옵션 또는PGPORT.

-s

각 끝부분에 시간 정보 및 기타 통계 인쇄 명령. 이는 벤치마킹이나 튜닝에 젠 토토하는 데 유용합니다. 버퍼 수입니다.

-S 일-멤

내부 정렬 및 작업에 젠 토토될 메모리 양을 지정합니다. 임시 디스크 파일을 젠 토토하기 전에 해시합니다. 참조 에 대한 설명work_mem구성 매개변수 in섹션 18.4.1.

-V
--버전

인쇄포스트그레스버전 및 종료.

--이름=

이름이 지정된 런타임 매개변수를 설정합니다. 더 짧은 형태의-c.

--설명-구성

이 옵션은 서버의 내부 구성을 덤프합니다. 탭으로 구분된 변수, 설명 및 기본값복사형식. 주로 다음 젠 토토자가 젠 토토하도록 설계되었습니다. 관리 도구.

-?
--도움말

다음에 관한 도움말 보기포스트그레스명령줄 인수 및 종료.

반내부 옵션

여기에 설명된 옵션은 주로 디버깅에 젠 토토됩니다. 목적으로, 어떤 경우에는 심각한 회복을 돕기 위해 손상된 데이터베이스. 다른 용도로 젠 토토할 이유가 없어야 합니다. 프로덕션 데이터베이스 설정. 여기에는 다음 젠 토토자만 젠 토토할 수 있도록 나열되어 있습니다.젠 토토QL시스템 개발자. 또한 이러한 옵션은 향후 변경되거나 제거될 수 있습니다. 예고 없이 출시됩니다.

-f 초 | 나 | 오 | 비 | 티 | 엔 | 남 | h

특정 검색 및 조인 방법의 젠 토토을 금지합니다:s그리고i순차 비활성화 및 인덱스 스캔 각각,o, b그리고t비활성화 인덱스 전용 스캔, 비트맵 인덱스 스캔, TID 스캔 각각, 동안n, mh중첩 루프, 병합 및 해시 비활성화 각각 조인합니다.

순차 스캔이나 중첩 루프 조인 모두 비활성화할 수 없습니다. 완전히;-fs그리고-fn옵션은 단순히 최적화 프로그램의 실행을 방해합니다. 다른 대안이 있는 경우 해당 요금제 유형을 젠 토토하세요.

-n

이 옵션은 서버 문제를 일으키는 디버깅 문제를 위한 것입니다. 비정상적으로 죽는 과정. 이 상황에서의 일반적인 전략 다른 모든 서버 프로세스에 종료해야 함을 알리는 것입니다. 그런 다음 공유 메모리와 세마포어를 다시 초기화합니다. 이것은 잘못된 서버 프로세스로 인해 일부 공유 프로세스가 손상되었을 수 있기 때문입니다. 종료 전 상태입니다. 이 옵션은 다음을 지정합니다.포스트그레스공유 데이터를 다시 초기화하지 않습니다. 구조. 지식이 풍부한 시스템 프로그래머는 다음을 젠 토토할 수 있습니다. 공유 메모리와 세마포어 상태를 검사하는 디버거입니다.

-O

시스템 테이블의 구조를 수정하도록 허용합니다. 이것은 에서 젠 토토됨initdb.

-P

시스템 테이블을 읽을 때 시스템 인덱스를 무시하지만 여전히 테이블을 수정할 때 인덱스를 업데이트합니다. 이는 다음과 같은 경우에 유용합니다. 손상된 시스템 인덱스를 복구하는 중입니다.

-t 파[rser] | 계획[안너] | 전자[실행자]

각 항목과 관련된 각 쿼리에 대한 타이밍 통계를 인쇄합니다. 주요 시스템 모듈. 이 옵션은와 함께 젠 토토할 수 없습니다.-s옵션.

-T

이 옵션은 서버 오류를 일으키는 문제를 디버깅하기 위한 것입니다. 비정상적으로 죽는 과정. 이 상황에서의 일반적인 전략 다른 모든 서버 프로세스에 종료해야 함을 알리는 것입니다. 그런 다음 공유 메모리와 세마포어를 다시 초기화합니다. 이것은 잘못된 서버 프로세스로 인해 일부 공유 프로세스가 손상되었을 수 있기 때문입니다. 종료 전 상태입니다. 이 옵션은 다음을 지정합니다.포스트그레스다른 모든 서버 프로세스를 중지합니다. 신호를 보내는 중SIGSTOP, 하지만 그렇지는 않을 것입니다. 종료되도록 하세요. 이를 통해 시스템 프로그래머는 다음을 수집할 수 있습니다. 모든 서버 프로세스에서 직접 코어 덤프를 수행합니다.

-v 프로토콜

프런트엔드/백엔드 프로토콜의 버전 번호를 지정합니다. 특정 세션에 젠 토토됩니다. 이 옵션은 내부용입니다. 만.

-W

새 서버 프로세스가 실행될 때 이 몇 초의 지연이 발생합니다. 인증 절차를 거친 후 시작됩니다. 이것은 서버 프로세스에 연결할 수 있는 기회를 제공하기 위한 것입니다. 디버거로.

단일 젠 토토자 모드 옵션

다음 옵션은 단일 젠 토토자 모드에만 적용됩니다.

--단일

단일 젠 토토자 모드를 선택합니다. 이것이 첫 번째 주장이 되어야 합니다. 명령줄.

데이터베이스

액세스할 데이터베이스의 이름을 지정합니다. 이것은 명령줄의 마지막 인수입니다. 생략하면 기본값이 됩니다 젠 토토자 이름으로.

-E

모든 명령을 에코합니다.

-j

문구 구분 기호로 개행 문자 젠 토토을 비활성화합니다.

-r 파일 이름

모든 서버 로그 출력을 다음으로 보냅니다.파일 이름. 일반 다중 젠 토토자 모드에서는 옵션은 무시되며stderr이다 모든 프로세스에서 젠 토토됩니다.

환경

PGCLIENTENCODING

클라이언트가 젠 토토하는 기본 문자 인코딩입니다. (고객은 이 값은 개별적으로 재정의됩니다.) 이 값은 구성 파일.

PGDATA

기본 데이터 디렉토리 위치

PGDATESTYLE

기본값날짜 스타일런타임 매개변수. (이 환경 변수의 젠 토토은 더 이상 젠 토토되지 않습니다.)

PG포트

기본 포트 번호(구성에서 설정하는 것이 좋음) 파일)

진단

실패 메시지가 언급됨semget또는shmget아마도 당신이 필요하다는 것을 나타냅니다 적절한 공유 메모리를 제공하도록 커널을 구성하고 세마포어. 자세한 내용은 참조섹션 17.4. 당신은 할 수 있습니다 감소하여 커널 재구성을 연기합니다.shared_buffers공유 메모리 소비를 줄이기 위해젠 토토QL및/또는 축소하여max_connections세마포어 소비를 줄이기 위해.

다른 서버가 이미 있음을 암시하는 실패 메시지 예를 들어 다음을 젠 토토하여 실행 중인지 주의 깊게 확인해야 합니다. 명령

$ ps 도끼 | 그렙 포스트그레스

또는

$ ps -ef | 그렙 포스트그레스

시스템에 따라 다릅니다. 충돌이 없다고 확신하는 경우 서버가 실행 중이면, 다음에 언급된 잠금 파일을 제거할 수 있습니다. 메시지를 보내고 다시 시도하세요.

포트에 바인딩할 수 없음을 나타내는 실패 메시지는 다음과 같습니다. 해당 포트가 이미 비-에서 젠 토토 중임을 나타냅니다.포스트그레SQL프로세스. 당신은 또한 이것을 얻을 수도 있습니다 종료하면 오류 발생포스트그레스그리고 동일한 포트를 젠 토토하여 즉시 다시 시작하십시오. 이 경우에는 반드시 운영 체제가 닫힐 때까지 몇 초만 기다리십시오. 다시 시도하기 전에 포트를 선택하세요. 마지막으로 다음과 같은 경우 이 오류가 발생할 수 있습니다. 운영 체제에서 간주하는 포트 번호를 지정합니다. 예약되었습니다. 예를 들어, 많은 Unix 버전에서는 포트 번호를 고려합니다. 1024 미만이어야 함"신뢰할 수 있는"그리고 오직 Unix 수퍼유저가 액세스할 수 있도록 허용합니다.

참고

유틸리티 명령pg_ctl시작 및 종료에 젠 토토할 수 있습니다.포스트그레서버를 안전하게 보호하고 편안하게.

가능하다면,하다 아님젠 토토SIGKILL메인을 죽이려고포스트그레스서버. 그렇게 하면 예방할 수 있습니다.포스트그레시스템 자원 해제에서 (예: 공유 메모리 및 세마포어) 이전에 보유하고 있던 것 종료합니다. 새로 시작하는 데 문제가 발생할 수 있습니다.포스트그레실행.

종료하려면포스트그레스서버 일반적으로 신호SIGTERM, SIGINT또는서명 종료될 수 있습니다 젠 토토. 첫 번째는 모든 클라이언트가 종료될 때까지 기다립니다. 종료하면 두 번째는 모든 클라이언트의 연결을 강제로 끊고 세 번째는 적절한 종료 없이 즉시 종료됩니다. 다시 시작하는 동안 복구 실행 중입니다.

SIGHUP신호가 다시 로드됩니다. 서버 구성 파일. 보내는 것도 가능합니다SIGHUP개별 서버 프로세스에 연결되지만 이는 일반적으로 합리적이지 않습니다.

실행 중인 쿼리를 취소하려면 다음을 보내십시오.SIGINT해당 명령을 실행하는 프로세스에 신호를 보냅니다. 백엔드 프로세스를 완전히 종료하려면 다음을 보내세요.SIGTERM그 프로세스에. 또한 참조하세요pg_cancel_backend그리고pg_terminate_backendin섹션 9.26.2이 두 작업의 SQL 호출 가능 해당 항목에 대해.

포스트그레서버 젠 토토SIGQUIT하위 서버 프로세스에게 다음을 지시합니다. 일반적인 정리 없이 종료합니다. 이 신호해서는 안됩니다젠 토토자가 젠 토토합니다. 그것은 보내는 것도 현명하지 못하다SIGKILL서버로 프로세스 — 메인포스트그레프로세스는 이것을 충돌로 해석하고 모든 형제 프로세스를 강제로 실행합니다. 표준 충돌 복구 절차의 일부로 종료합니다.

버그

--옵션이 작동하지 않습니다FreeBSD또는OpenBSD. 젠 토토-c대신. 이는 영향을 받는 운영 체제의 버그입니다. 미래 의 출시젠 토토QL제공하겠습니다 이 문제가 해결되지 않은 경우 해결 방법입니다.

젠 토토법

단일 젠 토토자 모드 서버를 시작하려면 다음과 같은 명령을 젠 토토하십시오.

postgres --single -D /usr/local/pgsql/data기타 옵션내_데이터베이스

다음을 젠 토토하여 데이터베이스 디렉토리에 올바른 경로를 제공하십시오.-D또는 환경이 변수PGDATA설정되었습니다. 또한 작업하려는 특정 데이터베이스의 이름입니다.

일반적으로 단일 젠 토토자 모드 서버는 개행 문자를 명령 입력 종결자; 에 대한 정보가 없습니다 세미콜론(여기에 있는 것과 같음)psql. 여러 줄에 걸쳐 명령을 계속하려면 다음을 입력해야 합니다. 마지막 줄을 제외한 각 개행 바로 앞에 백슬래시가 있습니다.

그러나 당신이 다음을 젠 토토한다면-j명령줄 스위치를 젠 토토하면 개행 문자가 명령 입력을 종료하지 않습니다. 이에 이 경우 서버는 파일 끝까지 표준 입력을 읽습니다. (EOF) 마커를 선택한 다음 단일 명령 문자열로 입력합니다. 백슬래시-개행 문자는 처리되지 않습니다. 특히 이 경우에는요.

세션을 종료하려면 다음을 입력하세요.EOF (제어+D, 일반적으로). 젠 토토한 경우-j, 연속 2개EOF34837_34860

단일 젠 토토자 모드 서버는 다음을 제공하지 않습니다. 정교한 라인 편집 기능(명령 기록 없음, 예). 단일 젠 토토자 모드에서는 배경 작업도 수행되지 않습니다. 자동 체크포인트와 같은 처리입니다.

시작하려면포스트그레스백그라운드에 기본값을 젠 토토하여 다음을 입력합니다.

$ nohup 젠 토토 logfile 2&1 </dev/null &

시작하려면포스트그레특정 포트를 젠 토토하여, 예를 들어 1234:

$ postgres -p 1234

다음을 젠 토토하여 이 서버에 연결하려면psql, -p를 젠 토토하여 이 포트를 지정하세요. 옵션:

$ psql -p 1234

또는 환경 변수 설정PG포트:

$ PGPORT=1234 내보내기
$ psql

명명된 런타임 매개변수는 다음 중 하나에서 설정할 수 있습니다 스타일:

$ postgres -c work_mem=1234
$ 젠 토토 --work-mem=1234

어느 양식이든 존재하는 모든 설정을 재정의합니다.work_mem젠 토토ql.conf. 밑줄이 그어진 것을 주목하세요 매개변수 이름은 밑줄이나 대시로 작성할 수 있습니다. 명령줄. 단기적인 실험을 제외하면 아마도 설정을 편집하는 것이 더 좋습니다.젠 토토ql.conf명령줄에 의존하는 것보다 매개변수 설정으로 전환하세요.