누군가가 데이터베이스에 접근하기 전에 먼저 다음을 시작해야 합니다. 데이터베이스 서버. 데이터베이스 서버 프로그램이 호출됩니다.우체국장.그우체국장찾을 위치를 알아야 합니다 사용하기로 되어 있는 데이터. 이는 다음과 같이 수행됩니다.-D옵션. 따라서 가장 간단한 시작 방법은 서버는 다음과 같습니다:
$ postmaster -D /usr/local/pgsql/data
토토 사이트 순위가 전경에서 실행되도록 합니다. 이 로그인한 동안 수행해야 합니다.포스트그레SQL사용자 계정. 없이-D, 토토 사이트 순위는 데이터 디렉터리를 사용하려고 시도합니다. 환경 변수에 의해 명명됨PGDATA. 해당 변수도 제공되지 않으면 실패합니다.
일반적으로 다음을 시작하는 것이 좋습니다.우체국장백그라운드에서. 이를 위해 일반적인 쉘 구문:
$ postmaster -D /usr/local/pgsql/data 로그 파일 2&1 &
서버의 정보를 저장하는 것이 중요합니다.stdout그리고stderr위 그림과 같이 어딘가에 출력됩니다. 그것 감사 목적과 문제 진단에 도움이 됩니다. (참조PostgreSQL : 문서 : 8.1 : 토토 파일 유지 관리더 많은 것을 원하시면 로그 파일 처리에 대해 자세히 논의합니다.)
그우체국장또한 여러 가지를 취합니다. 다른 명령줄 옵션. 자세한 내용은 다음을 참조하세요.우체국장참조 페이지 및제17장아래.
이 쉘 구문은 금방 지루해질 수 있습니다. 그러므로 래퍼 프로그램pg_ctl8528_8581
pg_ctl start -l 로그 파일
백그라운드에서 토토 사이트 순위를 시작하고 출력을 넣을 것입니다 명명된 로그 파일에 넣습니다.-D옵션 여기서와 같은 의미를 갖습니다.우체국장. pg_ctl이다 토토 사이트 순위를 중지할 수도 있습니다.
일반적으로 다음과 같은 경우 데이터베이스 서버를 시작하려고 합니다. 컴퓨터 부츠.자동시작 스크립트는 운영 체제별로 다릅니다. 몇 가지가 있습니다 와 함께 배포됨포스트그레SQL에기여/시작-스크립트디렉토리. 설치하려면 루트 권한이 필요합니다.
시스템마다 시작 규칙이 다릅니다 부팅 시 데몬. 많은 시스템에 파일이 있습니다./etc/rc.local또는/etc/rc.d/rc.local. 다른 사람들은 사용함rc.d디렉터리. 무엇을 하든 토토 사이트 순위는 에 의해 실행되어야 합니다.포스트그레SQL사용자 계정그리고 그 사람이 아닌 루트또는 다른 사용자. 그러므로 아마도 당신은 다음을 사용하는 명령su -c '...' 포스트그레스. 예를 들면:
su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
다음은 운영 체제별 몇 가지 제안 사항입니다. (에서 각 경우에 적절한 설치 디렉터리를 사용해야 하며 일반적인 값을 표시하는 사용자 이름입니다.)
용FreeBSD, 보세요 파일contrib/start-scripts/freebsd에서PostgreSQL출처 배포.
켜짐오픈BSD, 다음을 추가하세요. 파일에 대한 다음 줄/etc/rc.local:
if [ -x /usr/local/pgsql/bin/pg_ctl -a -x /usr/local/pgsql/bin/postmaster ]; 그럼
    su - -c '/usr/local/pgsql/bin/pg_ctl start -l /var/postgresql/log -s' postgres
    에코 -n 'postgresql'
fi
    /usr/local/pgsql/bin/pg_ctl start -l 로그 파일 -D /usr/local/pgsql/data
