이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 꽁 머니 : 문서 : 17 : 17.7. 플랫폼 별 노트버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

15.7. 플랫폼 별 노트

이 섹션에서는 추가 플랫폼 별 문제를 문서화합니다 토토 꽁 머니의 설치 및 설정과 관련하여. 확실히하십시오 설치 지침을 읽고 특히섹션 15.2또한 checkPostgreSQL : 문서 : 9.2 : 범퍼카 토토 테스트회귀 테스트 결과의 해석.

여기서 다루지 않은 플랫폼은 알려지지 않았습니다 플랫폼 별 설치 문제.

15.7.1. AIX

PostgreSQL은 AIX에서 작동하지만 제대로 설치합니다 도전 할 수 있습니다. AIX 버전은 4.3.3에서 6.1입니다 지원되는 것으로 간주됩니다. GCC 또는 기본 IBM을 사용할 수 있습니다 컴파일러XLC. 일반적으로 최근 사용 AIX 및 토토 꽁 머니 버전이 도움이됩니다. 빌드 팜을 확인하십시오 어떤 버전의 AIX가 알려져 있는지에 대한 최신 정보 일하다.

지원되는 AIX의 최소 권장 수정 레벨 버전은 다음과 같습니다.

AIX 4.3.3

유지 보수 레벨 11 + Post ML11 번들

AIX 5.1

유지 보수 레벨 9 + Post ML9 번들

AIX 5.2

기술 레벨 10 서비스 팩 3

AIX 5.3

기술 레벨 7

AIX 6.1

기본 레벨

현재 수정 수준을 확인하려면 사용Oslevel -rAIX 4.3.3에서 AIX 5.2 ML 7, 또는OSLEVEL -S이후 버전에서.

다음을 사용구성플래그 Readline 또는 Libz를 설치 한 경우 자신의 것 외에 안에/usr/local: -with-includes =/usr/local/include -with-libraries =/usr/local/lib.

15.7.1.1. GCC 문제

AIX 5.3에서 몇 가지 문제가 발생했습니다 GCC를 사용하여 컴파일하고 실행하려면 PostgreSQL.

3.3.2 이후의 GCC 버전을 사용하고 싶을 것입니다. 특히 사전 패키지 버전을 사용하는 경우. 우리는 좋았습니다 4.0.1로 성공했습니다. 이전 버전의 문제가있는 것 같습니다 IBM이 GCC를 포장하는 방식과 더 관련이 있습니다. GCC의 실제 문제, GCC를 직접 컴파일하는 경우 이전 버전으로 성공했을 수도 있습니다. GCC.

15.7.1.2. 유닉스 도메인 소켓이 깨 졌

aix 5.3은 문제가 있습니다sockaddr_storage는 크지 않은 것으로 정의되어 있지 않습니다 충분한. 버전 5.3에서 IBM은의 크기를 늘 렸습니다.sockaddr_un, 주소 구조 유닉스 도메인 소켓이지만 그에 따라 증가하지는 않았다 크기sockaddr_storage. 그만큼 결과는 Unix-Domain 소켓을 사용하려는 시도입니다. 토토 꽁 머니을 사용하면 LIBPQ가 데이터 구조를 넘쳐납니다. TCP/IP 연결은 작동하지만 Unix-Domain 소켓은 작동하지 않습니다. 회귀 테스트가 작동하는 것을 방지합니다.

문제는 IBM에보고되었으며 버그로 기록됩니다. 보고서 PMR29657. 유지 보수 수준으로 업그레이드하는 경우 5300-03 또는 나중에이 수정 사항이 포함됩니다. 빠른 해결 방법은입니다 변경하려면_ss_maxsize~ 1025 in/usr/include/sys/socket.h. ~ 안에 두 경우 모두 포스트 그레 스크린을 다시 컴파일하면 수정되면 헤더 파일.

15.7.1.3. 인터넷 주소 문제

