Postgres -postgresql데이터베이스 서버
Postgres
[옵션
...]
Postgres
PostgreSQL데이터베이스 서버. 클라이언트 애플리케이션이 데이터베이스에 액세스하려면 (네트워크 또는 로컬로) 실행 중에 연결됩니다Postgres
인스턴스. 그만큼Postgres
인스턴스는 연결을 처리하기 위해 별도의 서버 프로세스를 시작합니다.
onePostgres
인스턴스는 항상 정확히 하나의 데이터베이스 클러스터의 데이터를 관리합니다. 데이터베이스 클러스터는 공통 파일 시스템 위치에 저장된 데이터베이스 모음입니다 (“데이터 영역”). 둘 이상Postgres
인스턴스는 다른 데이터 영역과 다른 통신 포트를 사용하는 한 한 번에 시스템에서 실행될 수 있습니다 (아래 참조). 언제Postgres
시작 데이터 영역의 위치를 알아야합니다. 위치는에 의해 지정되어야합니다.-d
옵션 또는pgdata
환경 변수; 기본값이 없습니다. 일반적으로,-d
또는pgdata
|initdb. 기타 가능한 파일 레이아웃은에 대해 설명합니다.PostgreSQL : 문서 : 10 : 19.2. 사설 토토 사이트 위치.
기본적으로Postgres
전경에서 시작하여 로그 메시지를 표준 오류 스트림에 인쇄합니다. 실제 응용 프로그램Postgres
아마도 부팅 시간에 백그라운드 프로세스로 시작해야합니다.
thePostgres
명령은 단일 토토 커뮤니티자 모드에서 호출 할 수 있습니다. 이 모드의 주요 용도는에 의해 부트 스트랩 중입니다.initdb. 때로는 디버깅 또는 재해 복구에 사용됩니다. 현실적으로 간다 통신 및 잠금이 발생하지 않기 때문에 단일 사용자 서버를 실행하는 것은 서버 디버깅에 적합하지 않습니다. 쉘에서 단일 토토 커뮤니티자 모드로 호출되면 사용자는 쿼리를 입력 할 수 있으며 결과는 화면에 인쇄되지만 최종 사용자보다 개발자에게 더 유용한 양식으로 인쇄됩니다. 단일 토토 커뮤니티자 모드에서 세션 사용자는 ID 1을 사용하여 사용자에게 설정 되며이 사용자에게 암시 적 슈퍼 유행기 힘이 부여됩니다. 이 사용자는 실제로 존재할 필요가 없으므로 단일 토토 커뮤니티자 모드는 시스템 카탈로그에 대한 특정 종류의 우발적 손상으로부터 수동으로 복구 할 수 있습니다.
Postgres
다음 명령 줄 인수를 수락합니다. 옵션에 대한 자세한 토론을 보려면PostgreSQL : 문서 : 10 : 19 장 서버 와이즈 토토. 구성 파일을 설정하여 이러한 옵션의 대부분을 입력 할 수 있습니다. 일부 (안전한) 옵션은 연결 클라이언트에서 해당 세션에만 적용 할 수있는 응용 프로그램 의존적 방법으로 설정할 수도 있습니다. 예를 들어 환경 변수 인 경우pgoptions
설정되었고libpq기반 클라이언트는 해당 문자열을 서버로 전달합니다.Postgres
명령 줄 옵션.
-Bnbuffers
서버 프로세스에서 토토 커뮤니티할 공유 버퍼 수를 설정합니다. 이 매개 변수의 기본값은에 의해 자동으로 선택됩니다.initdb. 이 옵션을 지정하는 것은 설정과 동일합니다.shared_buffers구성 매개 변수.
-c이름
=value
이름이 지정된 런타임 매개 변수를 설정합니다. 지원되는 구성 매개 변수postgresqlPostgreSQL : 문서 : 10 : 19 장 서버 와이즈 토토. 다른 명령 줄 옵션의 대부분은 실제로 그러한 매개 변수 할당의 짧은 형태입니다.-c
여러 매개 변수를 설정하기 위해 여러 번 나타날 수 있습니다.
-c이름
명명 된 런타임 매개 변수의 값을 인쇄하고 종료합니다. (참조-c
자세한 내용은 위의 옵션입니다.) 이것은 실행중인 서버에서 사용할 수 있으며 값을 반환합니다postgresql.conf
,이 호출에 제공되는 모든 매개 변수에 의해 수정됩니다. 클러스터가 시작될 때 제공되는 매개 변수를 반영하지 않습니다.
이 옵션은와 같은 서버 인스턴스와 상호 작용하는 다른 프로그램을위한 것입니다.PG_CTL16353_16442show또는pg_settings
View.
-d디버그 레벨
디버그 레벨을 설정합니다. 이 값이 높을수록 서버 로그에 더 많은 디버깅 출력이 기록됩니다. 값은 1에서 5까지입니다. 통과하는 것도 가능합니다-d 0
특정 세션의 경우 부모의 서버 로그 레벨을 방지 할 수 있습니다Postgres
이 세션으로 전파되는 프로세스.
-dDatadir
데이터베이스 구성 파일의 파일 시스템 위치를 지정합니다. 보다PostgreSQL : 문서 : 10 : 19.2. 사설 토토 사이트 위치자세한 내용.
-e
기본 날짜 스타일을 설정“유럽”, 즉dmy
입력 날짜 필드 주문. 또한 특정 날짜 출력 형식으로 월 전에 날을 인쇄합니다. 보다PostgreSQL : 문서 : 10 : 8.5. 날짜/메이저 토토 사이트 유형자세한 내용은
-f
비활성화fsync
시스템 충돌시 데이터 손상의 위험이있는 성능 향상을 요구합니다. 이 옵션을 지정하는 것은 비활성화하는 것과 같습니다.fsync구성 매개 변수. 이것을 사용하기 전에 자세한 문서를 읽으십시오!
-hhostname
IP 호스트 이름 또는 주소를 지정Postgres
| 클라이언트 응용 프로그램에서 TCP/IP 연결을 듣는 것입니다. 값은 또한 쉼표로 구분 된 주소 목록 일 수 있습니다.*
사용 가능한 모든 인터페이스에서 청취를 지정합니다. 빈 값은 IP 주소에서 듣지 않도록 지정되며,이 경우 UNIX-Domain 소켓 만 사용하여 서버에 연결할 수 있습니다. 기본적으로 듣기LocalHost. 이 옵션을 지정하는 것은 설정과 동일합니다.Listen_Addresses구성 매개 변수.
-i
원격 클라이언트가 TCP/IP (인터넷 도메인) 연결을 통해 연결할 수 있습니다. 이 옵션이 없으면 로컬 연결 만 허용됩니다. 이 옵션은 설정과 같습니다Listen_Addresses
to*
inpostgresql.conf
또는 via-h
.
이 옵션은의 전체 기능에 대한 액세스를 허용하지 않기 때문에 더 이상 사용되지 않습니다.Listen_Addresses. 일반적으로 설정하는 것이 좋습니다Listen_Addresses
직접.
-K디렉토리
Unix-Domain 소켓의 디렉토리를 지정합니다.Postgres
는 클라이언트 응용 프로그램의 연결을 듣는 것입니다. 값은 쉼표로 구분 된 디렉토리 목록 일 수도 있습니다. 빈 값은 UNIX- 도메인 소켓에서 듣지 않도록 지정되며,이 경우 TCP/IP 소켓 만 사용하여 서버에 연결할 수 있습니다. 기본값은 일반적으로/tmp
이지만 빌드 시간에 변경 될 수 있습니다. 이 옵션을 지정하는 것은 설정과 동일합니다.unix_socket_directories구성 매개 변수.
-l
|SSL. postgresql지원을 통해 편집되어 있어야합니다SSL이 옵션을 사용할 수 있도록하십시오. 토토 커뮤니티에 대한 자세한 내용은SSL, 참조섹션 18.9.
-n최대 연결
이 서버가 허용하는 최대 클라이언트 연결 수를 설정합니다. 이 매개 변수의 기본값은에 의해 자동으로 선택됩니다.initdb. 이 옵션을 지정하는 것은 설정과 동일합니다.max_connections구성 매개 변수.
-o엑스트라 옵션
지정된 명령 라인 스타일의 인수엑스트라 옵션
|Postgres
프로세스.
내 공간엑스트라 옵션
backslash로 탈출하지 않는 한, 인수를 분리하는 것으로 간주됩니다 (\
); 쓰다\\
문자 그대로의 백 슬래시를 나타냅니다. 다중 용도를 통해 여러 인수를 지정할 수도 있습니다.-o
.
이 옵션의 사용은 더 이상 사용되지 않습니다. 서버 프로세스에 대한 모든 명령 줄 옵션은에 직접 지정할 수 있습니다.Postgres
명령 줄.
-p포트
TCP/IP 포트 또는 로컬 UNIX 도메인 소켓 파일 확장자를 지정합니다.Postgres
클라이언트 응용 프로그램의 연결을 듣는 것입니다. 기본값의 값pgport
환경 변수 또는 ifpgport
가 설정되지 않은 다음 편집 중에 설정된 값으로 기본값 (일반적으로 5432). 기본 포트 이외의 포트를 지정하는 경우 모든 클라이언트 응용 프로그램은 명령 줄 옵션 또는를 사용하여 동일한 포트를 지정해야합니다.pgport
.
-s
각 명령 끝에 시간 정보 및 기타 통계를 인쇄합니다. 이것은 벤치마킹 또는 버퍼 수를 조정하는 데 사용하는 데 유용합니다.
-s
Work-Mem
임시 디스크 파일에 의지하기 전에 내부 정렬 및 해시에서 사용할 메모리의 양을 지정합니다. 의 설명을 참조하십시오.work_mem
구성 매개 변수섹션 19.4.1.
-v
-버전
인쇄Postgres버전 및 종료.
--이름
=value
이름이 지정된 런타임 매개 변수를 설정합니다. 짧은 형태의-c
.
-describe-config
이 옵션은 서버의 내부 구성 변수, 설명 및 기본값을 Tab-Delimited에서 덤프합니다COPY
형식. 주로 관리 도구에 의해 토토 커뮤니티하도록 설계되었습니다.
-?
-help
도움말 표시Postgres명령 줄 인수 및 종료
여기에 설명 된 옵션은 주로 디버깅 목적으로 사용되며 경우에 따라 심각하게 손상된 데이터베이스의 복구를 지원합니다. 프로덕션 데이터베이스 설정에서 사용할 이유가 없어야합니다. 여기에 사용하기 위해 여기에 나열되어PostgreSQL시스템 개발자. 또한 이러한 옵션은 미래의 릴리스에서 통지없이 변경되거나 제거 될 수 있습니다.
-f
s | i | o | B | t | n | m | 시간
특정 스캔 및 가입 방법의 토토 커뮤니티을 금지합니다.S
andi
각각 순차적 및 인덱스 스캔 비활성화O
, B
andt
인덱스 전용 스캔 비활성화, 비트 맵 인덱스 스캔 및 TID 스캔은 각각n
, M
및H
중첩 루프 비활성화, 병합 및 해시 조인.
순차적 스캔이나 중첩 루프 조인은 완전히 비활성화 될 수 없습니다. 그만큼-fs
및-fn
옵션은 다른 대안이있는 경우 해당 플랜 유형을 사용하지 않도록 단순히 낙담합니다.
-n
이 옵션은 서버 프로세스가 비정상적으로 죽게하는 문제를 디버깅하는 것입니다. 이 상황의 일반적인 전략은 다른 모든 서버 프로세스에 공유 메모리와 세마포어를 종료 한 다음 재개해야한다는 것을 알리는 것입니다. 이는 잘못된 서버 프로세스가 종료되기 전에 일부 공유 상태를 손상시킬 수 있기 때문입니다. 이 옵션은 다음을 지정합니다.Postgres
공유 데이터 구조를 다시 구입하지 않습니다. 지식이 풍부한 시스템 프로그래머는 디버거를 토토 커뮤니티하여 공유 메모리 및 세마포어 상태를 검사 할 수 있습니다.
-o
시스템 테이블의 구조를 수정할 수 있습니다. 이것은에 의해 토토 커뮤니티됩니다.initdb
.
-p
시스템 테이블을 읽을 때 시스템 인덱스를 무시하지만 테이블을 수정할 때 여전히 인덱스를 업데이트합니다. 손상된 시스템 인덱스에서 복구 할 때 유용합니다.
-t
PA [RSER] | pl [Anner] | 집행자]
각 주요 시스템 모듈과 관련된 각 쿼리에 대한 타이밍 통계를 인쇄합니다. 이 옵션은와 함께 사용할 수 없습니다.-s
옵션.
-t
이 옵션은 서버 프로세스가 비정상적으로 죽게하는 문제를 디버깅하는 것입니다. 이 상황의 일반적인 전략은 다른 모든 서버 프로세스에 공유 메모리와 세마포어를 종료 한 다음 재개해야한다는 것을 알리는 것입니다. 이는 잘못된 서버 프로세스가 종료되기 전에 일부 공유 상태를 손상시킬 수 있기 때문입니다. 이 옵션은 다음을 지정합니다.Postgres
신호를 전송하여 다른 모든 서버 프로세스를 중지합니다SIGSTOP
이지만 종료되지는 않습니다. 이를 통해 시스템 프로그래머는 모든 서버 프로세스에서 손으로 코어 덤프를 수집 할 수 있습니다.
-v
프로토콜
특정 세션에 사용할 프론트 엔드/백엔드 프로토콜의 버전 번호를 지정합니다. 이 옵션은 내부 사용만을위한 것입니다.
-w
초
인증 절차를 수행 한 후 새 서버 프로세스가 시작될 때이 여러 초의 지연이 발생합니다. 이것은 디버거를 토토 커뮤니티하여 서버 프로세스에 첨부 할 수있는 기회를 제공하기위한 것입니다.
다음 옵션은 단일 토토 커뮤니티자 모드에만 적용됩니다 (참조단일 토토 커뮤니티자 모드).
-Single
단일 토토 커뮤니티자 모드를 선택합니다. 이것은 명령 줄의 첫 번째 인수 여야합니다.
데이터베이스
액세스 할 데이터베이스의 이름을 지정합니다. 이것은 명령 줄의 마지막 인수 여야합니다. 생략되면 기본값이 사용자 이름으로 기본적으로 표시됩니다.
-e
실행하기 전에 모든 명령을 표준 출력으로 Echo.
-j
Semicolon을 사용하여 Newline이 아닌 두 개의 Newlines를 사용합니다.
-r
filename
모든 서버 로그 출력 전송filename
. 이 옵션은 명령 줄 옵션으로 제공 될 때만 영광입니다.
pgclientencoding
클라이언트가 토토 커뮤니티하는 기본 문자 인코딩. (클라이언트는 이것을 개별적으로 무시할 수 있습니다.)이 값은 구성 파일에서도 설정할 수도 있습니다.
pgdata
기본 데이터 디렉토리 위치
pgdatestyle
기본값Datestyle런타임 매개 변수. (이 환경 변수의 사용은 더 이상 사용되지 않습니다.)
pgport
기본 포트 번호 (구성 파일에 설정)
실패 메시지 언급Semget
또는SHMGET
아마도 적절한 공유 메모리와 세마포어를 제공하려면 커널을 구성해야 할 것입니다. 자세한 내용은 참조PostgreSQL : 문서 : 10 : 18.4. 토토 캔 리소스 관리. 감소하여 커널 재구성을 연기 할 수 있습니다shared_buffers공유 메모리 소비를 줄이려PostgreSQL및/또는 감소max_connections세마포어 소비를 줄이려면
예를 들어 명령을 토토 커뮤니티하여 다른 서버를 이미 실행중인 것을 제안하는 실패 메시지
$
PS AX | grep postgres
또는
$
ps -ef | grep postgres
시스템에 따라. 충돌하는 서버가 실행 중이지 않다고 확신하면 메시지에 언급 된 잠금 파일을 제거하고 다시 시도 할 수 있습니다.
포트에 바인딩 할 수없는 실패 메시지는 해당 포트가 이미 비에 의해 사용 중임을 나타낼 수 있음을 나타낼 수 있습니다PostgreSQL프로세스. 종료되면이 오류가 발생할 수도 있습니다Postgres
동일한 포트를 사용하여 즉시 다시 시작하십시오. 이 경우 다시 시도하기 전에 운영 체제가 포트를 닫을 때까지 몇 초를 기다려야합니다. 마지막으로, 운영 체제가 예약 된 것으로 간주하는 포트 번호를 지정하면이 오류가 발생할 수 있습니다. 예를 들어, 많은 버전의 UNIX 버전은 1024 년 미만의 포트 번호를 고려합니다“신뢰할 수있는”UNIX 슈퍼업자가 액세스 할 수 있도록 허용하십시오.
유틸리티 명령PG_CTL시작하고 종료하는 데 토토 커뮤니티될 수 있습니다Postgres
서버 안전하고 편안하게.
가능한 모든 경우do notuseSigkill
메인을 죽이기Postgres
서버. 그렇게하면 방지Postgres
종료하기 전에 보유한 시스템 리소스 (예 : 공유 메모리 및 세마포어)를 제거하는 것. 이것은 신선한 시작에 문제를 일으킬 수 있습니다Postgres
run.
종료하려면Postgres
서버 정상, 신호Sigterm
, Sigint
또는Sigquit
토토 커뮤니티할 수 있습니다. 첫 번째는 종료하기 전에 모든 고객이 종료 될 때까지 기다릴 것입니다. 두 번째는 모든 클라이언트를 강제로 분리하고 세 번째는 적절한 종료없이 즉시 종료되어 다시 시작하는 동안 복구 실행이 발생합니다..
theSighup
신호가 서버 구성 파일을 다시로드합니다. 보낼 수도 있습니다Sighup
개별 서버 프로세스에 대해서는 일반적으로 합리적이지 않습니다.
실행중인 쿼리를 취소하려면 보내기Sigint
해당 명령을 실행하는 프로세스에 신호를 보냅니다. 백엔드 프로세스를 깨끗하게 종료하려면sigterm
그 과정에. 참조 참조pg_cancel_backend
andpg_terminate_backend
in섹션 9.26.2이 두 조치의 SQL-Callable 등가물의 경우.
thePostgres
서버 토토 커뮤니티Sigquit
하위 서버 프로세스에 정상적인 정리없이 종료되도록 지시합니다. 이 신호토토 커뮤니티자가 토토 커뮤니티하십시오. 또한 보내는 것도 현명하지 않습니다Sigkill
서버 프로세스 - 메인Postgres
프로세스는 이것을 충돌로 해석하고 모든 형제 자매 프로세스가 표준 충돌 회복 절차의 일부로 종료되도록 강요합니다..
the--
옵션은 작동하지 않습니다freebsd또는OpenBSD. 토토 커뮤니티-c
대신. 이것은 영향을받는 운영 체제의 버그입니다. 미래의 릴리스PostgreSQL이것이 고정되지 않은 경우 해결 방법을 제공합니다.
단일 토토 커뮤니티자 모드 서버를 시작하려면 명령을 사용하여
Postgres --single -ding -d/usr/local/pgsql/data기타 옵션
my_database
데이터베이스 디렉토리에 올바른 경로를 제공-d
또는 환경 변수pgdata
가 설정되었습니다. 또한 작업하려는 특정 데이터베이스의 이름을 지정합니다.
일반적으로 단일 토토 커뮤니티자 모드 서버는 Newline을 명령 입력 터미네이터로 취급합니다. 세미콜론에 대한 지능은 없습니다.PSQL. 여러 줄에 대한 명령을 계속하려면 마지막 신자 라인 바로 앞에 백 슬래시를 입력해야합니다. 백 슬래시와 인접한 Newline은 모두 입력 명령에서 삭제됩니다. 문자열 문자 그대로 또는 댓글 내에서도 발생합니다.
하지만 토토 커뮤니티하는 경우-j
명령 줄 스위치, 단일 Newline은 명령 항목을 종료하지 않습니다. 대신, 서열 세미콜론-뉴 라인 님의 원자. 즉, 세미콜론 타입은 즉시 완전히 빈 줄이 뒤 따릅니다. BackSlash-Newline 은이 모드에서 특별히 처리되지 않습니다. 다시 말하지만, 문자열이 문자 그대로 또는 댓글 내에 나타나는 시퀀스에 대한 지능은 없습니다.
두 입력 모드에서는 명령 입력 터미네이터의 일부가 아닌 세미콜론을 입력하면 명령 분리기로 간주됩니다. 입력 한 여러 명령문은 A를 입력 할 때 단일 트랜잭션으로 실행됩니다.
세션을 종료하려면 타입eof(컨트롤+D, 보통). 마지막 명령 항목 터미네이터 이후 텍스트를 입력 한 경우eof명령 입력 터미네이터로 간주되고 다른eof종료하려면 필요합니다.
단일 토토 커뮤니티자 모드 서버는 정교한 라인 편집 기능을 제공하지 않습니다 (예 : 명령 기록 없음). 단일 토토 커뮤니티자 모드는 자동 체크 포인트 또는 복제와 같은 배경 처리를 수행하지 않습니다.
시작하려면Postgres
기본값을 사용하여 백그라운드에서 :
$
nohup postgres logfile 2 & 1 </dev/null &
시작하려면Postgres
특정 포트가 포함되어 있습니다 (예 : 1234 :
$
Postgres -P 1234
토토 커뮤니티 하여이 서버에 연결하려면PSQL, -p 옵션 으로이 포트를 지정하십시오.
$
PSQL -P 1234
또는 환경 변수 설정pgport
:
$
Export Pgport = 1234
$
PSQL
이름의 런타임 매개 변수는 이러한 스타일 중 하나에서 설정할 수 있습니다 :
$
postgres -c work_mem = 1234
$
Postgres -Work-mem = 1234
양식 중 어느 쪽이든 세트가 존재할 수있는 모든 설정을 무시합니다work_mem
inpostgresql.conf
. 매개 변수 이름의 밑줄은 명령 줄에 밑줄 또는 대시로 쓸 수 있습니다. 단기 실험을 제외하고는 설정을 편집하는 것이 더 나은 연습 일 것입니다postgresql.conf
매개 변수를 설정하기 위해 명령 줄 스위치에 의존하는 것보다.