에/etc/rc.d/rc.local또는 다음을 보세요 파일contrib/start-scripts/linux에서PostgreSQL출처 배포.
켜기솔라리스, 파일을 생성하세요 전화함/etc/init.d/postgresql그것 다음 줄이 포함되어 있습니다:
su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l 로그 파일 -D /usr/local/pgsql/data"
그런 다음 여기에 심볼릭 링크를 생성하십시오./etc/rc3.dasS99postgresql.
그동안우체국장실행 중입니다.PID파일에 저장되어 있습니다postmaster.pid데이터 디렉토리에 있습니다. 이는 다중을 방지하는 데 사용됩니다.우체국장동일한 데이터에서 실행되는 프로세스 디렉토리를 종료하는 데에도 사용할 수 있습니다.우체국장프로세스.
서버가 실패할 수 있는 몇 가지 일반적인 이유가 있습니다. 시작합니다. 서버의 로그 파일을 확인하거나 직접 시작하세요. (표준 출력이나 표준 오류를 리디렉션하지 않고) 및 참조 어떤 오류 메시지가 나타나는지. 아래에서는 가장 중요한 몇 가지를 설명합니다. 일반적인 오류 메시지에 대해 자세히 알아보세요.
로그: IPv4 소켓을 바인딩할 수 없습니다: 주소가 이미 사용 중입니다. 힌트: 다른 포스트마스터가 이미 포트 5432에서 실행되고 있습니까? 그렇지 않은 경우 몇 초 정도 기다렸다가 다시 시도하십시오. 치명적: TCP/IP 청취 소켓을 생성할 수 없습니다.
이것은 일반적으로 암시하는 바를 의미합니다: 당신이 시작하려고 시도했습니다 또 다른우체국장동일한 포트에 이미 실행 중인 곳입니다. 그러나 커널 오류가 발생하면 메시지는 그렇지 않습니다.주소가 이미 있음 사용또는 그 변형 중 하나가 있을 수 있습니다. 문제. 예를 들어,우체국장예약된 포트 번호에 그릴 수 있음 다음과 같은 것:
$ 포스트마스터 -p 666로그: IPv4 소켓을 바인딩할 수 없습니다: 권한이 거부되었습니다. 힌트: 다른 포스트마스터가 이미 포트 666에서 실행 중입니까? 그렇지 않은 경우 몇 초 정도 기다렸다가 다시 시도하십시오. 치명적: TCP/IP 청취 소켓을 생성할 수 없습니다.
다음과 같은 메시지
치명적: 공유 메모리 세그먼트를 생성할 수 없음: 잘못된 인수 세부 사항: 실패한 시스템 호출은 shmget(key=5440001, size=4011376640, 03600)입니다.
아마도 공유 크기에 대한 커널의 제한을 의미할 것입니다. 메모리가 작업 영역보다 작습니다.PostgreSQL생성을 시도 중입니다(4011376640 이 예에서는 바이트). 아니면 자신이 없다는 뜻일 수도 있습니다. System-V 스타일 공유 메모리 지원이 구성되어 있습니다. 커널이 전혀 없습니다. 임시 해결 방법으로 다음을 시도해 볼 수 있습니다. 버퍼 수가 평소보다 적은 서버 (shared_buffers). 결국에는 커널을 재구성하여 허용되는 공유 메모리 크기. 이 메시지를 볼 수도 있습니다. 동일한 시스템에서 여러 서버를 시작하려고 할 때 요청된 총 공간이 커널 제한을 초과합니다.
다음과 같은 오류
치명적: 세마포어를 생성할 수 없음: 기기에 남은 공간이 없습니다. 세부 사항: 실패한 시스템 호출은 semget(5440126, 17, 03600)입니다.
그렇습니다아님평균 디스크 공간이 부족합니다. 이는 커널의 한계를 의미합니다. 수시스템 V세마포어가 숫자보다 작습니다PostgreSQL생성을 원합니다. 위와 같이 당신은 토토 사이트 순위를 시작하면 문제를 해결할 수 있습니다. 허용되는 연결 수가 감소합니다(max_connections), 하지만 결국에는 커널 제한을 늘리고 싶을 것입니다.
당신이 다음을 얻는다면"불법 시스템 전화해"오류, 공유 메모리 또는 세마포어는 커널에서 전혀 지원되지 않습니다. 그 안에 유일한 옵션은 커널을 재구성하여 활성화하는 것입니다. 이러한 기능을 제공합니다.
구성에 대한 세부정보시스템 뷔 IPC시설은 주어진섹션 16.4.1.
클라이언트 측에서는 오류 조건이 가능하지만 매우 다양하고 응용 프로그램에 따라 다르며 그 중 일부는 서버가 시작된 방법과 직접적인 관련이 있습니다. 아래에 표시된 조건 이외의 조건을 문서화해야 합니다. 해당 클라이언트 애플리케이션과 함께.
psql: 서버에 연결할 수 없습니다: 연결이 거부되었습니다.
        서버가 "server.joe.com" 호스트에서 실행 중이고 수락합니까?
        포트 5432의 TCP/IP 연결?
    이것은 일반적인 내용입니다"나는 찾을 수 없었습니다 대화할 토토 사이트 순위"실패. 위와 같을 때 TCP/IP 통신이 시도됩니다. 흔히 저지르는 실수는 TCP/IP 연결을 허용하도록 토토 사이트 순위를 구성하는 것을 잊어버리십시오.
또는 Unix 도메인을 시도할 때 이것을 얻게 됩니다. 로컬 서버에 대한 소켓 통신:
psql: 서버에 연결할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.
        서버가 로컬에서 실행 중이고 수락합니까?
        Unix 도메인 소켓 "/tmp/.s.PGSQL.5432"의 연결?
    마지막 줄은 클라이언트가 다음인지 확인하는 데 유용합니다. 올바른 장소에 연결하려고 합니다. 실제로 없다면 서버가 실행 중인 경우 커널 오류 메시지는 일반적으로 둘 중 하나일 것입니다연결 거부됨또는해당 파일이 없거나 디렉토리, 그림과 같습니다. (인식하는 것이 중요하다 그연결이 거부되었습니다.에 이 맥락은 그렇습니다.아님서버가 귀하의 연결 요청을 받았으나 거부했다는 뜻입니다 그것. 해당 경우에는 다음과 같이 다른 메시지가 생성됩니다.토토 사이트 추천 :.) 다음과 같은 기타 오류 메시지연결 시간 초과더 많은 내용을 나타낼 수 있음 네트워크 연결 부족과 같은 근본적인 문제입니다.