토토 꽁 머니은 시스템에 의존합니다getAddrinfoIP 주소를 구문 분석하는 기능 안에Listen_Addresses, pg_hba.conf등. 이전 버전의 AIX가 있습니다 이 기능의 모듬 버그. 관련 문제가있는 경우 이러한 설정에 적합한 AIX 수정 레벨로 업데이트 위의 내용은 그것을 처리해야합니다.

한 사용자 보고서 :

AIX 5.3에서 PostgreSQL 버전 8.1을 구현할 때, 우리 통계 수집가가있는 문제에 주기적으로 달렸다 일 것이다"신비한"오지 마십시오 성공적으로. 이것은 예상치 못한 결과 인 것 같습니다 IPv6 구현의 동작. Postgresql처럼 보입니다 그리고 IPv6은 AIX 5.3에서 잘 작동하지 않습니다.

다음 조치 중 하나"수정"문제.

  • LocalHost의 IPv6 주소 삭제 :

    (루트로)
    # ifconfig lo0 inet6 :: 1/0 delete
  • 순 서비스에서 IPv6을 제거합니다. 파일/etc/netsvc.confaix는 대략적으로입니다 동등한/etc/nsswitch.confSolaris/Linux에서. 그만큼 AIX의 기본값은 다음과 같습니다.

    hosts = local, bind

    이것을 대체하십시오 :

    hosts = local4, bind4

    IPv6 주소 검색을 비활성화하려면

경고

이것은 실제로 관련 문제에 대한 해결 방법입니다 IPv6 지원의 미성숙에 눈에 띄게 향상되었습니다 AIX 5.3 과정에서 릴리스. 그것은 효과가 있습니다 AIX 버전 5.3을 사용하지만 문제에 대한 우아한 해결책. 보고되었습니다 이 해결 방법은 불필요 할뿐만 아니라 IPv6 지원이있는 AIX 6.1에서 문제를 일으 킵니다 더 성숙해집니다.

15.7.1.4. 메모리 관리

aix는 그 방식과 관련하여 다소 특이 할 수 있습니다. 메모리 관리를합니다. 많은 서버를 가질 수 있습니다 램이없는 기가 바이트의 배수이지만 여전히 나옵니다. 응용 프로그램을 실행할 때 메모리 또는 주소 공간 오류. 하나 예는입니다.Createlang실패 비정상적인 오류. 예를 들어, 소유자로 실행됩니다 토토 꽁 머니 설치 :

-bash-3.00 $ Createlang Plperl Template1
Createlang : 언어 설치 실패 : 오류 : 라이브러리를로드 할 수 없음 "/opt/dbs/pgsql748/lib/plperl.so": 메모리 주소가 프로세스의 주소 공간에 없습니다.

그룹을 소유 한 그룹에서 비 소유자로 실행합니다 토토 꽁 머니 설치 :

-bash-3.00 $ Createlang Plperl Template1
Createlang : 언어 설치 실패 : 오류 : 라이브러리를로드 할 수 없습니다 "/opt/dbs/pgsql748/lib/plperl.so": 잘못된 주소

다른 예제는 postgresql의 메모리 오류가 아닙니다. 모든 메모리 할당이 거의 또는 더 큰 서버 로그 256MB 이상 실패.

이러한 모든 문제의 전반적인 원인은 기본값입니다. 서버 프로세스에서 사용하는 비트 및 메모리 모델. 에 의해 기본값, AIX에 지어진 모든 이진은 32 비트입니다. 이것은 그렇지 않습니다 사용중인 하드웨어 유형 또는 커널에 따라 다릅니다. 이 32 비트 프로세스는 256MB로 배치 된 4GB의 메모리로 제한됩니다. 몇 가지 모델 중 하나를 사용하는 세그먼트. 기본값이 허용됩니다 단일 세그먼트를 공유하므로 힙에서 256MB 미만 스택으로.

의 경우Createlang예, 위의 예, Umask 및 권한을 확인하십시오. PostgreSQL 설치의 바이너리. 바이너리 이 예제에 관여하여 32 비트이고 모드로 설치되었습니다. 755 대신 750. 이에 설정된 권한으로 인해 패션, 소유주 또는 소유자 그룹의 구성원 만 라이브러리를로드 할 수 있습니다. 세계에서 읽을 수 없기 때문에 로더 공유 라이브러리 세그먼트는 그렇지 않으면 배치.

