젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.6 : 스포츠 토토 베트맨 클러스터 만들기 | 롤 토토 : 문서 : 9.6 : 서버 설정 및 작동 | 18 장 스포츠 토토 결과 설정 및 작동 | PostgreSQL : 문서 : 9.6 : 사설 토토 자원 관리 |
누구나 데이터베이스에 액세스하기 전에 데이터베이스 스포츠 토토 결과를 시작해야합니다. 데이터베이스 스포츠 토토 결과 프로그램을라고합니다.Postgres. 그만큼Postgres프로그램은 사용해야 할 데이터를 어디서 찾을 수 있는지 알아야합니다. 이것은와 함께 이루어집니다.-d옵션. 따라서 서버를 시작하는 가장 간단한 방법은 다음과 같습니다.
$postgres -d/usr/local/pgsql/data
스포츠 토토 결과가 전경에서 실행됩니다. 이것은에 로그인하는 동안 수행해야합니다postgresql사용자 계정. 없이-d, 스포츠 토토 결과는 Environment variable에 의해 명명 된 데이터 디렉토리를 사용하려고합니다pgdata. 해당 변수가 제공되지 않으면 실패합니다.
일반적으로 시작하는 것이 좋습니다Postgres백그라운드에서. 이를 위해 일반적인 Unix Shell Syntax를 사용하십시오 :
$postgres -d/usr/local/pgsql/data logfile 2 & 1 &
스포츠 토토 결과를 저장하는 것이 중요합니다stdout및Stderr위와 같이 어딘가에서 출력. 감사 목적과 문제를 진단하는 데 도움이됩니다. (보다PostgreSQL : 문서 : 9.6 : 무지개 토토 파일 유지 관리로그 파일 처리에 대한보다 철저한 토론.)
thePostgres프로그램에는 여러 가지 다른 명령 줄 옵션도 제공됩니다. 자세한 내용은를 참조하십시오.Postgres참조 페이지 및메이저 토토 사이트 : 문서 : 9.6 : 서버 구성아래.
이 쉘 구문은 신속하게 지루할 수 있습니다. 따라서 래퍼 프로그램PG_CTL일부 작업을 단순화하기 위해 제공됩니다. 예를 들어:
pg_ctl start -l logfile
배경에서 서버를 시작하고 출력을 명명 된 로그 파일에 넣습니다. 그만큼-d옵션은 여기서와 동일한 의미를 갖습니다Postgres. PG_CTL스포츠 토토 결과를 중지 할 수 있습니다.
일반적으로 컴퓨터가 부팅 될 때 데이터베이스 스포츠 토토 결과를 시작하려고합니다. AutosTart 스크립트는 시스템에 따라 작동합니다. 와 함께 배포 된 몇 가지가 있습니다.PostgreSQLinContrib/Start-Scripts디렉토리. 하나를 설치하려면 루트 권한이 필요합니다.
다른 시스템마다 부팅 시간에 데몬을 시작하기위한 다른 규칙이 다릅니다. 많은 시스템에는 파일이 있습니다/etc/rc.local또는/etc/rc.d/rc.local. 다른 사람은 사용init.d또는RC.D디렉토리. 당신이 무엇을 하든지 스포츠 토토 결과는에 의해 실행되어야합니다.postgresql사용자 계정또는 다른 사용자. 따라서 아마도를 사용하여 명령을 형성해야 할 것입니다.Su postgres -c '...'. 예를 들어:
Su postgres -c 'pg_ctl start -d/usr/local/pgsql/data -l serverLog'
다음은 몇 가지 더 운영 시스템 별 제안이 있습니다. (각각의 경우 일반 값이 표시되는 적절한 설치 디렉토리 및 사용자 이름을 사용해야합니다.)
forfreebsd, 파일보기Contrib/Start-Scripts/freebsd에서PostgreSQL소스 배포.
onOpenBSD, 파일에 다음 줄을 추가/etc/rc.local:
[-x/usr/local/pgsql/bin/pg_ctl -a -x/usr/local/pgsql/bin/postgres]; 그 다음에 Su -l postgres -c '/usr/local/pgsql/bin/pg_ctl start -s -l/var/postgresql/log -d/usr/local/pgsql/data' echo -n 'postgresql' fi
onLinux시스템 중 하나
/usr/local/pgsql/bin/pg_ctl start -l logfile -d/usr/local/pgsql/data
to/etc/rc.d/rc.local또는/etc/rc.local또는 파일보기Contrib/Start-Scripts/LinuxinPostgreSQL소스 배포.
사용시SystemD, 다음 서비스 장치 파일을 사용할 수 있습니다 (예 : at/etc/systemd/system/postgresql.service) :
[Unit] 설명 = PostgreSQL 데이터베이스 서버 문서 = 남자 : Postgres (1) [서비스] type = notify user = postgres execstart =/usr/local/pgsql/bin/postgres -d/usr/local/pgsql/data execreload =/bin/kill -hup $ mainpid 킬 모드 = 혼합 Killsignal = Sigint 타임 아웃 스펙 = 0 [설치하다] WANDERBY = multi-user.target
사용type = notify스포츠 토토 결과 바이너리가 |구성-with-systemd.
시간 초과 설정을주의 깊게 고려하십시오.SystemD이 글을 쓰는 시점에서 기본 타임 아웃은 90 초이며 그 시간 내에 준비를 알리지 않는 프로세스를 죽일 것입니다. 그러나 aPostgreSQL스타트 업에서 충돌 복구를 수행 해야하는 서버는 준비되기까지 훨씬 더 오래 걸릴 수 있습니다. 제안 된 값 0은 타임 아웃 로직을 비활성화합니다.
onnetbsd, 사용freebsd또는Linux선호도에 따라 스크립트 시작.
onSolaris,라는 파일 만들기/etc/init.d/postgresql다음 줄이 포함되어 있습니다.
SU -Postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -d/usr/local/pgsql/data"
그런 다음, 그에 대한 상징적 링크를 만듭니다/etc/rc3.dasS99postgresql.
스포츠 토토 결과가 실행되는 동안PID파일에 저장됩니다postmaster.pid데이터 디렉토리에서. 이는 동일한 데이터 디렉토리에서 여러 서버 인스턴스가 실행되는 것을 방지하는 데 사용되며 서버를 종료하는 데 사용될 수도 있습니다.
서버가 시작하지 못하는 몇 가지 일반적인 이유가 있습니다. 서버의 로그 파일을 확인하거나 (표준 출력 또는 표준 오류를 리디렉션하지 않고) 직접 시작하고 어떤 오류 메시지가 나타나는지 확인하십시오. 아래에서 우리는 가장 일반적인 오류 메시지를 더 자세히 설명합니다.
로그 : IPv4 소켓 바인딩 할 수 없습니다 : 이미 사용중인 주소 힌트 : 다른 우체국 장이 이미 포트 5432에서 실행 중입니까? 그렇지 않다면 몇 초 동안 기다렸다가 다시 시도하십시오. 치명적 : TCP/IP 청취 소켓을 만들 수 없음
이것은 일반적으로 제안한 것을 의미합니다. 이미 실행중인 동일한 포트에서 다른 서버를 시작하려고했습니다. 그러나 커널 오류 메시지가 아닌 경우이미 사용중인 주소또는 그 변형의 일부는 다른 문제가있을 수 있습니다. 예를 들어, 예약 된 포트 번호에서 서버를 시작하려고하면 다음과 같은 것을 그릴 수 있습니다.
$Postgres -P 666로그 : IPv4 소켓 바인딩 할 수 없습니다 : 권한 거부 힌트 : 다른 우체국 장이 이미 포트 666에서 실행 중입니까? 그렇지 않다면 몇 초 동안 기다렸다가 다시 시도하십시오. 치명적 : TCP/IP 청취 소켓을 만들 수 없음
a 메시지 :
Fatal : 공유 메모리 세그먼트를 생성 할 수 없습니다 : 무효 인수 세부 사항 : 실패 시스템 호출은 shmget (key = 5440001, size = 4011376640, 03600)입니다.
아마도 공유 메모리 크기에 대한 커널의 제한이 작업 영역보다 작다는 것을 의미합니다.PostgreSQL(이 예에서는 4011376640 바이트)를 작성하려고합니다. 또는 시스템 V 스타일 공유 메모리 지원이 커널에 구성되지 않았 음을 의미 할 수 있습니다. 임시 해결 방법으로 정상보다 작은 버퍼 수보다 작은 서버를 시작할 수 있습니다 (shared_buffers). 결국 허용 공유 메모리 크기를 늘리기 위해 커널을 재구성하려고합니다. 동일한 컴퓨터에서 여러 서버를 시작하려고 할 때이 메시지가 표시 될 수도 있습니다. 요청 된 총 공간이 커널 제한을 초과하면
오류와 같은 오류 :
치명적 : 세마포어를 만들 수 없음 : 장치에 남은 공간이 없습니다. 세부 사항 : 실패 시스템 호출은 Semget (5440126, 17, 03600)입니다.
donot디스크 공간이 부족한 것을 의미합니다. 그것은 당신의 커널의 수에 대한 제한을 의미합니다System Vsemaphores는 숫자보다 작습니다PostgreSQL생성을 원합니다. 위와 같이, 허용 된 연결 수가 줄어든 스포츠 토토 결과를 시작하여 문제를 해결할 수 있습니다 (.max_connections), 그러나 결국 커널 제한을 늘리고 싶을 것입니다.
당신이 얻는 경우"불법 시스템 전화"오류, 공유 메모리 나 세마포어가 커널에서 전혀 지원되지 않을 수 있습니다. 이 경우 유일한 옵션은 이러한 기능을 활성화하기 위해 커널을 재구성하는 것입니다.
구성에 대한 세부 사항System V IPC시설은에 나와 있습니다.섹션 18.4.1.
클라이언트 측에서 가능한 오류 조건은 상당히 다양하고 응용 프로그램에 따라 다르지만 그 중 일부는 서버가 시작된 방식과 직접 관련이있을 수 있습니다. 아래에 표시된 조건 이외의 조건은 해당 클라이언트 응용 프로그램으로 문서화해야합니다.
PSQL : 서버에 연결할 수 없습니다 : 연결 거부 서버가 호스트 "Server.joe.com"에서 실행되고 수락합니다 포트 5432의 TCP/IP 연결?
이것은 일반입니다"나는"과 대화 할 스포츠 토토 결과를 찾을 수 없었다.실패. TCP/IP 통신이 시도 될 때 위의 것 같습니다. 일반적인 실수는 TCP/IP 연결을 허용하도록 스포츠 토토 결과를 구성하는 것을 잊어 버리는 것입니다.
또는 로컬 서버와 유닉스 도메인 소켓 통신을 시도 할 때 이것을 얻을 수 있습니다 :
PSQL : 서버에 연결할 수 없음 : 그러한 파일 또는 디렉토리가 없습니다. 서버가 로컬로 실행되고 수락됩니다 Unix 도메인 소켓의 연결 "/tmp/.s.pgsql.5432"?
마지막 줄은 클라이언트가 올바른 위치에 연결하려고하는지 확인하는 데 유용합니다. 실제로 스포츠 토토 결과가 실행되지 않으면 커널 오류 메시지는 일반적으로입니다.연결 거부또는그러한 파일 또는 디렉토리 없음, 그림. (그것을 깨닫는 것이 중요합니다연결 거부이 맥락에서not스포츠 토토 결과가 연결 요청을 가져 와서 거부했음을 의미합니다. 이 경우는 다른 메시지를 생성합니다.토토 결과 : 문서 : 9.6 : 인증 문제.)과 같은 기타 오류 메시지연결 시간 출력네트워크 연결 부족과 같은 더 근본적인 문제를 나타낼 수 있습니다.