누구나 데이터베이스에 액세스하기 전에 데이터베이스 토토 커뮤니티. 데이터베이스 토토 커뮤니티 프로그램을라고합니다.Postgres.Postgres프로그램은 어디서 찾을 수 있는지 알아야합니다 사용해야 할 데이터. 이것은와 함께 이루어집니다.-d옵션. 따라서 시작하는 가장 간단한 방법 토토 커뮤니티는 :
$postgres -d/usr/local/pgsql/data
토토 커뮤니티가 전경에서 실행됩니다. 이것 로그인하는 동안 수행해야합니다postgresql사용자 계정. 없이-d, 토토 커뮤니티는 데이터 디렉토리를 사용하려고합니다. 환경 변수에 의해 명명pgdata. 해당 변수가 제공되지 않으면 실패합니다.
일반적으로 시작하는 것이 좋습니다Postgres백그라운드에서. 이를 위해 사용하십시오 일반적인 쉘 구문 :
$Postgres -D/USR/local/pgsql/data logfile 2 & 1 &
토토 커뮤니티를 저장하는 것이 중요합니다stdoutandStderr위와 같이 어딘가에서 출력. 그것 감사 목적 및 문제를 진단하는 데 도움이됩니다. (보다PostgreSQL : 문서 : 8.4 : 토토 핫 파일 유지 관리더 로그 파일 처리에 대한 철저한 토론.)
thePostgres프로그램도 a 기타 명령 줄 옵션 수. 자세한 내용은 참조하십시오 그만큼Postgres참조 페이지 및18 장아래.
이 쉘 구문은 신속하게 지루할 수 있습니다. 따라서 래퍼 프로그램PG_CTL일부 작업을 단순화하기 위해 제공됩니다. 을 위한 예:
pg_ctl start -l logfile
백그라운드에서 토토 커뮤니티를 시작하고 출력을 넣습니다. 명명 된 로그 파일로. 그만큼-d옵션 여기서와 같은 의미가 있습니다.Postgres. PG_CTL도 있습니다 토토 커뮤니티를 중지 할 수 있습니다.
일반적으로 데이터베이스 토토 커뮤니티를 시작할 때 컴퓨터 부츠.AutostArt 스크립트는 시스템에 따라 작동합니다. 몇 가지가 있습니다 배포PostgreSQLin 그만큼Contrib/Start-Scripts디렉토리. 하나를 설치하려면 루트 권한이 필요합니다.
다른 시스템마다 시작하기위한 다른 규칙이 다릅니다 부팅 시간에 데몬. 많은 시스템에는 파일이 있습니다/etc/rc.local또는/etc/rc.d/rc.local. 다른 사람은 사용RC.D디렉토리. 당신이 무엇을 하든지 토토 커뮤니티 에 의해 실행되어야합니다.PostgreSQL사용자 계정뿌리또는 다른 사용자. 그러므로 당신은 아마도 형성해야합니다 사용하는 명령Su postgres -c '...'. 예를 들어:
Su postgres -c 'pg_ctl start -d/usr/local/pgsql/data -l serverLog'
다음은 몇 가지 운영 시스템 별 제안이 있습니다. (안에 각 케이스는 적절한 설치 디렉토리를 사용하고 일반 값을 보여주는 사용자 이름.)
forfreebsd, 파일Contrib/Start-Scripts/freebsdinPostgreSQL소스 분포.
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
/usr/local/pgsql/bin/pg_ctl start -l logfile -d/usr/local/pgsql/data
to/etc/rc.d/rc.local또는보십시오 파일Contrib/Start-Scripts/LinuxinPostgreSQL소스 분포.
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.
토토 커뮤니티가 실행되는 동안 ITSPID파일에 저장됩니다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), 그러나 결국 커널 제한을 늘리고 싶을 것입니다.
당신이 얻는 경우"불법 시스템 부르다"오류, 공유 메모리 또는 세마포어는 커널에서 전혀 지원되지 않습니다. 그것에 유일한 옵션을 구체화하여 커널을 재구성하는 것입니다. 이러한 기능.
구성에 대한 세부 사항시스템 다섯 IPC19444_19475섹션 17.4.1.
클라이언트 측에서 오류 조건이 가능하지만 상당히 다양하고 응용 프로그램에 따라 다르므로 몇몇은 토토 커뮤니티가 시작된 방식과 직접 관련이 있습니다. 아래에 표시된 조건 이외의 조건을 문서화해야합니다 각각의 클라이언트 응용 프로그램과 함께.
PSQL : 토토 커뮤니티에 연결할 수 없습니다 : 연결 거부 토토 커뮤니티가 호스트 "Server.joe.com"에서 실행되고 수락합니다 포트 5432의 TCP/IP 연결?
이것은 일반입니다"나는 찾을 수 없었다 "와 대화 할 토토 커뮤니티실패. 위의시기처럼 보입니다 TCP/IP 통신이 시도됩니다. 일반적인 실수는 TCP/IP 연결을 허용하도록 토토 커뮤니티를 구성하는 것을 잊어 버립니다.
또는 유닉스 도메인을 시도 할 때 이것을 얻을 수 있습니다 로컬 서버에 대한 소켓 통신 :
PSQL : 서버에 연결할 수 없습니다 : 그러한 파일 또는 디렉토리가 없습니다. 서버가 로컬로 실행되고 수락됩니다 Unix 도메인 소켓의 연결 "/tmp/.s.pgsql.5432"?
마지막 줄은 클라이언트가 올바른 장소에 연결하려고합니다. 실제로 없다면 토토 커뮤니티가 실행되면 커널 오류 메시지가 일반적으로됩니다 어느 쪽이든연결 거부또는그러한 파일 없음 또는 예배 규칙서, 예시 된대로. (실현하는 것이 중요합니다 저것연결 거부in 이 맥락은아님토토 커뮤니티가 연결 요청을 받고 거부했음을 의미합니다. 그것. 이 경우는 다른 메시지를 생성합니다.배트맨 토토 : 문서.)과 같은 기타 오류 메시지연결 시간 출력네트워크 부족과 같은 더 근본적인 문제 연결.