| 롤 토토 : 문서 : 9.5 : | |||
|---|---|---|---|
| postgresql : 문서 : 9.5 : 토토 사이트 | 사설 토토 : 문서 : 9.5 : 사설 토토 서버 응용 프로그램 | 토토 커뮤니티 : 문서 : 9.5 : Postmaster | |
포스트그레스이것은롤 토토QL데이터베이스 서버. 클라이언트 애플리케이션이 데이터베이스에 액세스하기 위해 (네트워크를 통해 또는 로컬로) 실행 중인 애플리케이션에 연결됩니다.포스트그레인스턴스.포스트그레스인스턴스는 연결을 처리하기 위해 별도의 서버 프로세스를 시작합니다.
하나포스트그레스인스턴스는 항상 정확히 하나의 데이터베이스 클러스터의 데이터를 관리합니다. 데이터베이스 클러스터는 공통 파일 시스템 위치("데이터 영역"). 둘 이상포스트그레인스턴스는 서로 다른 데이터 영역과 서로 다른 통신 포트를 롤 토토하는 한 시스템에서 동시에 실행될 수 있습니다(아래 참조). 언제포스트그레시작하면 데이터 영역의 위치를 알아야 합니다. 위치는 다음으로 지정되어야 합니다.-D옵션 또는PGDATA환경 변수; 기본값은 없습니다. 일반적으로-D또는PGDATA다음에 의해 생성된 데이터 영역 디렉토리를 직접 가리킵니다.사설 토토 사이트 PostgreSQL : 문서 : 9.5 : initdb. 다른 가능한 파일 레이아웃은 다음에서 논의됩니다.PostgreSQL : 문서 : 9.5 : 스포츠 토토 결과 위치.
기본적으로포스트그레포그라운드에서 시작하여 표준 오류 스트림에 로그 메시지를 인쇄합니다. 실제 적용에서포스트그레스아마도 부팅 시 백그라운드 프로세스로 시작되어야 합니다.
그포스트그레스명령은 단일 롤 토토자 모드에서도 호출할 수 있습니다. 이 모드의 주요 용도는 다음으로 부트스트랩하는 동안입니다.사설 토토 사이트 PostgreSQL : 문서 : 9.5 : initdb. 때로는 디버깅이나 재해 복구에 롤 토토되기도 합니다. 단일 롤 토토자 서버를 실행하는 것은 실제로 프로세스 간 통신 및 잠금이 발생하지 않기 때문에 서버 디버깅에 적합하지 않습니다. 셸에서 단일 롤 토토자 모드로 호출하면 롤 토토자가 쿼리를 입력할 수 있고 결과가 화면에 인쇄되지만 최종 롤 토토자보다 개발자에게 더 유용한 형식입니다. 단일 롤 토토자 모드에서는 세션 롤 토토자가 ID 1의 롤 토토자로 설정되고 이 롤 토토자에게 암시적 수퍼유저 권한이 부여됩니다. 이 롤 토토자는 실제로 존재할 필요가 없으므로 단일 롤 토토자 모드를 롤 토토하여 시스템 카탈로그에 대한 특정 종류의 우발적인 손상을 수동으로 복구할 수 있습니다.
포스트그레스다음 명령줄 인수를 허용합니다. 옵션에 대한 자세한 내용은 문의하세요.토토 사이트 : 문서 : 9.5 : 서버 구성. 구성 파일을 설정하면 대부분의 옵션 입력을 줄일 수 있습니다. 일부 (안전한) 옵션은 해당 세션에만 적용하기 위해 응용 프로그램에 따른 방식으로 연결 클라이언트에서 설정할 수도 있습니다. 예를 들어, 환경 변수가PGOPTIONS설정되었으면libpq기반 클라이언트는 해당 문자열을 서버에 전달하고 서버는 이를 다음과 같이 해석합니다.포스트그레스명령줄 옵션.
서버 프로세스에서 롤 토토할 공유 버퍼 수를 설정합니다. 이 매개변수의 기본값은 다음에서 자동으로 선택됩니다.initdb. 이 옵션을 지정하는 것은shared_buffers구성 매개변수.
이름이 지정된 런타임 매개변수를 설정합니다. 에서 지원하는 구성 매개변수포스트그레SQL다음에 설명되어 있습니다.토토 사이트 : 문서 : 9.5 : 서버 구성. 다른 명령줄 옵션의 대부분은 실제로 이러한 매개변수 할당의 짧은 형식입니다.-c여러 매개변수를 설정하기 위해 여러 번 나타날 수 있습니다.
이름이 지정된 런타임 매개변수의 값을 인쇄하고 종료합니다. (참조-c자세한 내용은 위 옵션을 참조하세요.) 이는 실행 중인 서버에서 롤 토토할 수 있으며 다음에서 값을 반환합니다.롤 토토ql.conf, 이 호출에 제공된 매개변수로 수정됩니다. 클러스터가 시작될 때 제공된 매개변수는 반영되지 않습니다.
이 옵션은 다음과 같이 서버 인스턴스와 상호작용하는 다른 프로그램을 위한 것입니다.pg_ctl, 구성 매개변수 값을 쿼리합니다. 롤 토토자 지향 애플리케이션은 대신에 다음을 롤 토토해야 합니다.PostgreSQL : 문서 : 9.5 : 범퍼카 토토또는pg_settings보기.
디버그 수준을 설정합니다. 이 값을 높게 설정할수록 더 많은 디버깅 출력이 서버 로그에 기록됩니다. 값은 1부터 5까지입니다. 통과도 가능합니다-d 0특정 세션의 경우 상위 서버 로그 수준을 방지합니다.포스트그레스프로세스가 이 세션으로 전파되지 않습니다.
데이터베이스 구성 파일의 파일 시스템 위치를 지정합니다. 참조PostgreSQL : 문서 : 9.5 : 스포츠 토토 결과 위치자세한 내용은.
기본 날짜 스타일을 다음으로 설정합니다."유럽인"즉,DMY입력 날짜 필드의 순서. 이로 인해 특정 날짜 출력 형식에서 해당 월 이전의 날짜가 인쇄됩니다. 참조PostgreSQL : 문서 : 9.5 : 날짜/스포츠 토토 유형더 많은 정보를 원하시면.
비활성화fsync시스템 충돌 시 데이터 손상 위험을 감수하고 성능 향상을 요구합니다. 이 옵션을 지정하는 것은 다음을 비활성화하는 것과 같습니다.fsync구성 매개변수. 이것을 롤 토토하기 전에 자세한 문서를 읽어보세요!
IP 호스트 이름 또는 주소를 지정합니다.포스트그레스클라이언트 응용프로그램의 TCP/IP 연결을 수신하는 것입니다. 값은 쉼표로 구분된 주소 목록일 수도 있습니다. 또는*롤 토토 가능한 모든 인터페이스에서 청취를 지정합니다. 빈 값은 IP 주소를 수신하지 않도록 지정하며, 이 경우 Unix 도메인 소켓만 서버에 연결하는 데 롤 토토할 수 있습니다. 기본값은 다음에서만 듣기입니다.로컬호스트. 이 옵션을 지정하는 것은listen_addresses구성 매개변수.
원격 클라이언트가 TCP/IP(인터넷 도메인) 연결을 통해 연결할 수 있도록 허용합니다. 이 옵션이 없으면 로컬 연결만 허용됩니다. 이 옵션은 설정과 동일합니다.listen_addresses에*에롤 토토ql.conf또는 경유-h.
이 옵션은 다음의 전체 기능에 대한 액세스를 허용하지 않으므로 더 이상 롤 토토되지 않습니다.listen_addresses. 일반적으로 설정하는 것이 좋습니다listen_addresses직접.
유닉스 도메인 소켓의 디렉토리를 지정합니다.포스트그레클라이언트 응용프로그램의 연결을 수신하는 것입니다. 값은 쉼표로 구분된 디렉터리 목록일 수도 있습니다. 빈 값은 Unix 도메인 소켓을 수신하지 않도록 지정하며, 이 경우 TCP/IP 소켓만 서버에 연결하는 데 롤 토토할 수 있습니다. 기본값은 일반적으로/tmp, 하지만 빌드 시 변경될 수 있습니다. 이 옵션을 지정하는 것은unix_socket_directories구성 매개변수.
다음을 롤 토토하여 보안 연결을 활성화합니다.SSL. 롤 토토QL다음을 지원하도록 컴파일되어야 합니다.SSL이 옵션을 롤 토토할 수 있습니다. 롤 토토에 대한 자세한 내용은SSL, 참조섹션 17.9.
이 서버가 허용할 최대 클라이언트 연결 수를 설정합니다. 이 매개변수의 기본값은 다음에서 자동으로 선택됩니다.initdb. 이 옵션을 지정하는 것은max_connections구성 매개변수.
다음에 지정된 명령줄 스타일 인수추가 옵션이에 의해 시작된 모든 서버 프로세스에 전달됩니다.포스트그레스프로세스.
내부 공백추가 옵션백슬래시()로 이스케이프하지 않는 한 별도의 인수로 간주됩니다.\); 쓰다\\문자 그대로 백슬래시를 나타냅니다. 여러 인수를 여러 번 롤 토토하여 지정할 수도 있습니다.-o.
이 옵션은 더 이상 롤 토토되지 않습니다. 서버 프로세스에 대한 모든 명령줄 옵션은 다음에서 직접 지정할 수 있습니다.포스트그레명령줄.
TCP/IP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정합니다.포스트그레클라이언트 응용프로그램의 연결을 수신하는 것입니다. 기본값은PGPORT환경 변수 또는 ifPG포트이 설정되지 않은 경우 기본값은 컴파일 중에 설정된 값(일반적으로 5432)입니다. 기본 포트가 아닌 다른 포트를 지정하는 경우 모든 클라이언트 애플리케이션은 명령줄 옵션 또는PGPORT.
각 명령 끝에 시간 정보와 기타 통계를 인쇄합니다. 이는 벤치마킹이나 버퍼 수 조정에 유용합니다.
임시 디스크 파일을 롤 토토하기 전에 내부 정렬 및 해시에서 롤 토토할 메모리 양을 지정합니다. 설명을 참조하세요.work_mem구성 매개변수섹션 18.4.1.
인쇄포스트그레스버전 및 종료.
이름이 지정된 런타임 매개변수를 설정합니다. 더 짧은 형태의-c.
이 옵션은 탭으로 구분된 서버의 내부 구성 변수, 설명 및 기본값을 덤프합니다.복사형식. 주로 관리 도구에서 롤 토토하도록 설계되었습니다.
다음에 관한 도움말 표시포스트그레스명령줄 인수 및 종료.
여기에 설명된 옵션은 주로 디버깅 목적으로 롤 토토되며 일부 경우 심각하게 손상된 데이터베이스의 복구를 지원하는 데 롤 토토됩니다. 프로덕션 데이터베이스 설정에서 이를 롤 토토할 이유가 없습니다. 여기에는 다음 롤 토토자만 롤 토토할 수 있도록 나열되어 있습니다.롤 토토QL시스템 개발자. 또한 이러한 옵션은 향후 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다.
특정 검색 및 조인 방법의 롤 토토을 금지합니다:s그리고i순차 스캔과 인덱스 스캔을 각각 비활성화합니다.o, b그리고t인덱스 전용 스캔, 비트맵 인덱스 스캔 및 TID 스캔을 각각 비활성화하는 동시에n, m및h중첩 루프, 병합 및 해시 조인을 각각 비활성화합니다.
순차 스캔이나 중첩 루프 조인 모두 완전히 비활성화할 수 없습니다. 그만큼-fs그리고-fn옵션은 다른 대안이 있는 경우 최적화 프로그램이 해당 계획 유형을 롤 토토하지 못하도록 막습니다.
이 옵션은 서버 프로세스가 비정상적으로 종료되는 문제를 디버깅하기 위한 것입니다. 이 상황의 일반적인 전략은 다른 모든 서버 프로세스에 종료하고 공유 메모리와 세마포어를 다시 초기화해야 함을 알리는 것입니다. 이는 잘못된 서버 프로세스가 종료되기 전에 일부 공유 상태를 손상시켰을 수 있기 때문입니다. 이 옵션은 다음을 지정합니다.포스트그레공유 데이터 구조를 다시 초기화하지 않습니다. 지식이 풍부한 시스템 프로그래머는 디버거를 롤 토토하여 공유 메모리와 세마포어 상태를 검사할 수 있습니다.
시스템 테이블의 구조를 수정하도록 허용합니다. 이것은 다음에서 롤 토토됩니다.initdb.
시스템 테이블을 읽을 때 시스템 인덱스를 무시하지만 테이블을 수정할 때 인덱스를 계속 업데이트합니다. 이는 손상된 시스템 인덱스를 복구할 때 유용합니다.
각 주요 시스템 모듈과 관련된 각 쿼리에 대한 타이밍 통계를 인쇄합니다. 이 옵션은와 함께 롤 토토할 수 없습니다.-s옵션.
이 옵션은 서버 프로세스가 비정상적으로 종료되는 문제를 디버깅하기 위한 것입니다. 이 상황의 일반적인 전략은 다른 모든 서버 프로세스에 종료하고 공유 메모리와 세마포어를 다시 초기화해야 함을 알리는 것입니다. 이는 잘못된 서버 프로세스가 종료되기 전에 일부 공유 상태를 손상시켰을 수 있기 때문입니다. 이 옵션은 다음을 지정합니다.포스트그레스신호를 보내 다른 모든 서버 프로세스를 중지합니다SIGSTOP, 하지만 종료되지는 않습니다. 이를 통해 시스템 프로그래머는 모든 서버 프로세스에서 코어 덤프를 직접 수집할 수 있습니다.
특정 세션에 롤 토토될 프런트엔드/백엔드 프로토콜의 버전 번호를 지정합니다. 이 옵션은 내부 전용입니다.
인증 절차를 수행한 후 새 서버 프로세스가 시작될 때 이 몇 초의 지연이 발생합니다. 이는 디버거를 롤 토토하여 서버 프로세스에 연결할 수 있는 기회를 제공하기 위한 것입니다.
클라이언트가 롤 토토하는 기본 문자 인코딩입니다. (클라이언트는 이를 개별적으로 재정의할 수 있습니다.) 이 값은 구성 파일에서 설정할 수도 있습니다.
기본 데이터 디렉토리 위치
기본값날짜 스타일런타임 매개변수. (이 환경 변수의 롤 토토은 더 이상 롤 토토되지 않습니다.)
기본 포트 번호(구성 파일에 설정하는 것이 좋음)
다음이 언급된 실패 메시지semget또는shmget아마도 적절한 공유 메모리와 세마포어를 제공하도록 커널을 구성해야 함을 나타냅니다. 자세한 내용은 참조PostgreSQL : 문서 : 9.5 : 와이즈 토토 리소스 관리. 감소시켜 커널 재구성을 연기할 수도 있습니다.shared_buffers공유 메모리 소비를 줄이기 위해포스트그레SQL및/또는 축소하여max_connections세마포어 소비를 줄이기 위해.
다른 서버가 이미 실행 중임을 암시하는 실패 메시지는 예를 들어 다음 명령을 롤 토토하여 주의 깊게 확인해야 합니다.
$ ps 도끼 | 그렙 포스트그레스
또는
$ ps -ef | 그렙 포스트그레스
시스템에 따라 다릅니다. 충돌하는 서버가 실행되고 있지 않다고 확신하는 경우 메시지에 언급된 잠금 파일을 제거하고 다시 시도할 수 있습니다.
포트에 바인딩할 수 없음을 나타내는 실패 메시지는 해당 포트가 이미 일부 비-에서 롤 토토 중임을 나타낼 수 있습니다.롤 토토QL프로세스. 종료하는 경우에도 이 오류가 발생할 수 있습니다.포스트그레스동일한 포트를 롤 토토하여 즉시 다시 시작하세요. 이 경우 다시 시도하기 전에 운영 체제가 포트를 닫을 때까지 몇 초만 기다리면 됩니다. 마지막으로 운영 체제에서 예약된 것으로 간주하는 포트 번호를 지정하면 이 오류가 발생할 수 있습니다. 예를 들어, 많은 Unix 버전에서는 1024 미만의 포트 번호를 다음과 같이 간주합니다."신뢰할 수 있는"그리고 Unix 수퍼유저만 접근할 수 있도록 허용합니다.
유틸리티 명령pg_ctl다음을 시작하고 종료하는 데 롤 토토할 수 있습니다.포스트그레스안전하고 편안하게 서버를 제공합니다.
가능하다면,하지 마세요롤 토토SIGKILL메인을 죽이려고포스트그레스서버. 그렇게 하면 예방할 수 있습니다.포스트그레스종료하기 전에 보유한 시스템 리소스(예: 공유 메모리 및 세마포어)를 해제하지 않습니다. 새로 시작하는 데 문제가 발생할 수 있습니다.포스트그레스실행.
종료하려면포스트그레스서버는 일반적으로 신호를 받습니다.SIGTERM, SIGINT또는SIGQUIT롤 토토할 수 있습니다. 첫 번째는 종료하기 전에 모든 클라이언트가 종료될 때까지 기다리고, 두 번째는 모든 클라이언트의 연결을 강제로 끊고, 세 번째는 적절한 종료 없이 즉시 종료되어 다시 시작하는 동안 복구가 실행됩니다.
그SIGHUP신호는 서버 구성 파일을 다시 로드합니다. 보내는 것도 가능합니다SIGHUP개별 서버 프로세스에 적용되지만 이는 일반적으로 합리적이지 않습니다.
실행 중인 쿼리를 취소하려면 다음을 보내십시오.SIGINT해당 명령을 실행하는 프로세스에 신호를 보냅니다. 백엔드 프로세스를 완전히 종료하려면 다음을 보내세요.SIGTERM그 프로세스에. 또한 참조하세요pg_cancel_backend그리고pg_terminate_backendin섹션 9.26.2이 두 작업에 해당하는 SQL 호출 가능 항목에 대해.
그포스트그레스서버 롤 토토SIGQUIT하위 서버 프로세스가 정상적인 정리 없이 종료되도록 지시합니다. 이 신호해서는 안 됩니다롤 토토자가 롤 토토합니다. 보내는 것도 현명하지 못하다SIGKILL서버 프로세스에 — 메인포스트그레스프로세스는 이를 충돌로 해석하고 표준 충돌 복구 절차의 일부로 모든 형제 프로세스를 강제로 종료합니다.
그--옵션이 작동하지 않습니다FreeBSD또는OpenBSD. 롤 토토-c대신. 이는 영향을 받는 운영 체제의 버그입니다. 향후 릴리스포스트그레SQL이 문제가 해결되지 않으면 해결 방법을 제공하겠습니다.
단일 롤 토토자 모드 서버를 시작하려면 다음과 같은 명령을 롤 토토하십시오.
postgres --single -D /usr/local/pgsql/data기타 옵션내_데이터베이스
다음을 롤 토토하여 데이터베이스 디렉토리에 올바른 경로를 제공하십시오.-D또는 환경 변수가 다음과 같은지 확인하세요.PGDATA설정되었습니다. 또한 작업하려는 특정 데이터베이스의 이름도 지정하세요.
일반적으로 단일 롤 토토자 모드 서버는 줄바꿈을 명령 입력 종결자로 취급합니다. 거기에 있는 것처럼 세미콜론에 대한 정보는 없습니다.psql. 여러 줄에 걸쳐 명령을 계속하려면 마지막 줄을 제외한 각 줄 바꿈 바로 앞에 백슬래시를 입력해야 합니다.
그러나 당신이 다음을 롤 토토한다면-j명령줄 스위치를 롤 토토하면 줄 바꿈이 명령 입력을 종료하지 않습니다. 이 경우 서버는 파일 끝()까지 표준 입력을 읽습니다.EOF) 마커를 지정한 다음 입력을 단일 명령 문자열로 처리합니다. 이 경우 백슬래시-개행 문자는 특별히 처리되지 않습니다.
세션을 종료하려면 다음을 입력하십시오.EOF (제어+D, 일반적으로). 롤 토토한 경우-j, 연속 2개EOF34674_34697
단일 롤 토토자 모드 서버는 정교한 줄 편집 기능을 제공하지 않습니다(예: 명령 기록 없음). 단일 롤 토토자 모드에서는 자동 체크포인트와 같은 백그라운드 처리도 수행하지 않습니다.
시작하려면포스트그레스백그라운드에서 기본값을 롤 토토하여 다음을 입력합니다.
$ 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_memin롤 토토ql.conf. 매개변수 이름의 밑줄은 명령줄에서 밑줄이나 대시로 쓸 수 있습니다. 단기 실험을 제외하고는 다음에서 설정을 수정하는 것이 더 좋습니다.롤 토토ql.conf매개변수를 설정하기 위해 명령줄 스위치에 의존하는 것보다.