| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 지원되는 스포츠 토토 결과 | 위로 | 15장. 소스 코드에서 설치 | 다음 | |
이 섹션은 추가 플랫폼별 문제를 문서화합니다. PostgreSQL 설치 및 설정에 관한 내용입니다. 꼭 읽어보세요 설치 지침, 특히섹션 15.2또한요. 또한 확인하세요롤 토토 : 문서 : 9.3 : 롤 토토 테스트해석에 관하여 회귀 테스트 결과.
여기에서 다루지 않은 플랫폼은 알려진 바가 없습니다. 플랫폼별 설치 문제.
PostgreSQL은 AIX에서 작동하지만 올바르게 설치하면 도전해 보세요. 4.3.3에서 6.1까지의 AIX 버전이 고려됩니다. 지원됩니다. GCC 또는 기본 IBM 컴파일러를 사용할 수 있습니다.xlc. 일반적으로 최신 버전의 AIX와 PostgreSQL이 도움이 됩니다. 최신 정보는 빌드 팜을 확인하세요. 작동하는 것으로 알려진 AIX 버전에 대해 알아보세요.
지원되는 AIX 버전에 대한 최소 권장 수정 수준 다음은:
유지관리 수준 11 + ML11 번들 게시
유지관리 레벨 9 + ML9 번들 게시
기술 레벨 10 서비스 팩 3
기술 레벨 7
기본 레벨
현재 수정 수준을 확인하려면 다음을 사용하세요.오스레벨 -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로. 이전 버전의 문제는 더 많은 작업이 필요한 것 같습니다. GCC의 실제 문제보다는 IBM이 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_MAXSIZE~1025인치/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 주소 검색을 비활성화합니다.
| 경고 |
|
이것은 실제로 미성숙과 관련된 문제에 대한 해결 방법입니다. AIX 과정에서 눈에 띄게 개선된 IPv6 지원 5.3 릴리스. AIX 버전 5.3에서는 작동했지만 작동하지 않았습니다. 문제에 대한 우아한 해결책을 나타냅니다. 보고된 바 있다 이 해결 방법은 불필요할 뿐만 아니라 문제를 야기합니다. AIX 6.1에서는 IPv6 지원이 더욱 성숙해졌습니다. |
AIX는 작동 방식이 다소 독특할 수 있습니다. 메모리 관리. 여러 개의 배수로 구성된 서버를 가질 수 있습니다. 기가바이트의 RAM이 사용 가능하지만 여전히 메모리나 주소 공간이 부족합니다. 응용 프로그램을 실행할 때 오류가 발생합니다. 한 가지 예는 다음과 같습니다.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" 라이브러리를 로드할 수 없습니다: 잘못된 주소
또 다른 예는 윈 토토 서버의 메모리 부족 오류입니다. 모든 메모리 할당량이 256MB 이상인 로그 실패합니다.
이러한 모든 문제의 전반적인 원인은 기본값입니다 서버 프로세스에서 사용하는 비트 및 메모리 모델입니다. 기본적으로 AIX에 구축된 모든 바이너리는 32비트입니다. 이것은 의존하지 않습니다 사용 중인 하드웨어 유형 또는 커널. 이러한 32비트 프로세스는 제한되어 있습니다. 몇 가지 중 하나를 사용하여 256MB 세그먼트에 배치된 4GB 메모리 모델. 기본값은 힙에서 256MB 미만을 허용합니다. 스택과 단일 세그먼트를 공유합니다.
다음의 경우createlang예, 위에서 umask와 바이너리의 권한을 확인하십시오. PostgreSQL 설치. 해당 예에 관련된 바이너리는 다음과 같습니다. 32비트이며 755 대신 750 모드로 설치되었습니다. 이러한 방식으로 권한이 설정되면 소유자 또는 구성원만 소유 그룹의 라이브러리를 로드할 수 있습니다. 그렇지 않기 때문에 누구나 읽을 수 있는 경우 로더는 개체를 프로세스의 힙에 배치합니다. 그렇지 않은 경우 공유 라이브러리 세그먼트 대신 배치되었습니다.
그"이상적"이에 대한 해결책은 다음과 같습니다 64비트 PostgreSQL 빌드를 사용하지만 항상 실용적인 것은 아닙니다. 32비트 프로세서를 탑재한 시스템은 구축은 가능하지만 실행은 불가능하기 때문에 64비트 바이너리.
32비트 바이너리를 원할 경우 설정LDR_CNTRL에MAXDATA=0xn0000000, 여기서 1 <= n <= 8, 윈 토토 서버를 시작하기 전에 다른 값을 시도해 보세요.윈 토토.conf찾기 설정 만족스럽게 작동하는 구성입니다. 이 사용법은LDR_CNTRLAIX에게 서버가 갖기를 원하는 것을 알립니다.MAXDATA힙을 위해 따로 설정된 바이트, 256MB 세그먼트로 할당됩니다. 실행 가능한 것을 찾으면 구성,ldedit다음에 사용할 수 있습니다. 기본적으로 원하는 힙을 사용하도록 바이너리를 수정합니다. 크기. PostgreSQL도 재구축할 수 있습니다.LDFLAGS="-Wl,-bmaxdata:0x 구성n0000000"같은 것을 달성하기 위해 효과.
64비트 빌드의 경우 설정객체_모드64까지 그리고 통과CC="gcc -maix64"그리고LDFLAGS="-Wl,-bbigtoc"에구성. (다음에 대한 옵션xlc다를 수 있습니다.) 내보내기를 생략하는 경우객체_모드, 링커 오류로 인해 빌드가 실패할 수 있습니다. 언제객체_모드설정되면 AIX에 알립니다. 다음과 같은 유틸리티를 빌드합니다.ar, as및ld어떤 유형의 객체 처리가 기본값으로 설정됩니다.
기본적으로 페이징 공간의 오버커밋이 발생할 수 있습니다. 우리가 가지고 있는 동안 이런 일이 발생하지 않으면 AIX는 프로세스가 부족할 때 프로세스를 종료합니다. 메모리 및 오버커밋에 액세스됩니다. 우리가 이것에 가장 가까운 시스템이 포크가 실패했다고 판단했기 때문에 포크가 실패하는 것을 보았습니다. 다른 프로세스를 위한 메모리가 부족합니다. 다른 많은 부분과 마찬가지로 AIX의 페이징 공간 할당 방법과 메모리 부족 종료는 다음과 같습니다. 이것이 다음과 같은 경우에는 시스템 전체 또는 프로세스 전체에서 구성할 수 있습니다. 문제.
"대규모 프로그램 지원", AIX 문서: 일반 프로그래밍 개념: 작성 및 디버깅 프로그램.
"프로그램 주소 공간 개요", AIX 문서: 일반 프로그래밍 개념: 작성 및 디버깅 프로그램.
"가상 메모리 관리자의 성능 개요 (VMM)", AIX 문서: 성능 관리 안내.
"페이지 공간 할당", AIX 문서: 성과관리 가이드.
"페이징 공간 임계값 조정", AIX 문서: 성과 관리 가이드.
C 및 C++ 응용프로그램 개발 및 포팅 AIX, IBM 레드북.
윈 토토은 Linux와 유사한 환경인 Cygwin을 사용하여 구축할 수 있습니다. Windows의 경우 해당 방법은 기본 Windows보다 열등합니다. 빌드(참조PostgreSQL : 문서 : 9.3 : 사설 토토 사이트의 소스 코드에서 사설 토토 사이트) 및 Cygwin에서 서버를 실행하는 것은 더 이상 권장되지 않습니다.
소스에서 빌드할 때 일반적인 절차에 따라 진행하세요. 설치 절차(예:./구성; 만들다; 등), 다음과 같은 Cygwin 관련 사항에 주목하세요. 차이점:
Windows 이전에 Cygwin bin 디렉토리를 사용하도록 경로를 설정하십시오. 유틸리티. 이렇게 하면 컴파일 문제를 방지하는 데 도움이 됩니다.
GNU make 명령이 호출됩니다.만들다, 아님gmake.
그adduser명령은 지원되지 않습니다. Windows NT에서 적절한 사용자 관리 응용 프로그램을 사용하십시오. 2000 또는 XP. 그렇지 않으면 이 단계를 건너뛰세요.
그수명령은 지원되지 않습니다. 사용하다 ssh를 사용하여 Windows NT, 2000 또는 XP에서 su를 시뮬레이션합니다. 그렇지 않으면 건너뛰세요. 단계.
OpenSSL은 지원되지 않습니다.
시작cygserver공유 메모리용 지원. 이렇게 하려면 다음 명령을 입력하세요./usr/sbin/cygserver &. 이 프로그램은 PostgreSQL 서버를 시작하거나 초기화할 때마다 실행됩니다. 데이터베이스 클러스터(initdb). 기본값cygserver구성이 필요할 수 있습니다. 변경됨(예: 증가)SEMMNS) 방지 시스템 리소스 부족으로 인해 윈 토토이 실패합니다.
C 이외의 로캘이 있는 일부 시스템에서 빌드가 실패할 수 있음 사용중입니다. 이 문제를 해결하려면 다음을 수행하여 로캘을 C로 설정하세요.내보내기 LANG=C.utf8빌드 전, 그리고 설정하기 전 설치 후 이전 설정으로 돌아갑니다. 포스트그레SQL.
병렬 회귀 테스트(만들다
확인)은 다음으로 인해 허위 회귀 테스트 실패를 생성할 수 있습니다.
넘쳐흐른다듣기()백로그
연결 거부 오류 또는 중단을 일으키는 큐입니다. 당신은 할 수 있습니다
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시와 11시 11분.
윈 토토 소스 배포판 외에 GNU가 필요합니다 make(HP의 make는 수행되지 않음) 및 GCC 또는 HP의 전체 ANSI C 컴파일러. Git 소스가 아닌 Git 소스에서 빌드하려는 경우 배포판 타르볼을 사용하려면 Flex(GNU lex)와 Bison도 필요합니다. (GNU yacc). 또한 최신 상태인지 확인하는 것이 좋습니다. HP 패치에. 최소한 64비트 바이너리를 빌드하는 경우 HP-UX 11.11에는 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비트 버전을 사용해야 합니다. GCC HP-UX PA-RISC 및 Itanium용 바이너리는 다음에서 구할 수 있습니다.http://www.hp.com/go/gcc. 얻는 것을 잊지 마세요. 동시에 binutil을 설치하십시오.
PA-RISC 2.0 시스템을 구축 중이고 다음을 원하는 경우 PA-RISC 1.1 시스템에서 실행하려면 컴파일된 바이너리가 필요합니다. 지정하다+D휴대용에CFLAGS.
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인지에 따라 지오메트리 테스트의 차이점 사용. 다른 오류는 의심의 원인이 됩니다.
최근에맥OS출시, 그것은 삽입하는 데 필요함"sysroot"경로 일부 시스템 헤더 파일을 찾는 데 사용되는 포함 스위치. 이 결과는구성어느 것에 따라 달라지는 스크립트 SDK 버전이 사용되었습니다.구성. 그러면 아무런 문제가 발생하지 않을 것입니다. 간단한 시나리오이지만 다음과 같은 작업을 수행하려는 경우 서버 코드와 다른 시스템에 확장 기능 구축 다른 시스템 루트를 강제로 사용해야 할 수도 있습니다. 경로. 그렇게 하려면 다음을 설정하세요.PG_SYSROOT, 예
PG_SYSROOT를 만드세요=/원하는/경로모두
컴퓨터에서 적절한 경로를 찾으려면 다음을 실행하세요.
xcodebuild -version -sdk macosx 경로
다른 시스템 루트를 사용하여 확장을 구축한다는 점에 유의하세요 코어 서버를 구축하는 데 사용된 버전보다 실제로는 추천; 최악의 경우 디버깅하기 어려운 ABI가 발생할 수 있습니다. 불일치.
구성할 때 기본이 아닌 sysroot 경로를 선택할 수도 있습니다. 지정하여PG_SYSROOT에구성:
./configure ... PG_SYSROOT=/원하는/경로
맥OS's"시스템 무결성 보호"(SIP) 기능 중단확인하세요, 통과를 방해하기 때문입니다. 필요한 설정DYLD_LIBRARY_PATH테스트 중인 실행 파일까지. 당신은 그 문제를 해결할 수 있습니다 하는 중설치하기이전에확인하세요. 대부분의 Postgres 개발자는 그냥 꺼집니다. 그래도 한 모금.
Windows용 윈 토토은 Unix와 유사한 MinGW를 사용하여 구축할 수 있습니다. Microsoft 운영 체제용 빌드 환경을 사용하거나 마이크로소프트의비주얼 C++컴파일러 스위트. MinGW 빌드 변형은 일반 빌드 시스템을 사용합니다. 이 장에 설명되어 있습니다. Visual C++ 빌드가 완벽하게 작동합니다. 다르게 설명되어 있습니다.16장. 완전한 네이티브 빌드입니다. MinGW와 같은 추가 소프트웨어를 사용하지 않습니다. 준비된 설치 프로그램 기본 윈 토토 웹사이트에서 사용할 수 있습니다.
기본 Windows 포트에는 32비트 또는 64비트 버전이 필요합니다. Windows 2000 이상. 이전 운영 체제에는 충분한 인프라(그러나 Cygwin을 사용할 수 있음). 민GW, Unix 계열 빌드 도구 및 Unix 도구 모음인 MSYS 다음과 같은 쉘 스크립트를 실행하는 데 필요합니다.구성, 다음에서 다운로드할 수 있습니다.http://www.mingw.org/. 결과 바이너리를 실행하는 데도 필요하지 않습니다. 그들은 필요하다 바이너리 생성에만 사용됩니다.
MinGW를 사용하여 64비트 바이너리를 빌드하려면 64비트 도구를 설치하세요 에서 설정됨http://mingw-w64.sourceforge.net/, bin 디렉토리를 넣습니다. 에서PATH그리고 실행구성와--호스트=x86_64-w64-mingw32옵션.
모든 것을 설치한 후 다음을 수행하는 것이 좋습니다. 실행psql아래CMD.EXE, MSYS 콘솔에 버퍼링이 있으므로 문제.
Windows의 윈 토토이 충돌하는 경우 생성할 수 있는 기능이 있습니다.미니 덤프다음에 사용할 수 있습니다. Unix의 코어 덤프와 유사하게 충돌 원인을 추적합니다. 이러한 덤프는 다음을 사용하여 읽을 수 있습니다.윈도우 디버거 도구또는 사용 중시각적 스튜디오. Windows에서 덤프 생성을 활성화하려면 다음을 생성하십시오. 이름이 지정된 하위 디렉터리크래시 덤프내부 클러스터 데이터 디렉터리. 그러면 덤프가 다음 위치에 기록됩니다. 이 디렉터리는 식별자에 따라 고유한 이름을 갖습니다. 충돌 프로세스 및 현재 충돌 시간.
PostgreSQL은 SCO UnixWare 7 및 SCO OpenServer 5에서 구축할 수 있습니다. OpenServer에서는 OpenServer Development Kit 또는 유니버설 개발 키트. 그러나 일부 조정이 있을 수 있습니다. 아래에 설명된 대로 필요합니다.
당신은 SCO 스컹크웨어 CD 사본을 찾아야 합니다. 는 Skunkware CD는 UnixWare 7 및 최신 버전에 포함되어 있습니다. OpenServer 5. Skunkware에는 바로 설치할 수 있는 다양한 버전이 포함되어 있습니다. 인터넷에서 흔히 볼 수 있는 프로그램. 예를 들어, gzip, gunzip, GNU Make, Flex 및 Bison이 모두 포함되어 있습니다. 에 대한 UnixWare 7.1, 이 CD에는 이제 "Open License Software"라는 레이블이 붙었습니다. 보충 ". 이 CD가 없는 경우 CD에 들어 있는 소프트웨어는 다음과 같습니다. 에서 이용 가능http://www.sco.com/skunkware/.
Skunkware에는 UnixWare와 OpenServer용 버전이 다릅니다. 운영 체제에 맞는 버전을 설치했는지 확인하십시오. 아래 명시된 경우를 제외하고 시스템입니다.
UnixWare 7.1.3 이상에서는 GCC 컴파일러가 다음에 포함되어 있습니다. UDK CD는 GNU Make와 동일합니다.
당신은 Skunkware에 있는 GNU Make 프로그램을 사용해야 합니다 CD. 기본적으로 다음과 같이 설치됩니다./usr/local/bin/make. 과의 혼동을 피하기 위해 SCO만들다프로그램, 이름을 바꾸고 싶을 수도 있습니다 그누만들다에gmake.
UnixWare 7.1.3 이상부터 GNU Make 프로그램은 OSTK입니다. UDK CD의 일부이며 다음 위치에 있습니다./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 8.0.0과 함께 출시된 것보다 이전 컴파일러의 경우 (UnixWare 7.1.2), 7.1.1b 기능 추가 기능을 포함하여 다음을 수행할 수 있습니다. 지정해야 함-Xb에CFLAGS또는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://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/. 많은 GNU 도구가 Solaris 10에 통합되어 있습니다. Solaris Companion CD에 있습니다. 노년층을 위한 패키지를 좋아한다면 Solaris 버전에서는 이러한 도구를 찾을 수 있습니다.http://www.sunfreeware.com. 소스를 선호한다면 살펴보세요. 에서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 이하에서는 64비트 버전의 libc에 버그가 있습니다.vsnprintf루틴은 다음으로 이어집니다.
PostgreSQL의 불규칙한 코어 덤프. 알려진 가장 간단한 해결 방법은 다음과 같습니다.
PostgreSQL이 자체 버전을 사용하도록 강제합니다.vsnprintf라이브러리 사본이 아닙니다. 해야 할 일
이, 실행한 후구성파일 편집
제작사구성: 있음src/Makefile.global, 줄을 바꿔주세요
LIBOBJS =
읽다
LIBOBJS = snprintf.o
(이 변수에 이미 다른 파일이 나열되어 있을 수 있습니다. 순서는 중요하지 않습니다.) 그런 다음 평소대로 빌드하십시오.
SPARC 아키텍처에서는 Sun Studio를 적극 권장합니다. 컴파일을 위해. 다음을 사용해 보세요.-xO5훨씬 더 빠른 바이너리를 생성하는 최적화 플래그입니다. 하지 마십시오 부동 소수점 연산의 동작을 수정하는 플래그를 사용하고errno처리 중(예:-빠름). 이러한 플래그는 일부 비표준을 발생시킬 수 있습니다. 예를 들어 날짜/시간 컴퓨팅에서의 윈 토토 동작입니다.
SPARC에서 64비트 바이너리를 사용할 이유가 없다면, 32비트 버전을 선호합니다. 64비트 작업은 더 느리고 64비트 바이너리는 32비트 변형보다 느립니다. 그리고 다른 것에는 AMD64 CPU 제품군의 32비트 코드는 기본 코드가 아니며 이것이 바로 이 CPU 제품군에서 32비트 코드가 상당히 느린 이유입니다.
예, DTrace를 사용하는 것이 가능합니다. 참조섹션 27.444442_44522https://blogs.oracle.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 이상이 필요합니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 지원되는 플랫폼 | 위로 | 소스에서 설치 코드 켜기윈도우 |