the"이상"이를위한 솔루션 64 비트의 토토 꽁 머니 빌드를 사용하는 것이지만 32 비트 프로세서가있는 시스템은 할 수 있기 때문에 항상 실용적입니다 64 비트 바이너리를 구축하지만 실행하지 않습니다.

32 비트 바이너리가 필요한 경우ldr_cntrltomaxdata = 0xn0000000, 여기서 1 <= n <= 8, 토토 꽁 머니 서버를 시작하기 전에 다른 시도를 시도하십시오 값과토토 꽁 머니.conf설정 만족스럽게 작동하는 구성을 찾으려면 이 용도 의ldr_cntrl당신이 원하는 것을 Aix에게 알려줍니다 서버MaxData바이트 세트 힙을 제쳐두고 256MB 세그먼트로 할당되었습니다. 당신이 실행 가능한 구성 찾기ldedit이 바이너리를 수정하는 데 사용될 수 있습니다 원하는 힙 크기를 사용하는 데 기본값이 있습니다. 토토 꽁 머니 재 구축, 통과구성 ldflags = "-wl, -bmaxdata : 0xn0000000 "동일하게 달성합니다 효과.

64 비트 빌드의 경우Object_Mode~ 64 and Passcc = "gcc -maix64"andldflags = "-wl, -bbigtoc"to구성. (옵션XLC다를 수 있습니다.) 생략하면Object_Mode, 빌드가 실패 할 수 있습니다 링커 오류. 언제Object_Modeis 세트, 그것은 aix의 빌드 유틸리티와 같은에게 알려줍니다.ar, asld기본적으로 어떤 유형의 개체 취급에.

기본적으로 페이징 공간의 과도한 커미트가 발생할 수 있습니다. 하는 동안 우리는 이것이 발생하는 것을 보지 못했습니다. Aix는 프로세스를 죽일 것입니다. 메모리가 부족하고 오버 커미트에 액세스됩니다. 그만큼 우리가 본 것 중 가장 가까운 것은 포크가 실패하는 것입니다. 시스템은 다른 사람을위한 메모리가 충분하지 않다고 결정했습니다. 프로세스. AIX의 다른 많은 부분과 마찬가지로 페이징 공간 할당 방법 및 메모리 외 킬 킬은 a에서 구성 할 수 있습니다 이것이 문제가되는 경우 시스템 또는 프로세스 전체적으로.

참조 및 자원

"대규모 프로그램 지원",aix 문서 : 일반 프로그래밍 개념 : 쓰기 및 디버깅 프로그램.

"프로그램 주소 공간 개요",aix 문서 : 일반 프로그래밍 개념 : 쓰기 및 디버깅 프로그램.

"가상 메모리의 성능 개요 관리자 (VMM)",AIX 문서 : 성능 관리 안내서.

"페이지 공간 할당",aix 문서 : 성과 관리 안내서.

"페이징 공간 임계 값 튜닝",aix 문서 : 성과 관리 안내서.

15.7.2. Cygwin

토토 꽁 머니은 Linux와 같은 Cygwin을 사용하여 구축 할 수 있습니다 Windows의 환경이지만 그 방법은 기본 Windows 빌드 (참조16 장) 및 서버 실행 Cygwin 하에서 더 이상 권장되지 않습니다.

