이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

16.3. 데이터베이스 토토 사이트 순위 시작

누군가가 데이터베이스에 접근하기 전에 먼저 다음을 시작해야 합니다. 데이터베이스 서버. 데이터베이스 서버 프로그램이 호출됩니다.우체국장.우체국장찾을 위치를 알아야 합니다 사용하기로 되어 있는 데이터. 이는 다음과 같이 수행됩니다.-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출처 배포.

  • 켜짐NetBSD, 다음 중 하나를 사용하세요.FreeBSD또는리눅스다음에 따라 스크립트 시작 선호합니다.

  • 켜기솔라리스, 파일을 생성하세요 전화함/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데이터 디렉토리에 있습니다. 이는 다중을 방지하는 데 사용됩니다.우체국장동일한 데이터에서 실행되는 프로세스 디렉토리를 종료하는 데에도 사용할 수 있습니다.우체국장프로세스.

16.3.1. 토토 사이트 순위 시작 실패

서버가 실패할 수 있는 몇 가지 일반적인 이유가 있습니다. 시작합니다. 서버의 로그 파일을 확인하거나 직접 시작하세요. (표준 출력이나 표준 오류를 리디렉션하지 않고) 및 참조 어떤 오류 메시지가 나타나는지. 아래에서는 가장 중요한 몇 가지를 설명합니다. 일반적인 오류 메시지에 대해 자세히 알아보세요.

로그: 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.

16.3.2. 클라이언트 연결 문제

클라이언트 측에서는 오류 조건이 가능하지만 매우 다양하고 응용 프로그램에 따라 다르며 그 중 일부는 서버가 시작된 방법과 직접적인 관련이 있습니다. 아래에 표시된 조건 이외의 조건을 문서화해야 합니다. 해당 클라이언트 애플리케이션과 함께.

psql: 서버에 연결할 수 없습니다: 연결이 거부되었습니다.
        서버가 "server.joe.com" 호스트에서 실행 중이고 수락합니까?
        포트 5432의 TCP/IP 연결?

이것은 일반적인 내용입니다"나는 찾을 수 없었습니다 대화할 토토 사이트 순위"실패. 위와 같을 때 TCP/IP 통신이 시도됩니다. 흔히 저지르는 실수는 TCP/IP 연결을 허용하도록 토토 사이트 순위를 구성하는 것을 잊어버리십시오.

또는 Unix 도메인을 시도할 때 이것을 얻게 됩니다. 로컬 서버에 대한 소켓 통신:

psql: 서버에 연결할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.
        서버가 로컬에서 실행 중이고 수락합니까?
        Unix 도메인 소켓 "/tmp/.s.PGSQL.5432"의 연결?

마지막 줄은 클라이언트가 다음인지 확인하는 데 유용합니다. 올바른 장소에 연결하려고 합니다. 실제로 없다면 서버가 실행 중인 경우 커널 오류 메시지는 일반적으로 둘 중 하나일 것입니다연결 거부됨또는해당 파일이 없거나 디렉토리, 그림과 같습니다. (인식하는 것이 중요하다 그연결이 거부되었습니다.에 이 맥락은 그렇습니다.아님서버가 귀하의 연결 요청을 받았으나 거부했다는 뜻입니다 그것. 해당 경우에는 다음과 같이 다른 메시지가 생성됩니다.토토 사이트 추천 :.) 다음과 같은 기타 오류 메시지연결 시간 초과더 많은 내용을 나타낼 수 있음 네트워크 연결 부족과 같은 근본적인 문제입니다.