| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.1 : 지원되는 스포츠 토토 베트맨 | 위로 | 15장. 소스 코드에서 설치 | 다음 | |
이 섹션은 추가 플랫폼별 문제를 문서화합니다. PostgreSQL 설치 및 설정에 관한 내용입니다. 반드시 설치 지침을 읽으십시오. 특히섹션 15.2또한. 또한 확인하세요PostgreSQL : 문서 : 9.1 : 토토 사이트 순위 테스트에 관해서 회귀 테스트 결과의 해석.
여기에서 다루지 않은 플랫폼은 알려진 바가 없습니다. 플랫폼별 설치 문제.
PostgreSQL은 AIX에서 작동하지만 올바르게 설치하는 중 어려울 수 있습니다. 4.3.3부터 6.1까지의 AIX 버전은 지원되는 것으로 간주됩니다. GCC 또는 기본 IBM을 사용할 수 있습니다. 컴파일러xlc. 일반적으로 최근의 AIX 및 PostgreSQL 버전이 도움이 됩니다. 빌드 팜을 확인하세요. 어떤 AIX 버전이 알려져 있는지에 대한 최신 정보 일.
지원되는 AIX에 대한 최소 권장 수정 수준 버전은 다음과 같습니다:
유지관리 수준 11 + ML11 번들 게시
유지관리 수준 9 + ML9 번들 게시
기술 레벨 10 서비스 팩 3
기술 레벨 7
기본 레벨
현재 수정 수준을 확인하려면 다음을 사용하세요.oslevel -rAIX 4.3.3~AIX 5.2 ML 7 또는oslevel -s나중 버전에서.
다음을 사용하세요구성플래그 Readline 또는 libz를 설치한 경우 자신의 것 외에 에서/usr/로컬: --with-includes=/usr/local/include --with-libraries=/usr/local/lib.
AIX 5.3에서는 가져오는 데 몇 가지 문제가 있었습니다. PostgreSQL은 GCC를 사용하여 컴파일하고 실행합니다.
GCC 3.3.2 이후 버전을 사용하고 싶을 것입니다. 특히 사전 패키지 버전을 사용하는 경우. 우리는 좋았어 4.0.1로 성공했습니다. 이전 버전의 문제는 다음과 같습니다. IBM이 GCC를 패키지화한 방식보다 더 많은 관련이 있습니다. GCC와 관련된 실제 문제이므로 GCC를 직접 컴파일하면 이전 버전을 사용하면 성공할 수도 있습니다. GCC.
AIX 5.3에 문제가 있는 경우sockaddr_storage크게 정의되지 않았습니다. 충분하다. 버전 5.3에서 IBM은 다음의 크기를 늘렸습니다.sockaddr_un, 주소 구조 Unix 도메인 소켓이지만 그에 따라 소켓 수가 증가하지 않았습니다. 크기sockaddr_storage. 는 그 결과 Unix 도메인 소켓을 사용하려는 시도가 발생합니다. 와이즈 토토을 사용하면 libpq가 데이터 구조를 오버플로하게 됩니다. TCP/IP 연결은 제대로 작동하지만 Unix 도메인 소켓은 작동하지 않습니다. 회귀 테스트가 작동하지 못하게 됩니다.
이 문제는 IBM에 보고되었으며 버그로 기록되었습니다. PMR29657을 보고합니다. 유지보수 레벨 5300-03으로 업그레이드하는 경우 이상에는 이 수정 사항이 포함됩니다. 빠른 해결 방법은 다음과 같습니다. 변경하다_SS_MAXSIZE1025인치로/usr/include/sys/socket.h. 에서 두 경우 모두 수정된 후에 와이즈 토토을 다시 컴파일하십시오. 헤더 파일.
와이즈 토토은 시스템에 의존합니다.getaddrinfoIP 주소를 구문 분석하는 함수
에서listen_addresses, pg_hba.conf등. 이전 버전의 AIX에는
이 기능에는 다양한 버그가 있습니다. 관련된 문제가 있는 경우
이러한 설정으로 적절한 AIX 수정 레벨로 업데이트
위에 표시된 대로 처리해야 합니다.
한 사용자가 보고합니다:
AIX 5.3에서 PostgreSQL 버전 8.1을 구현할 때 우리는 주기적으로 통계 수집기에서 문제가 발생했습니다. 것입니다"신비하게"나오지 않음 성공적으로. 예상치 못한 결과인 것 같다. IPv6 구현의 동작. PostgreSQL처럼 보입니다. IPv6은 AIX 5.3에서 함께 잘 작동하지 않습니다.
다음 작업 중 하나"수정"문제.
로컬호스트에 대한 IPv6 주소 삭제:
(루트로) # ifconfig lo0 inet6 ::1/0 삭제
네트 서비스에서 IPv6를 제거하십시오. 파일/etc/netsvc.confAIX에서는 대략적으로 에 해당함/etc/nsswitch.confSolaris/Linux에서. 는 AIX의 기본값은 다음과 같습니다.
호스트=로컬,바인드
이것을 다음으로 바꾸십시오:
호스트=local4,bind4
IPv6 주소 검색을 비활성화합니다.
| 경고 |
|
이것은 실제로 다음과 관련된 문제에 대한 해결 방법입니다. IPv6 지원이 미성숙하여 눈에 띄게 개선됨 AIX 5.3 릴리스 과정 중. 그것은 효과가 있었다 AIX 버전 5.3을 사용하지만 문제에 대한 우아한 해결책. 보고된 바 있다 이 해결 방법은 불필요할 뿐만 아니라 IPv6 지원이 중단된 AIX 6.1에서 문제가 발생합니다. 좀 더 성숙해지세요. |
AIX는 작동 방식이 다소 독특할 수 있습니다. 메모리 관리를 합니다. 많은 서버를 보유할 수 있습니다. 몇 기가바이트의 RAM을 사용할 수 있지만 여전히 부족합니다. 응용 프로그램을 실행할 때 메모리 또는 주소 공간 오류가 발생합니다. 하나 예는createlang실패 비정상적인 오류. 예를 들어, 와이즈 토토 설치:
-bash-3.00$ createlang plperl template1 createlang: 언어 설치 실패: 오류: "/opt/dbs/pgsql748/lib/plperl.so" 라이브러리를 로드할 수 없습니다. 메모리 주소가 프로세스의 주소 공간에 없습니다.
다음을 소유한 그룹에서 비소유자로 운영 중입니다. PostgreSQL 설치:
-bash-3.00$ createlang plperl template1 createlang: 언어 설치 실패: 오류: "/opt/dbs/pgsql748/lib/plperl.so" 라이브러리를 로드할 수 없습니다: 잘못된 주소
또 다른 예는 와이즈 토토의 메모리 부족 오류입니다. 서버 로그(모든 메모리 할당이 비슷하거나 그 이상) 256MB 이상이면 실패합니다.
이러한 모든 문제의 전반적인 원인은 기본값입니다 서버 프로세스에서 사용하는 비트 및 메모리 모델입니다. 작성자: 기본적으로 AIX에 구축된 모든 바이너리는 32비트입니다. 이것은 그렇지 않습니다 사용 중인 하드웨어 유형이나 커널에 따라 다릅니다. 이들 32비트 프로세스는 256MB에 배치된 4GB 메모리로 제한됩니다. 몇 가지 모델 중 하나를 사용하여 세그먼트를 만듭니다. 기본값은 다음을 허용합니다. 단일 세그먼트를 공유하므로 힙에서 256MB 미만 스택과 함께.
다음의 경우createlang예를 들어, 위의 umask와 권한을 확인하세요. PostgreSQL 설치의 바이너리. 바이너리 해당 예에 관련된 것은 32비트였으며 모드로 설치되었습니다. 755 대신 750. 여기에 설정된 권한으로 인해 패션, 소유자 또는 소유 그룹의 구성원만 라이브러리를 로드할 수 있습니다. 전 세계에서 읽을 수 있는 것이 아니기 때문에 로더는 대신 프로세스의 힙에 객체를 배치합니다. 그렇지 않은 경우 공유 라이브러리 세그먼트 배치되었습니다.
그"이상적"이 문제에 대한 해결책 64비트 와이즈 토토 빌드를 사용하는 것이지만 이는 그렇지 않습니다. 32비트 프로세서를 탑재한 시스템은 항상 실용적입니다. 64비트 바이너리를 빌드하지만 실행하지는 않습니다.
32비트 바이너리를 원할 경우 설정LDR_CNTRL에MAXDATA=0xn0000000, 여기서 1 <= n <= 8, 와이즈 토토 서버를 시작하기 전에 다른 것을 시도해 보세요. 값과와이즈 토토.conf설정 만족스럽게 작동하는 구성을 찾으십시오. 이 용도 의LDR_CNTRLAIX에게 당신이 원하는 것을 알려줍니다 가지고 있는 서버MAXDATA바이트 세트 힙을 위해 별도로 256MB 세그먼트에 할당됩니다. 당신이 실행 가능한 구성을 찾으십시오.ldedit바이너리를 수정하는 데 사용할 수 있습니다. 기본적으로 원하는 힙 크기를 사용하도록 설정되어 있습니다. 포스트그레SQL 재구축도 가능합니다.구성 LDFLAGS="-Wl,-bmaxdata:0xn0000000"같은 것을 달성하기 위해 효과.
64비트 빌드의 경우 설정OBJECT_MODE64까지 그리고 통과CC="gcc -maix64"및LDFLAGS="-Wl,-bbigtoc"에구성. (다음에 대한 옵션xlc다를 수 있습니다.) 내보내기를 생략하는 경우OBJECT_MODE, 빌드가 실패할 수 있습니다. 링커 오류. 언제OBJECT_MODE이다 설정하면 다음과 같은 AIX의 빌드 유틸리티를 알려줍니다.ar, as및ld기본값으로 설정할 개체 유형 처리합니다.
기본적으로 페이징 공간의 오버커밋이 발생할 수 있습니다. 동안 우리는 이런 일이 발생하는 것을 본 적이 없습니다. AIX는 다음과 같은 경우 프로세스를 종료합니다. 메모리가 부족하고 오버커밋에 액세스됩니다. 는 우리가 본 것과 가장 가까운 것은 포크 실패입니다. 시스템에서 다른 메모리를 저장할 메모리가 부족하다고 판단했습니다. 프로세스. AIX의 다른 많은 부분과 마찬가지로 페이징 공간도 할당 방법 및 메모리 부족 종료는 이것이 문제가 되는 경우 시스템 또는 프로세스 전반에 걸쳐 적용됩니다.
"대규모 프로그램 지원", AIX 문서: 일반 프로그래밍 개념: 작성 및 디버깅 프로그램.
"프로그램 주소 공간 개요", AIX 문서: 일반 프로그래밍 개념: 작성 및 디버깅 프로그램.
"가상 메모리 성능 개요 관리자(VMM)", AIX 문서: 성능 관리 가이드.
"페이지 공간 할당", AIX 문서: 성과 관리 가이드.
"페이징 공간 임계값 조정", AIX 문서: 성과 관리 가이드.
C 및 C++ 응용프로그램 개발 및 포팅 AIX에서, IBM 레드북.
와이즈 토토은 Linux와 유사한 Cygwin을 사용하여 구축할 수 있습니다. 하지만 그 방법은 Windows 환경보다 열등합니다. 기본 Windows 빌드(참조16장) 및 서버 실행 Cygwin에서는 더 이상 권장되지 않습니다.
소스에서 빌드할 때 일반적인 절차에 따라 진행하세요. 설치 절차(예:./구성; 만들다; 등), 다음과 같은 Cygwin 관련 사항에 주목하세요. 차이점:
Cygwin bin 디렉토리를 사용하기 전에 경로를 설정하십시오. Windows 유틸리티. 이렇게 하면 문제를 예방하는 데 도움이 됩니다. 편집.
GNU make 명령이 호출되었습니다.만들다, 아님gmake.
그adduser명령이 아닙니다 지원됨; 적절한 사용자 관리 응용 프로그램을 사용하십시오 Windows NT, 2000 또는 XP에서. 그렇지 않으면 이 단계를 건너뛰세요.
그수명령이 아닙니다 지원됨; ssh를 사용하여 Windows NT, 2000에서 su를 시뮬레이션하거나 XP. 그렇지 않으면 이 단계를 건너뛰세요.
OpenSSL은 지원되지 않습니다.
시작cygserver공유용 메모리 지원. 이렇게 하려면 다음 명령을 입력하세요./usr/sbin/cygserver &. 이 프로그램 PostgreSQL 서버를 시작할 때마다 실행되어야 합니다. 또는 데이터베이스 클러스터를 초기화합니다(initdb). 기본값cygserver구성이 필요할 수 있습니다. 변경됨(예: 증가)SEMMNS) ~ 시스템 부족으로 인한 와이즈 토토 장애 방지 자원.
로케일이 다른 일부 시스템에서는 빌드가 실패할 수 있습니다. C보다 더 많이 사용됩니다. 이 문제를 해결하려면 다음을 수행하여 로캘을 C로 설정하세요.내보내기 LANG=C.utf8이전에 빌드한 다음 이전 설정으로 다시 설정하면 PostgreSQL을 설치한 후.
병렬 회귀 테스트(만들다
확인)는 허위 회귀 테스트 실패를 생성할 수 있습니다.
오버플로로 인해듣기()백로그 큐로 인해 발생하는
연결 거부 오류 또는 중단. 당신은 제한할 수 있습니다
make 변수를 사용한 연결 수MAX_CONNECTIONS따라서:
MAX_CONNECTIONS=5 확인을 하세요
(일부 시스템에서는 최대 약 10개까지 가질 수 있습니다. 동시 연결).
설치가 가능합니다cygserver및 PostgreSQL 서버를 Windows NT 서비스로 사용합니다. 에 대한 이를 수행하는 방법에 대한 정보는 다음을 참조하십시오.READMEPostgreSQL에 포함된 문서 Cygwin의 바이너리 패키지. 디렉토리에 설치됩니다./usr/share/doc/Cygwin.
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의 make는 수행되지 않음) 및 GCC 또는 HP의 전체 ANSI C 컴파일러. Git 소스에서 빌드하려는 경우 배포판 tarball보다 Flex(GNU lex)도 필요합니다. 및 Bison(GNU yacc). 또한 다음 사항을 확인하는 것이 좋습니다. HP 패치가 상당히 최신 상태입니다. 당신이라면 최소한 HP-UX 11.11에서 64비트 바이너리를 구축하려면 필요할 수도 있습니다. PHSS_30966(11.11) 또는 후속 패치initdb중단될 수 있습니다:
PHSS_30966 s700_800 ld(1) 및 링커 도구 누적 패치
켜짐 libc 및 ld/dld에 대해 알아야 할 일반 원칙 패치 및 HP C를 사용하는 경우 컴파일러 패치 컴파일러. 다음과 같은 HP 지원 사이트를 참조하십시오.http://itrc.hp.com그리고ftp://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. 얻는 것을 잊지 마세요. 동시에 binutil을 설치하십시오.
PA-RISC 2.0 시스템을 구축 중이고 다음을 원하는 경우 PA-RISC 1.1 시스템에서 실행하려면 컴파일된 바이너리가 필요합니다. 지정하다+D휴대용inCFLAGS.
당신이 HP-UX Itanium 시스템에서 구축한다면, 종속 패치가 포함된 최신 HP ANSI C 컴파일러가 필요하거나 후속 패치:
PHSS_30848 s700_800 HP C 컴파일러 (A.05.57)
PHSS_30849 s700_800 u2comp/be/plugin 라이브러리 패치
HP의 C 컴파일러와 GCC가 모두 있다면, 실행할 때 사용할 컴파일러를 명시적으로 선택하고 싶습니다.구성:
./configure CC=cc
HP C 컴파일러의 경우 또는
./configure CC=gcc
GCC용. 이 설정을 생략하면 구성이 선택됩니다.gcc선택할 수 있는 경우.
기본 설치 대상 위치는/usr/local/pgsql, 당신이 원할 수도 있는 아래의 것으로 변경하세요./선택. 만약에 따라서 다음을 사용하세요.--접두사다음으로 전환구성.
회귀 테스트에서 일부 하위 숫자가 있을 수 있습니다. 지오메트리 테스트의 차이점은 다음에 따라 다릅니다. 사용하는 컴파일러 및 수학 라이브러리 버전. 기타 오류는 의심의 원인입니다.
와이즈 토토이 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_makeaddr및semctl. 강제로 해결해야 한다고 하네요
해당 기능을 libgcc와 연결하는 코드가 있지만 아직 실행되지 않았습니다.
아직 테스트 중입니다.
MIPSPro 컴파일러 버전 7.4.1m이 있는 것으로 알려져 있습니다. 잘못된 코드가 생성됩니다. 증상은"잘못된 기본 체크포인트 레코드"시도할 때 데이터베이스를 시작합니다.) 버전 7.4.4m은 괜찮습니다. 상태 중간 버전은 불확실합니다.
다음과 같은 컴파일 문제가 있을 수 있습니다:
cc-1020 cc: 오류 파일 = pqcomm.c, 줄 = 427
"TCP_NODELAY" 식별자가 정의되지 않았습니다.
if (setsockopt(포트-sock, IPPROTO_TCP, TCP_NODELAY,
일부 버전에는 TCP 정의가 포함되어 있습니다.sys/xti.h이므로 추가해야 합니다.#include <sys/xti.h에src/backend/libpq/pqcomm.c그리고src/interfaces/libpq/fe-connect.c. 당신이 이 문제가 발생하면 적절한 개발을 할 수 있도록 알려 주시기 바랍니다. 수정하세요.
회귀 테스트에서 일부 하위 숫자가 있을 수 있습니다. FPU에 따라 기하학 테스트의 차이점 당신은 사용하고 있습니다. 다른 오류는 의심의 원인이 됩니다.
Windows용 PostgreSQL은 Unix와 유사한 MinGW를 사용하여 구축할 수 있습니다. Microsoft 운영 체제용 빌드 환경을 사용하거나 마이크로소프트의비주얼 C++컴파일러 제품군. MinGW 빌드 변형은 일반 빌드를 사용합니다. 이 장에서 설명하는 시스템; Visual C++ 빌드가 작동합니다. 완전히 다르게 설명되어 있습니다.16장. 완전 국산이네 MinGW와 같은 추가 소프트웨어를 구축하고 사용하지 않습니다. 기성품 설치 프로그램은 기본 PostgreSQL 웹사이트에서 다운로드할 수 있습니다.
기본 Windows 포트에는 32비트 또는 64비트 버전이 필요합니다. Windows 2000 이상. 이전 운영 체제에는 충분한 인프라(그러나 Cygwin을 사용할 수 있음). 유닉스 계열 빌드 도구인 MinGW와 다음과 같은 쉘 스크립트를 실행하는 데 필요한 Unix 도구구성, 다음에서 다운로드할 수 있습니다.http://www.mingw.org/. 둘 다 실행할 필요가 없습니다. 결과 바이너리; 이는 생성에만 필요합니다. 바이너리.
MinGW를 사용하여 64비트 바이너리를 빌드하려면 64비트 설치 도구 세트:http://mingw-w64.sourceforge.net/, 넣어봐 의 bin 디렉토리PATH그리고 실행구성와--호스트=x86_64-w64-mingw32옵션.
모든 것을 설치한 후에는 다음을 수행하는 것이 좋습니다. 너는 달린다psql아래CMD.EXE, MSYS 콘솔에 버퍼링이 있으므로 문제.
Windows의 PostgreSQL이 충돌하는 경우 다음 기능이 있습니다. 생성미니 덤프그럴 수 있어요 충돌 원인을 추적하는 데 사용됩니다. Unix의 코어 덤프. 이러한 덤프는 다음을 사용하여 읽을 수 있습니다.Windows 디버거 도구또는 사용 중비주얼 스튜디오. 받는 사람 Windows에서 덤프 생성을 활성화하고 이름이 지정된 하위 디렉터리크래시 덤프클러스터 데이터 디렉토리 내부. 그러면 덤프는 다음과 같습니다. 다음을 기반으로 하는 고유한 이름으로 이 디렉토리에 기록됩니다. 충돌 프로세스의 식별자와 현재 시간 충돌.
PostgreSQL은 SCO UnixWare 7 및 SCO OpenServer에 구축될 수 있습니다. 5. OpenServer에서는 OpenServer Development 도구 중 하나를 사용할 수 있습니다. 키트 또는 범용 개발 키트. 그러나 일부 조정 아래에 설명된 대로 필요할 수 있습니다.
당신은 SCO 스컹크웨어 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/.
스컹크웨어는 UnixWare와 오픈서버. 올바른 버전을 설치했는지 확인하세요. 아래 명시된 경우를 제외하고 귀하의 운영 체제.
UnixWare 7.1.3 이상에는 GCC 컴파일러가 포함되어 있습니다. GNU Make와 마찬가지로 UDK CD에 있습니다.
당신은 GNU Make 프로그램을 사용해야 합니다. 스컹크웨어 CD. 기본적으로 다음과 같이 설치됩니다./usr/local/bin/make. 과의 혼동을 피하기 위해 SCO만들다프로그램, 당신은 원할 수도 있습니다 GNU 이름을 바꾸려면만들다에gmake.
UnixWare 7.1.3 이상부터 GNU Make 프로그램은 다음과 같습니다. UDK CD의 OSTK 부분이며 다음 위치에 있습니다./usr/gnu/bin/gmake.
Readline 라이브러리는 Skunkware CD에 있습니다. 하지만 그렇지 않다 UnixWare 7.1 Skunkware CD에 포함되어 있습니다. 당신이 가지고 있다면 UnixWare 7.0.0 또는 7.0.1 Skunkware CD를 설치하면 됩니다. 거기에서. 그렇지 않으면 시도해 보세요.http://www.sco.com/skunkware/.
기본적으로 Readline은 다음에 설치됩니다./usr/local/lib그리고/usr/local/include. 그러나 와이즈 토토구성프로그램이 그것을 찾지 못할 것입니다 도움 없이 거기에서. Readline을 설치했다면 다음을 사용하세요. 다음 옵션을 선택하세요.구성:
./configure --with-libraries=/usr/local/lib --with-includes=/usr/local/include
새로운 Universal Development Kit(UDK)를 사용하는 경우 OpenServer의 컴파일러에서는 위치를 지정해야 합니다. UDK 라이브러리:
./configure --with-libraries=/udk/usr/lib --with-includes=/udk/usr/include
이것을 Readline 옵션과 함께 사용하면 위:
./configure --with-libraries="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include"
기본적으로 PostgreSQL 매뉴얼 페이지는 다음 위치에 설치됩니다./usr/local/pgsql/share/man. 작성자: 기본적으로 UnixWare는 매뉴얼 페이지를 찾지 않습니다. 될 읽을 수 있으면 수정해야 합니다.MANPATH변수의/etc/default/man, 예:
MANPATH=/usr/lib/scohelp/%L/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp:/usr/local/man:/usr/local/pgsql/share/man
OpenServer에서는 추가 연구에 투자해야 합니다. 맨 페이지를 사용할 수 있게 만드세요. 왜냐하면 맨 시스템이 약간 복잡하기 때문입니다. 다른 플랫폼과 다릅니다. 현재 PostgreSQL은 전혀 설치하지 마세요.
OpenUNIX와 함께 출시된 것보다 이전 컴파일러의 경우 7.1.1b 기능을 포함한 8.0.0(UnixWare 7.1.2) 보충 자료, 지정해야 할 수도 있음-XbinCFLAGS또는CC환경 변수. 는 이는 컴파일 중 오류가 발생했다는 표시입니다.tuplesort.c인라인 함수를 참조하고 있습니다. 7.1.2(8.0.0) 컴파일러에 변화가 있었던 것 같습니다. 그리고 그 이상.
스레딩의 경우, 당신은반드시사용-Kpthread켜짐전체libpq-사용 프로그램. libpq
용도pthread_*호출, 이는
에서만 사용 가능-Kpthread/-K스레드플래그.
PostgreSQL은 Solaris에서 잘 지원됩니다. 최신일수록 운영 체제가 높을수록 발생하는 문제가 줄어듭니다. 자세한 내용은 아래를 참조하세요.
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.
OpenSSL 지원으로 PostgreSQL을 구축할 때 다음이 발생할 수 있습니다. 다음 파일에서 컴파일 오류가 발생합니다.
src/backend/libpq/crypt.c
src/backend/libpq/password.c
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-connect.c
이것은 다음 사이의 네임스페이스 충돌로 인해 발생합니다. 표준/usr/include/crypt.h헤더 및 OpenSSL에서 제공하는 헤더 파일.
OpenSSL 설치를 버전 0.9.6a로 업그레이드 중 이 문제를 해결합니다. Solaris 9 이상에는 최신 버전이 있습니다. OpenSSL의.
만약구성에 대해 불평합니다 테스트 프로그램이 실패했습니다. 이는 아마도 런타임 문제일 수 있습니다. 링커가 일부 라이브러리(아마도 libz)를 찾을 수 없습니다. libreadline 또는 다음과 같은 기타 비표준 라이브러리 libssl. 올바른 위치를 가리키려면LDFLAGS환경 변수구성명령줄, 예:
구성 ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
참조ld자세한 내용은 매뉴얼 페이지를 참조하세요.
Solaris 7 및 이전 버전에서 libc의 64비트 버전에는 다음이 있습니다.
버기vsnprintf루틴, 이는
PostgreSQL에서 불규칙한 코어 덤프가 발생합니다. 알려진 가장 간단한
해결 방법은 PostgreSQL이 자체 버전을 사용하도록 강제하는 것입니다.vsnprintf대신
도서관 사본. 이렇게 하려면 실행한 후구성다음에 의해 생성된 파일 편집구성: 있음src/Makefile.global, 줄을 바꾸세요
LIBOBJS =
읽다
LIBOBJS = snprintf.o
(이 파일에 이미 나열된 다른 파일이 있을 수 있습니다. 변수. 순서는 중요하지 않습니다.) 그런 다음 평소대로 빌드하십시오.
SPARC 아키텍처에서 Sun Studio는 강력하게 컴파일에 권장됩니다. 다음을 사용해 보세요.-xO5생성할 최적화 플래그 훨씬 더 빠른 바이너리. 다음과 같은 플래그를 사용하지 마십시오. 부동 소수점 연산의 동작을 수정하고오류처리 중(예:-빠름). 이 플래그는 일부를 올릴 수 있습니다. 예를 들어 날짜/시간의 비표준 와이즈 토토 동작 컴퓨팅.
64비트 바이너리를 사용할 이유가 없다면 SPARC의 경우 32비트 버전을 선호합니다. 64비트 작업은 다음과 같습니다. 느리고 64비트 바이너리는 32비트 바이너리보다 느립니다. 변형. 반면에 AMD64 CPU의 32비트 코드는 family는 기본이 아니므로 32비트 코드가 이 CPU 제품군에서는 상당히 느립니다.
PostgreSQL과 Solaris를 조정하기 위한 몇 가지 요령 성능은 다음에서 확인할 수 있습니다.http://www.sun.com/servers/coolthreads/tnb/applications_와이즈 토토.jsp. 이 기사는 기본적으로 T2000 플랫폼에 중점을 두고 있지만 많은 부분이 권장 사항 중 일부는 다른 하드웨어에서도 유용합니다. 솔라리스.
예, DTrace를 사용하는 것이 가능합니다. 보다섹션 27.4더 자세히 알아보기 정보. 여기에서도 자세한 정보를 확인할 수 있습니다. 기사:http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in.
다음의 링크가 보이면포스트그레실행 파일이 오류로 인해 중단되었습니다. 다음과 같은 메시지:
정의되지 않은 첫 번째 참조 파일의 기호 AbortTransaction utils/probes.o CommitTransaction utils/probes.o ld: fatal: 기호 참조 오류입니다. Postgres에 출력이 기록되지 않음 Collect2: ld가 종료 상태 1개를 반환했습니다. gmake: *** [postgres] 오류 1
귀하의 DTrace 설치가 너무 오래되어 프로브를 처리할 수 없습니다. 정적 기능. Solaris 10u4 이상이 필요합니다.