소스에서 빌드 할 때는 정상에 따라 진행하십시오 설치 절차 (예 :./configure; 만들다; 등), 다음과 같은 징계를 지적합니다 차이점 :

  • 이전에 Cygwin bin 디렉토리를 사용하도록 경로를 설정하십시오. Windows 유틸리티. 이것은 문제를 예방하는 데 도움이됩니다 편집.

  • gnu make 명령은입니다.make, 아님gmake.

  • theAdduser명령은 아닙니다 지원; 적절한 사용자 관리 응용 프로그램을 사용하십시오 Windows NT, 2000 또는 XP에서. 그렇지 않으면이 단계를 건너 뜁니다.

  • theSU명령은 아닙니다 지원; SSH를 사용하여 Windows NT, 2000 또는 또는 xp. 그렇지 않으면이 단계를 건너 뜁니다.

  • OpenSSL이 지원되지 않습니다.

  • 시작Cygserver공유 메모리 지원. 이렇게하려면 명령을 입력하십시오/usr/sbin/cygserver &. 이 프로그램 Postgresql 서버를 시작할 때마다 실행해야합니다. 또는 데이터베이스 클러스터 초기화 (initdb). 기본값Cygserver구성이 필요할 수 있습니다 변경 (예 : 증가SEMMNS) to 시스템 부족으로 인해 PostgreSQL이 실패하지 않도록합니다. 자원.

  • 로케일이있는 일부 시스템에서는 건물이 실패 할 수 있습니다. C보다 사용 중입니다. 이것을 고치려면, 로케일을 c로 설정하십시오Export Lang = C.UTF8전 건축 한 다음 이전 설정으로 다시 설정하고 PostgreSQL을 설치 한 후

  • 병렬 회귀 테스트 (만들기 확인하다)는 가짜 회귀 테스트 실패를 생성 할 수 있습니다 넘어져서Listen ()백 로그 대기열 연결은 오류 또는 교수형을 거부했습니다. 당신은 제한 할 수 있습니다 make variable을 사용한 연결 수max_connections따라서 :

    make max_connections = 5 점검

    (일부 시스템에서는 최대 약 10 개를 가질 수 있습니다. 동시 연결).

설치할 수 있습니다Cygserver및 토토 꽁 머니 서버는 Windows NT 서비스입니다. 을 위한 이 작업을 수행하는 방법에 대한 정보는를 참조하십시오.readme토토 꽁 머니에 포함 된 문서 Cygwin의 이진 패키지. 디렉토리에 설치되어 있습니다/usr/share/doc/cygwin.

15.7.3. hp-ux

PostgreSQL 7.3+는 시리즈 700/800 PA-RISC에서 작동해야합니다 적절한 시스템이 주어지면 HP-ux 10.x 또는 11.x를 실행하는 기계 패치 레벨 및 빌드 도구. 적어도 한 명의 개발자가 일상적으로 HP-ux 10.20에 대한 테스트를 통해 성공한 보고서가 있습니다. HP-UX 11.00 및 11.11의 설치.

PostgreSQL 소스 배포를 제외하고는 필요합니다 GNU Make (HP의 제조사는 할 수 없음), GCC 또는 HP의 전체 ANSI C 컴파일러. 당신이 오히려 GIT 소스에서 구축하려는 경우 분포 Tarball보다 Flex (GNU Lex)도 필요합니다. 및 들소 (GNU YACC). 우리는 또한 당신이 있는지 확인하는 것이 좋습니다 HP 패치에서 상당히 최신. 당신이 있다면 최소한 HP-UX 11.11에 64 비트 이진 건물 Binaries는 PHSS_30966이 필요할 수 있습니다. (11.11) 또는 후임자 패치 그렇지 않으면initdb5 월 교수형 :

PHSS_30966 S700_800 LD (1) 및 링커 도구 누적 패치

on LIBC 및 LD/DLD에 최신의 일반 원칙 HP의 C를 사용하는 경우 패치 및 컴파일러 패치 컴파일러. hp의 지원 사이트를 참조하십시오http : //itrc.hp.comftp : //us-ffs.external.hp.com/무료 사본 그들의 최신 패치.

PA-RISC 2.0 기계를 구축하고 있고 원하는 경우 GCC를 사용하여 64 비트 바이너리가 있으므로 GCC 64 비트를 사용해야합니다. 버전. HP-UX PA-RISC 및 ITANIUM 용 GCC 이진 |http : //www.hp.com/go/gcc. 얻는 것을 잊지 마십시오 동시에 binutils를 설치하십시오.

PA-RISC 2.0 기계를 구축하는 경우 PA-RISC 1.1 기계에서 실행하기 위해 바이너리를 컴파일 한 바이너리 지정하려면+daportableincflags.

