범퍼카 토토 [-Bnbuffers] [-dDatadir] [-nMaxbackends] [-s] [-D디버그 레벨] [-i] [-l] [-OBackendOptions] [-p포트] [-n | -S]
범퍼카 토토다음 명령 줄 인수 :
|범퍼카 토토할당 할 시작하는 백엔드 서버 프로세스에서 사용합니다. 이것 값 기본값은 64 개의 버퍼로, 각 버퍼는 8K 바이트입니다. (또는 src/include/config.h로 설정된 BLCKSZ).
나무의 근본으로 사용할 디렉토리를 지정합니다. 데이터베이스 디렉토리의. -D가 제공되지 않으면 기본값입니다 데이터 디렉토리 이름은 환경의 값입니다 변하기 쉬운pgdata. 만약에pgdata가 설정되지 않았고 사용 된 디렉토리는입니다.$ postgreshome/data. 둘 다 환경 변수가 설정되어 있으며이 명령 줄 옵션은 다음과 같습니다 지정되지 않은 경우 설정된 기본 디렉토리입니다 컴파일 타임이 사용됩니다.
최대 백엔드 서버 프로세스 수를 설정합니다 이 우체국 장은 시작할 수 있습니다. 기본적 으로이 값 32이지만 시스템이라면 1024로 설정할 수 있습니다. 많은 프로세스를 지원할 것입니다. (-B가 필요합니다 적어도 두 번 -n이므로 -B를 증가시켜야합니다. 당신은 -n.) 기본값과 상한 값을 모두 증가시킵니다. 구축 할 때 -n을 변경할 수 있습니다Postgres(참조 src/conlude/config.h).
범퍼카 토토프로세스가 시작되어야합니다 침묵 모드. 즉, 사용자와 분리 할 것입니다 (제어) tty, 자체 프로세스 그룹을 시작하고 표준 출력 및 표준 오류를로 리디렉션합니다./dev/null.
note이 스위치 사용 문제를 해결하기가 매우 어렵습니다 일반적으로 생성되는 추적 및 로깅 출력 이 우체국 장과 그 아이의 백엔드는 될 것입니다 폐기.
백엔드의 디버깅 출력량을 결정합니다 서버가 생성됩니다. 만약에디버그 레벨는 우체국 장입니다 모든 연결 트래픽을 추적합니다. 레벨 2 이상 백엔드에서 늘리는 디버그 출력을 켜십시오. 프로세스 및 우체국 장은 더 많은 정보를 표시합니다 백엔드 환경 및 프로세스 트래픽 포함. 메모 우체국의 표준 출력 및 표준이 아니라면 오류는 로그 파일로 리디렉션 되며이 모든 출력은 제어의 tty에 나타납니다범퍼카 토토.
클라이언트가 TCP/IP (인터넷 도메인)를 통해 연결할 수 있습니다. 사이. 이 옵션이 없으면 로컬 UNIX 도메인 만 있습니다 소켓 연결이 허용됩니다.
SSL을 사용하여 보안 연결을 활성화합니다. 그만큼-i옵션도 필요합니다. 당신은 있어야합니다 이 옵션을 사용할 수 있도록 SSL을 사용하여 컴파일되었습니다.
thePostgres옵션 (S) 지정BackendOptionsthis에서 시작한 모든 백엔드 서버 프로세스로 전달됩니다범퍼카 토토. 옵션 인 경우 문자열에는 모든 공간이 포함되어 있으므로 전체 문자열이 있어야합니다 인용.
TCP/IP 포트 또는 로컬 UNIX 도메인 소켓을 지정합니다 파일 확장자범퍼카 토토들을 수 있습니다 프론트 엔드 애플리케이션의 연결. 기본값 의 가치pgport환경 변수 또는 ifpgport설정되지 않았습니다. 그런 다음 Postgres가있을 때 설정된 값으로 기본값을 얻습니다 편집 (일반적으로 5432). 다른 포트를 지정하는 경우 기본 포트 다음 모든 프론트 엔드 애플리케이션 (포함PSQL)를 지정해야합니다 명령 줄 옵션을 사용하는 동일한 포트 또는pgport.
두 가지 추가 명령 줄 옵션을 사용할 수 있습니다 백엔드가 비정상적으로 죽게하는 디버깅 문제. 이 옵션은의 동작을 제어합니다.범퍼카 토토이 상황에서어느 옵션도 사용하기위한 것입니다 일반 작업.
이 상황의 일반적인 전략은 모든 것을 알리는 것입니다. 다른 뒷면은 그들이 종료 한 다음 다시 구체화해야합니다 공유 메모리와 세마포어. 이것은 잘못 되었기 때문입니다 백엔드는 이전에 일부 공유 상태를 손상시킬 수있었습니다 종료.
이 특수 사례 옵션은 다음과 같습니다.
범퍼카 토토그렇지 않습니다 공유 데이터 구조를 재 윤리화합니다. 지식이 풍부한 시스템 그런 다음 프로그래머는 디버거를 사용하여 공유 메모리를 검사 할 수 있습니다. 그리고 세마포어 상태.
범퍼카 토토멈출 것입니다 신호를 전송하여 다른 모든 백엔드 프로세스SIGSTOP이지만 원인은 아닙니다 종료합니다. 이를 통해 시스템 프로그래머가 수집 할 수 있습니다 모든 백엔드 프로세스의 핵심 덤프 직접.
이 메시지가 표시되면를 실행해야합니다.ipcclean명령. 그렇게하면 시도하십시오 시작범퍼카 토토다시. 이것이 여전히 작동하지 않으면 아마도 구성해야 할 것입니다. 설명대로 공유 메모리 및 세마포어에 대한 커널 설치 메모에서. 여러 인스턴스를 실행하는 경우범퍼카 토토단일 호스트 또는 특히 작은 공유 커널이 있습니다 메모리 및/또는 세마포어 한계는 재구성해야 할 수도 있습니다 공유 메모리 또는 세마포어를 증가시키는 커널 매개 변수.
팁 :재구성을 연기 할 수 있습니다 감소하여 감소하여 커널을 줄이면Postgres' 공유 메모리 소비, 및/또는 포스트 그레의 세마포어를 줄이기 위해 -n을 줄임으로써 소비.
이 메시지가 보이면 확인해야합니다. 다른 것이 없습니다범퍼카 토토프로세스가 이미 실행 중입니다 동일한 포트 번호. 이것을 결정하는 가장 쉬운 방법은입니다 명령을 사용하여
% ps -ax | grep 범퍼카 토토BSD 기반 시스템에서 또는
% ps -e | grep postmastHP-ux와 같은 시스템 V- 유사 또는 POSIX 호환 시스템의 경우
다른 사람이 없다면범퍼카 토토프로세스가 실행 중입니다 여전히이 오류가 발생하고 다른 포트를 지정해보십시오. 사용 사용-p옵션. 당신도 할 수도 있습니다 이 오류를 받으십시오.범퍼카 토토즉시 다시 시작하십시오 동일한 포트 사용; 이 경우 간단히 기다려야합니다 운영 체제가 포트를 닫을 때까지 몇 초 다시 시도하기 전에. 마지막으로,이 오류가 발생할 수 있습니다 운영 체제가 고려한 포트 번호를 지정하십시오 예약됩니다. 예를 들어, 많은 버전의 유닉스가 고려합니다 1024 미만의 포트 번호신뢰할 수있는UNIX 슈퍼 유저 만 허용합니다 그들에게 접근하려면.
아마도 다른 사용자가 시도했다는 설명입니다 시작범퍼카 토토프로세스 공유 자원을 인수 한 동일한 포트에서 죽었다. Postgres 공유 메모리 키는 다음을 기반으로합니다 에 할당 된 포트 번호범퍼카 토토, 그러한 갈등은 가능합니다 단일 호스트에 둘 이상의 설치가있는 경우. 만약에 다른 것이 없습니다범퍼카 토토현재 실행 중입니다 (위 참조), runipcclean그리고 다시 시도하십시오. 다른 경우범퍼카 토토이미지가 실행 중입니다 해당 프로세스의 소유자를 찾아야합니다. 포트 번호의 할당 및/또는 제거를 조정하십시오 사용하지 않은 공유 메모리 세그먼트
범퍼카 토토프론트 엔드와 백엔드 프로세스 간의 커뮤니케이션뿐만 아니라 공유 버퍼 풀 및 SYSV 세마포어를 할당합니다 (on 테스트 및 세트 명령이없는 기계).범퍼카 토토자체와 상호 작용하지 않습니다 사용자는 백그라운드 프로세스로 시작해야합니다.
한 명의 우체국 장만 a에서 실행해야합니다 주어진 시간Postgres설치.여기, 설치는 데이터베이스를 의미합니다 디렉토리 및범퍼카 토토포트 숫자. 컴퓨터에서 한 명 이상의 우체국 장을 실행할 수 있습니다. 각각은 별도의 디렉토리와 포트 번호가 있습니다.
가능한 모든 경우do notuseSigkill죽일 때범퍼카 토토. Sighup, Sigint또는Sigterm(기본 신호킬(1)) "대신 사용해야합니다. 사용
% Kill -kill또는 대체 양식
% 킬 -9방지범퍼카 토토시스템 리소스 무료 (예 : 공유 메모리 및 세마포어) 죽기 전에 유지됩니다. 사용Sigterm대신 수동으로 정리하지 않아도됩니다 (설명대로 더 일찍).
공유 메모리 문제를 처리하기위한 유용한 유틸리티 포함하다IPCS (1), ipcrm (1) 및ipcclean (1).
시작하려면범퍼카 토토사용 기본값, 유형 :
% nohup 범퍼카 토토 logfile 2 & 1 &이 명령이 시작됩니다범퍼카 토토기본 포트 (5432). 이것은 시작하는 가장 단순하고 가장 일반적인 방법범퍼카 토토.
시작하려면범퍼카 토토특정 포트 :
% nohup postmaster -p 1234 &이 명령이 시작됩니다범퍼카 토토포트를 통한 통신 1234. 이것에 연결하기 위해범퍼카 토토PSQL을 사용하면 실행해야합니다 그것은로
% PSQL -P 1234또는 환경 변수 설정pgport:
% setenv pgport 1234 % psql