HP-ux Itanium 기계를 작성하는 경우 종속 패치가있는 최신 HP Ansi C 컴파일러가 필요하거나 후임 패치 :

PHSS_30848 S700_800 HP C 컴파일러 (A.05.57)
PHSS_30849 S700_800 U2COMP/BE/플러그인 라이브러리 패치

HP의 C 컴파일러와 GCC가 모두 있으면 실행할 때 사용할 컴파일러를 명시 적으로 선택하려면구성:

./Configure CC = CC

HP의 C 컴파일러 또는

./configure cc = gcc

GCC 용. 이 설정을 생략하면 구성이 선택됩니다GCC선택이 있다면.

29999_30040/usr/local/pgsql/opt. 만약에 그래서,를 사용하십시오.-prefix전환구성.

회귀 테스트에는 약간의 저차 자리가있을 수 있습니다 지오메트리 테스트의 차이에 따라 다릅니다 사용하는 컴파일러 및 수학 라이브러리 버전. 다른 것 오류는 의심의 원인입니다.

15.7.4. irix

토토 꽁 머니은 MIPS에서 성공적으로 실행되는 것으로보고되었습니다 R8000, R10000 (IP25 및 IP27) 및 R12000 (IP35) 프로세서, MIPSPRO와 함께 IRIX 6.5.5M, 6.5.12, 6.5.13 및 6.5.26 실행 컴파일러 버전 7.30, 7.3.1.2m, 7.3 및 7.4.4m.

MIPSPRO 전체 ANSI C 컴파일러가 필요합니다. 거기 있습니다 GCC로 구축하려는 문제. 알려진 GCC 버그입니다 (아닙니다 버전 3.0 기준으로 수정) 반환하는 함수 사용과 관련 특정 종류의 구조. 이 버그는와 같은 함수에 영향을 미칩니다.inet_ntoa, inet_lnaof, inet_netof, inet_makeaddrSEMCTL. 그것은 강제로 고정되어야합니다 해당 기능을 LIBGCC와 연결하는 코드이지만 아직 테스트.

MIPSPRO 컴파일러의 7.4.1m 버전이 알려져 있습니다. 잘못된 코드를 생성합니다. 증상은"유효하지 않은 기본 체크 포인트 레코드"시도 할 때 데이터베이스를 시작하려면.) 버전 7.4.4m은 괜찮습니다. 의 상태 중간 버전은 확실하지 않습니다.

다음과 같은 편집 문제가있을 수 있습니다.

CC-1020 CC : 오류 파일 = pqcomm.c, line = 427
  식별자 "tcp_nodelay"는 정의되지 않았습니다.

                if (setsockopt (port- sock, ipproto_tcp, tcp_nodelay,

일부 버전에는 tcp 정의가 포함되어 있습니다.SYS/XTI.H, 추가해야합니다#include <sys/xti.hinSRC/백엔드/libpq/pqcomm.cand inSRC/인터페이스/libpq/fe-connect.c. 당신이 이것을 만나, 우리가 적절한 것을 개발할 수 있도록 알려주십시오. 고치다.

회귀 테스트에서는 약간의 저격수가있을 수 있습니다 FPU가 어떤 FPU인지에 따라 형상 테스트의 차이 당신은 사용합니다. 다른 오류는 의심의 원인입니다.

15.7.5. mingw/네이티브 Windows

Windows 용 Postgresql은 Unix와 같은 Mingw를 사용하여 구축 할 수 있습니다. Microsoft 운영 체제 또는 사용을위한 환경을 구축하십시오 마이크로 소프트Visual C ++컴파일러 스위트. Mingw 빌드 변형은 일반 빌드를 사용합니다 이 장에 설명 된 시스템; Visual C ++ 빌드는 작동합니다 완전히 다르게 설명되어16 장. 그것은 완전히 원주민입니다 Mingw와 같은 추가 소프트웨어를 구축하고 사용하지 않습니다. 기성품 설치 프로그램은 메인 PostgreSQL 웹 사이트에서 사용할 수 있습니다.

기본 Windows 포트에는 32 또는 64 비트 버전이 필요합니다. Windows 2000 이상. 초기 운영 체제에는 없습니다 충분한 인프라 (그러나 Cygwin이 사용될 수 있음). Mingw, Unix와 같은 빌드 도구 및 MSYS, 컬렉션 같은 쉘 스크립트를 실행하는 데 필요한 유닉스 도구구성,에서 다운로드 할 수 있습니다http : //www.mingw.org/. 도망 갈 필요도 없습니다 결과 바이너리; 그들은 만 만들기 위해서만 필요합니다 바이너리.

mingw를 사용하여 64 비트 바이너리를 만들려면 64 비트를 설치하십시오. 에서 도구 세트http : //mingw-w64.sourceforge.net/를 넣으십시오 의 빈 디렉토리PATH, run구성with-host = x86_64-w64-mingw32옵션.

모든 것을 설치 한 후에는 제안됩니다 당신은 달리기PSQL​​Undercmd.exe, MSYS 콘솔에는 버퍼링이 있습니다 문제.

15.7.5.1. 충돌 덤프 수집 Windows

Windows의 PostgreSQL이 충돌하면 생성하다Minidumps충돌 원인을 추적하는 데 사용됩니다. 유닉스에 코어 덤프. 이 덤프는를 사용하여 읽을 수 있습니다.Windows 디버거 도구또는 사용Visual Studio. 에게 창에서 덤프 생성을 활성화하고 a 하위 디렉토리 이름CrashDumps클러스터 데이터 디렉토리 내부. 그러면 덤프가 될 것입니다 이 디렉토리에 고유 한 이름을 기준으로 작성했습니다. 충돌 과정의 식별자 및 현재 시간 충돌.

15.7.6. SCO OpenServer 및 SCO Unixware

PostgreSQL은 SCO Unixware 7 및 SCO OpenServer에서 구축 할 수 있습니다. 5. OpenServer에서 OpenServer 개발을 사용할 수 있습니다. 키트 또는 범용 개발 키트. 그러나 일부 조정 아래에 설명 된대로 필요할 수 있습니다.

15.7.6.1. Skunkware

SCO Skunkware CD 사본을 찾아야합니다. 그만큼 Skunkware CD는 Unixware 7 및 현재 버전에 포함되어 있습니다. OpenServer 5. Skunkware에는 즉시 설치 버전이 포함되어 있습니다 인터넷에서 이용할 수있는 많은 인기있는 프로그램 중 예를 들어, gzip, gunzip, gnu make, flex 및 bison은 모두 포함. Unixware 7.1의 경우이 CD는 이제 "Open"으로 표시됩니다 라이센스 소프트웨어 보충제 ".이 CD가없는 경우 소프트웨어는에서 사용할 수 있습니다.http : //www.sco.com/skunkware/.

Skunkware는 Unixware에 대한 다른 버전을 가지고 있습니다 OpenServer. 올바른 버전을 설치하십시오 아래에 언급 된 경우를 제외하고 운영 체제.

unixware 7.1.3 이상에서 GCC 컴파일러가 포함되어 있습니다. gnu make와 같이 UDK CD에서.

15.7.6.2. GNU Make

당신은 GNU Make 프로그램을 사용해야합니다. Skunkware CD. 기본적으로로 설치됩니다./usr/local/bin/make. 혼란을 피하기 위해 SCO만들기프로그램, 원할 수도 있습니다 GNU 이름 바꾸려면만들기togmake.

unixware 7.1.3 이상으로 GNU Make 프로그램은 UDK CD의 OSTK 부분 및/usr/gnu/bin/gmake.

15.7.6.3. readline

Readline 라이브러리는 Skunkware CD에 있습니다. 그러나 그렇지 않습니다 Unixware 7.1 Skunkware CD에 포함됩니다. 당신이 있다면 Unixware 7.0.0 또는 7.0.1 Skunkware CDS를 설치할 수 있습니다. 거기에서. 그렇지 않으면 시도http : //www.sco.com/skunkware/.

기본적으로 readline 설치/usr/local/liband/usr/local/include. 그러나 토토 꽁 머니구성프로그램은 찾을 수 없습니다 도움없이 거기. Readline을 설치 한 경우 사용하십시오 다음 옵션구성:

./configure-with-libraries =/usr/local/lib--with-includes =/usr/local/conture

15.7.6.4. OpenServer에서 UDK 사용

새로운 Universal Development Kit (UDK)를 사용하는 경우 OpenServer의 컴파일러는 다음의 위치를 ​​지정해야합니다. UDK 라이브러리 :

./configure-with-libraries =/udk/usr/lib--with-includes =/udk/usr/conture

이들을 읽은 옵션과 함께 넣습니다 위에:

./configure-with-libraries = "/udk/usr/lib/usr/locr/lib"-with-includes = "/udk/usr/conlude/usr/local/conture"

15.7.6.5. 토토 꽁 머니 Man Pages 읽기

기본적으로 토토 꽁 머니 MAN 페이지가 설치됩니다/usr/local/pgsql/share/man. 에 의해 기본값, Unixware는 Man Pages를 찾지 않습니다. 장차 ~ 가 되는 읽을 수 있습니다를 수정해야합니다.ManPath변수/etc/default/man, 예 :

manpath =/usr/lib/scohelp/%l/man :/usr/dt/man :/usr/man :/usr/share/man :/usr/local/man :/usr/local/pgsql/share/man

OpenServer에서 일부 추가 연구가 필요합니다. 남자 시스템이 약간이기 때문에 남자 페이지를 사용할 수있게 만들어 다른 플랫폼과 다릅니다. 현재 PostgreSQL은 다음과 같습니다 전혀 설치하지 마십시오.

15.7.6.6. 7.1.1B 기능 보충제의 C99 문제

OpenUnix와 함께 출시 된 컴파일보다 일찍 컴파일러 7.1.1B 기능을 포함하여 8.0.0 (Unixware 7.1.2) 보충, 지정해야 할 수도 있습니다-xbincflags또는CC환경 변수. 그만큼 이것에 대한 표시는 컴파일 오류입니다tuplesort.c인라인 함수 참조. 분명히 7.1.2 (8.0.0) 컴파일러에는 변화가있었습니다 그리고 너머.

15.7.6.7. Unixware에서 스레딩

스레딩을 위해필수use-kpthreadonalllibpq-using 프로그램. libpq 사용pthread_*호출입니다 에서만 사용할 수 있습니다.-kpthread/-kthread플래그

15.7.7. Solaris

PostgreSQL은 Solaris에 잘 지원됩니다. 최신 정보 운영 체제, 경험이 적은 문제가 적습니다. 아래 세부 사항.

15.7.7.1. 필수 도구

GCC 또는 Sun의 컴파일러 제품군으로 빌드 할 수 있습니다. 을 위한 더 나은 코드 최적화, Sun의 컴파일러는 강력합니다 SPARC 아키텍처에서 권장됩니다. 우리는 보고서를 들었습니다 GCC 2.95.1을 사용할 때의 문제; GCC 2.95.3 이상입니다 추천. Sun의 컴파일러를 사용하는 경우 조심하지 마십시오 선택하려면/usr/ucb/cc; 사용/opt/sunwspro/bin/cc.

당신은 Sun Studio를 다운로드 할 수 있습니다http : //developers.sun.com/sunstudio/downloads/. 많은 GNU 도구가 Solaris 10에 통합되어 있거나 Solaris Companion CD에 존재합니다. 패키지를 좋아한다면 Solaris의 이전 버전, 에서이 도구를 찾을 수 있습니다.http : //www.sunfreeware.com또는http : //www.blastwave.org. 출처를 선호하는 경우 보기http : //www.gnu.org/order/ftp.html.

15.7.7.2. OpenSSL 문제

OpenSSL 지원으로 PostgreSQL을 빌드 할 때 다음 파일에서 컴파일 오류 가져 오기 :

  • src/backend/libpq/crypt.c

  • src/backend/libpq/password.c

  • SRC/인터페이스/libpq/fe-auth.c

  • SRC/인터페이스/libpq/fe-connect.c

이것은 네임 스페이스 충돌 때문입니다 기준/usr/include/crypt.hOpenSSL에서 제공 한 헤더 및 헤더 파일

OpenSSL 설치 버전 0.9.6A로 업그레이드 이 문제를 해결합니다. Solaris 9 이상에는 최신 버전이 있습니다 Openssl.

15.7.7.3. 실패한 테스트 프로그램에 대한 불만 구성

if구성a 실패한 테스트 프로그램, 이것은 아마도 런타임의 경우 일 것입니다. 링커는 일부 라이브러리, 아마도 libz를 찾을 수 없습니다. libreadline 또는 다른 비표준 라이브러리와 같은 libssl. 올바른 위치를 가리려면를 설정하십시오.ldflags환경 변수구성명령 줄, 예 :

구성 ... ldflags = "-r/usr/sfw/lib :/opt/sfw/lib :/usr/local/lib"

참조LD자세한 내용은 맨 페이지.

15.7.7.4. 64 비트 빌드가 때때로 충돌합니다

Solaris 7 이상에서 64 비트 버전의 LIBC에는 버기vsnprintf루틴 토토 꽁 머니에서 불규칙한 코어 덤프로 연결됩니다. 가장 간단한 알려진 해결 방법은 토토 꽁 머니이 자체 버전의를 사용하도록 강요하는 것입니다.vsnprintf보다는 라이브러리 사본. 이렇게하려면 실행 한 후구성생성 된 파일 편집구성: insrc/makefile.global, 줄 변경

libobjs =

읽기

libobjs = snprintf.o

(이에 이미 나열된 다른 파일이있을 수 있습니다 변하기 쉬운. 주문은 중요하지 않습니다.) 그런 다음 평소와 같이 구축하십시오.

15.7.7.5. 최적의 성능을위한 컴파일

SPARC 아키텍처에서 Sun Studio는 강력합니다 컴파일에 권장됩니다. 사용해보십시오.-xo5생성 할 최적화 플래그 훨씬 더 빠른 바이너리. 그 깃발을 사용하지 마십시오 부동 소수점 작업의 행동 수정 및errno처리 (예 :-fast). 이 깃발은 일부를 올릴 수 있습니다 예를 들어 날짜/시간에 비표준 토토 꽁 머니 동작 컴퓨팅.

64 비트 바이너리를 사용할 이유가없는 경우 SPARC, 32 비트 버전을 선호합니다. 64 비트 작업은입니다 느리고 64 비트 바이너리는 32 비트보다 느립니다 변형. 반면에 AMD64 CPU의 32 비트 코드 가족은 기본이 아니므로 32 비트 코드가 이 CPU 가족에게는 상당한 느려

PostgreSQL 및 Solaris를 조정하기위한 일부 요령 성능은에서 찾을 수 있습니다.http : //www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp. 이 기사는 T2000 플랫폼에 중점을두고 있지만 많은 권장 사항 중 다른 하드웨어에서도 유용합니다. Solaris.

15.7.7.6. 토토 꽁 머니 추적에 dtrace 사용

예, dtrace를 사용하는 것이 가능합니다. 보다섹션 27.4추가 정보. 이것에서 더 많은 정보를 찾을 수 있습니다 기사:http : //blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in.

링크가 표시되면Postgres실행 가능 오류가 발생합니다 메시지와 같은 메시지 :

정의되지 않은 첫 번째 참조
 파일의 기호
aborttransaction utils/probes.o
Committransaction Utils/Probes.o
LD : 치명적 : 기호 참조 오류. Postgres에 기록 된 출력이 없습니다
Collect2 : LD는 1 종료 상태를 반환했습니다
Gmake : *** [Postgres] 오류 1

DTRACE 설치가 너무 오래되어 프로브를 처리 할 수 ​​없습니다. 정적 기능. Solaris 10U4 또는 최신이 필요합니다.