?
このドキュメントでは、 php中國(guó)語ネットマニュアル リリース
本章節(jié)是講在一些特殊平臺(tái)上的PostgreSQL的安裝和設(shè)置。 一定要閱讀安裝說明,尤其是Section 15.2。 依據(jù)回歸測(cè)試結(jié)果的說明,檢測(cè) Chapter 30。
對(duì)于本章節(jié)沒有提到的使用平臺(tái),它們不存在以下這些特殊的平臺(tái)所要注意的問題。
雖然PostgreSQL可以在AIX上正常工作運(yùn)行,但如何能正確安裝卻是一個(gè)難點(diǎn)。 AIX的版本中,已知的,能夠支持的版本范圍是從4.3.3到6.1。 你可以使用GCC或本地的IBM編譯器xlc。 一般情況下,使用最新版本的AIX和PostgreSQL就可以。 根據(jù)那些已知的,可以支持PostgreSQL的AIX版本號(hào)來判斷應(yīng)該使用的AIX版本。
支持AIX版本的最低安裝級(jí)別:
Maintenance Level 11 + post ML11 bundle
Maintenance Level 9 + post ML9 bundle
Technology Level 10 Service Pack 3
Technology Level 7
Base Level
查看AIX的版本、發(fā)行號(hào)、ML(Maintenance Level)級(jí)別: 4.3.3到5.2 ML 7之間的版本,使用oslevel -r;之后的版本使用oslevel -s。
如果您已經(jīng)在/usr/local安裝了Readline或者libz,除了你自己,使用以下configure參數(shù): --with-includes=/usr/local/include --with-libraries=/usr/local/lib。
在AIX5.3中,使用GCC編譯和運(yùn)行PostgreSQL存在一些問題。
你將要使用GCC 3.3.2及其之后的版本,特別是當(dāng)使用的是預(yù)打包版。4.0.1版已被驗(yàn)證通過。 早期版本存在的問題似乎與IBM包裝GCC方式比GCC實(shí)際問題更有關(guān),所以,如果你自己編譯GCC,你很可能會(huì)用GCC早期版本。
AIX5.3中有一個(gè)問題, 在sockaddr_storage不定義足夠大。在5.3版本中,IBM增加了sockaddr_un的大小, 地址為Unix域套接字組織結(jié)構(gòu), ,但并沒有相應(yīng)增加sockaddr_storage的大小。 這一結(jié)果嘗試使用Unix域套接字的PostgreSQL 導(dǎo)致libpq溢出數(shù)據(jù)結(jié)構(gòu)。 TCP/IP連接運(yùn)行良好,但沒有Unix域套接字, 從而避免工作中回歸測(cè)試。
問題報(bào)道給IBM,并記錄錯(cuò)誤報(bào)告PMR29657。如果升級(jí)到維護(hù)級(jí)別5300-03或更高版本, 這將包括此修復(fù)程序。 一個(gè)快速的解決方法是在/usr/include/sys/socket.h中 改變_SS_MAXSIZE到1025。在這兩種情況下,一旦你有校正的頭文件,重新編譯PostgreSQL。
PostgreSQL依賴于系統(tǒng)的getaddrinfo
功能
解析listen_addresses,pg_hba.conf等中的IP地址。
舊版本的AIX此功能有各類缺陷。如果你有有關(guān)這些設(shè)置的問題,
更新上面顯示的適當(dāng)AIX修復(fù)級(jí)別,應(yīng)該處理它。
一個(gè)用戶報(bào)告:
在AIX5.3上運(yùn)行PostgreSQL8.1版本時(shí),we periodically ran into problems where the statistics collector would "mysteriously" not come up successfully. 這似乎是在IPv6實(shí)施的意外行為結(jié)果。它看起來像PostgreSQL和IPv6,不能很好地結(jié)合在AIX 5.3上。
任何以下執(zhí)行"fix"問題。
刪除對(duì)localhost的IPv6地址:
(as root) # ifconfig lo0 inet6 ::1/0 delete
刪除IPv6的網(wǎng)絡(luò)服務(wù)。 AIX上的文件/etc/netsvc.conf大致 相當(dāng)于在Solaris/Linux上的/etc/nsswitch.conf。 缺省情況下,在AIX上,因此:
hosts=local,bind
替換:
hosts=local4,bind4
停用IPv6地址。
這的確是一個(gè) 有關(guān)IPv6支持不成熟問題的解決方法,在AIX5.3版本有明顯改善 它曾運(yùn)行與AIX5.3版本,但并不代表一個(gè)良好的解決問題的方法。 據(jù)報(bào)道,此方法不僅不必要,但在AIX 6.1,支持IPv6變得更加成熟出現(xiàn)問題。
AIX有些獨(dú)特的內(nèi)存管理方式。你可以有多倍數(shù)RAM千兆字節(jié)的服務(wù)器,當(dāng)正運(yùn)行應(yīng)用程序時(shí),但仍需擺脫內(nèi)存或地址 空間錯(cuò)誤。createlang沒有不尋常錯(cuò)誤的一個(gè)例子。 例如,運(yùn)行PostgreSQL安裝的所有者:
-bash-3.00$ createlang plperl template1 createlang: language installation failed: ERROR: could not load library "/opt/dbs/pgsql748/lib/plperl.so": A memory address is not in the address space for the process.
在PostgreSQL安裝過程時(shí)作為一個(gè)非所有者運(yùn)行:
-bash-3.00$ createlang plperl template1 createlang: language installation failed: ERROR: could not load library "/opt/dbs/pgsql748/lib/plperl.so": Bad address
另一個(gè)例子是PostgreSQL服務(wù)器日志沒有內(nèi)存錯(cuò)誤, 每個(gè)內(nèi)存分配接近或大于256MB。
所有這些問題的原因是默認(rèn)bittedness 和服務(wù)器進(jìn)程使用的內(nèi)存模型。缺省情況下,所有 在AIX上編譯的二進(jìn)制是32位。這并不取決于 硬件類型或內(nèi)核使用。這些32位進(jìn)程限于使用 幾個(gè)模型的256MB段中展開的4GB內(nèi)存。缺省情況下允許堆中共享堆棧中的單段小于256MB。
就createlang例子,上面的情況, 檢查你的umask和PostgreSQL安裝中二進(jìn)制文件的權(quán)限 。在這個(gè)例子中涉及的二進(jìn)制文件是 32位和安裝模式是750而不是755。由于 以這種方式設(shè)置權(quán)限,只有所有者或擁有組成員 可以加載庫。因?yàn)樗皇潜娙丝勺x的, 加載者將對(duì)象放入過程堆,而不是共享庫段,否則被放置。
"ideal"這個(gè)解決方案是使用64位 編譯的PostgreSQL,但并不總是可行的,因?yàn)? 32位處理器的系統(tǒng)可以編譯,但不能運(yùn)行64位 二進(jìn)制文件。
如果需要一個(gè)32位二進(jìn)制,設(shè)置LDR_CNTRL to MAXDATA=0xn0000000,即1 <= n <= 8, 開始PostgreSQL服務(wù)器之前,并且嘗試不同的值和postgresql.conf設(shè)置找到令人滿意的配置。 LDR_CNTRL的使用告訴AIX,希望 服務(wù)器為堆預(yù)留MAXDATA字節(jié),分配256MB的段。當(dāng)你找到一個(gè)可行 配置,ldedit可以用來修改二進(jìn)制文件,所以 他們默認(rèn)使用所需的堆大小。 PostgreSQL也可以重新編譯 ,通過configure LDFLAGS="-Wl,-bmaxdata:0xn0000000"獲得同樣的效果。
對(duì)于64位編譯,設(shè)置OBJECT_MODE到64,并且通過CC="gcc -maix64" 和LDFLAGS="-Wl,-bbigtoc"到configure。(xlc選項(xiàng)可能不同。) 如果你省略了OBJECT_MODE出口,你的編譯鏈接錯(cuò)誤可能失敗。 當(dāng)OBJECT_MODE設(shè)置了,它告訴AIX編譯實(shí)用程序,比如 ar, as, 和ld,默認(rèn)處理的對(duì)象類型。
缺省情況下,過量的分頁空間可能發(fā)生。雖然我們有 沒有看到這種情況發(fā)生,當(dāng)用完 內(nèi)存和訪問過量,AIX將殺死進(jìn)程。 這最接近我們所看到的叉失敗,因?yàn)橄到y(tǒng)的決定,另一個(gè)進(jìn)程沒有足夠的內(nèi)存。 像其他許多AIX,如果這成為一個(gè)問題,分頁空間分配方法和out-of-memory kill 在系統(tǒng)或全過程基礎(chǔ)上可配置的。
"Large Program Support", AIX Documentation: General Programming Concepts: Writing and Debugging Programs AIX文檔:通用編程概念:編寫并調(diào)試程序.
"Program Address Space Overview", AIX Documentation: General Programming Concepts: Writing and Debugging Programs AIX文檔:通用編程概念:編寫并調(diào)試程序.
"Performance Overview of the Virtual Memory Manager (VMM)", AIX Documentation: Performance Management Guide AIX文檔:性能管理指南.
"Page Space Allocation", AIX Documentation: Performance Management Guide AIX文檔:性能管理指南.
"Paging-space thresholds tuning", AIX Documentation: Performance Management Guide AIX文檔:性能管理指南.
Developing and Porting C and C++ Applications on AIX, IBM Redbook.
PostgreSQL可使用Cygwin編譯,像一個(gè)Linux環(huán)境的 Windows,但這種方法不如本地的Windows編譯,(see Chapter 16) 不再推薦。
當(dāng)繼續(xù)按照正常的安裝過程從源代碼編譯時(shí),(即./configure; make等),注意到以下Cygwin的具體不同之處:
Windows實(shí)用程序之前使用Cygwin的bin目錄設(shè)置您的路徑, 這將有助于防止匯編問題。
被稱為GNU的make命令make, 不是gmake。
adduser命令不被支持, 在Windows NT ,2000或XP上使用適當(dāng)?shù)挠脩艄芾響?yīng)用。否則,跳過這一步。
su命令不被支持;在Windows NT,2000或XP上使用ssh模擬su。否則,跳過這一步。
OpenSSL不支持。
開始cygserver共享內(nèi)存支持。 要做到這一點(diǎn),鍵入命令/usr/sbin/cygserver &。此程序需要隨時(shí)運(yùn)行 啟動(dòng)PostgreSQL服務(wù)器或初始化一個(gè)數(shù)據(jù)庫集群 (initdb)。 缺省cygserver配置可能需要 被改變(例如,增加SEMMNS) 防止PostgreSQL的失敗,由于缺乏系統(tǒng)資源。
并行的回歸測(cè)試(make check)
可以產(chǎn)生虛假回歸測(cè)試失敗,由于溢出
listen()
儲(chǔ)存隊(duì)列,
這會(huì)導(dǎo)致連接拒絕錯(cuò)誤或掛起。您可以限制
使用make變量MAX_CONNECTIONS的連接數(shù),因此:
make MAX_CONNECTIONS=5 check
(在某些系統(tǒng)上,你可以有多達(dá)約10個(gè)同步連接)。
它可以安裝cygserver和 PostgreSQL服務(wù)器作為Windows NT服務(wù)。關(guān)于如何要做到這一點(diǎn)的信息, 請(qǐng)參閱README文件,包括在Cygwin中的PostgreSQL的二進(jìn)制包。它被安裝在目錄/usr/share/doc/Cygwin。
PostgreSQL 7.3+在系列700/800的PA-RISC機(jī)器 運(yùn)行HP-UX 10.x或11.X,給予相應(yīng)的系統(tǒng)補(bǔ)丁級(jí)別 和編譯工具。至少有一個(gè)開發(fā)人員經(jīng)常在HP-UX 10.20測(cè)試,我們有在HP-UX 11.00和11.11上成功安裝報(bào)告。
除了PostgreSQL源分布,你將需要GNU(惠普的牌子不會(huì)做),GCC或惠普的完整ANSI C編譯器。 如果你打算從Git源編譯,而不是發(fā)布包,你還需要(GNU lex)和Bison (GNU yacc)。我們還建議,確定你是最新的HP修補(bǔ)程序。至少,如果你正在HP-UX11.11上編譯64 位二進(jìn)制,您可能需要PHSS_30966 (11.11)或 后繼補(bǔ)丁,否則initdb可能會(huì)掛起:
如果您正在PA-RISC 2.0機(jī)上編譯,并希望有 使用GCC的64位二進(jìn)制代碼,您必須使用GCC 64位版本。HP-UX PA-RISC和Itanium的GCC二進(jìn)制 文件都可以從 http://www.hp.com/go/gcc獲得。不要忘了同時(shí)獲取并安裝binutils。
如果你正在PA-RISC 2.0機(jī)上編譯,并希望編譯的 二進(jìn)制在PA-RISC 1.1機(jī)器上運(yùn)行,你將需要在CFLAGS聲明+DAportable。
如果你正在HP-UX Itanium機(jī)器編譯,您將需要依賴于補(bǔ)丁或后繼 修補(bǔ)程序的最新HP ANSI C編譯器。
PHSS_30848??s700_800?HP?C?Compiler?(A.05.57)
PHSS_30849??s700_800?u2comp/be/plugin?library?Patch
如果你有惠普的C編譯器和GCC的,那么, 當(dāng)運(yùn)行configure時(shí),你可能想 明確選擇使用的編譯器:
./configure CC=cc
惠普的C編譯器,或
./configure CC=gcc
為GCC。如果省略此設(shè)置,然后配置 選擇gcc如果它有一個(gè)選擇。
缺省安裝目標(biāo)位置是/usr/local/pgsql,你可能想 改變?cè)?tt class="FILENAME">/opt中的東西。如果是這樣,使用 --prefix切換到configure。
在回歸測(cè)試中,可能會(huì)有一些幾何測(cè)試的低階位數(shù)差異 ,它依賴于你使用的編譯器和數(shù)學(xué)庫版本。任何其他的錯(cuò)誤引起懷疑。
PostgreSQL已成功地運(yùn)行在MIPS R8000, r10000(ip25和ip27)和r12000(ip35)處理器,運(yùn)行 IRIX的6.5.5m,6.5.12,6.5.13,和6.5.26與MIPSPro編譯器 版本7.30,7.3.1.2m,7.3,和7.4.4m。
你將需要MIPSPro完整的ANSI C編譯器。有
試圖用GCC編譯的問題。這是一個(gè)與返回
某些結(jié)構(gòu)的使用函數(shù)相關(guān)的已知的GCC錯(cuò)誤(非
固定為3.0版本)。此漏洞影響inet_ntoa
, inet_lnaof
, inet_netof
, inet_makeaddr
,
和semctl
的功能。它應(yīng)該被固定,通過強(qiáng)制代碼到連接libgcc的這些功能。
但一直沒有這樣做過測(cè)試。
據(jù)了解,7.4.1m版本的MIPSPro編譯器生成 不正確的代碼。當(dāng)試圖啟動(dòng)數(shù)據(jù)庫,癥狀是"無效的主要檢查站點(diǎn) 記錄")。版本7.4.4m 是確定的;中間版本的狀態(tài)是不確定的。
可能有類似下面的編譯問題:
cc-1020 cc: ERROR File = pqcomm.c, Line = 427 The identifier "TCP_NODELAY" is undefined. if (setsockopt(port->sock, IPPROTO_TCP, TCP_NODELAY,
一些版本中包括在sys/xti.h的TCP定義 ,所以在src/backend/libpq/pqcomm.c和 src/interfaces/libpq/fe-connect.c中 添加#include <sys/xti.h>是必須的, 如果您遇到這一點(diǎn),請(qǐng)讓我們知道,我們可以制定一個(gè)適當(dāng)修復(fù)。
在回歸測(cè)試中,可能會(huì)有一些幾何測(cè)試的低階位數(shù)差異,它依賴于你使用的FPU。任何其他的錯(cuò)誤引起懷疑。
用于Windows的PostgreSQL可以使用MinGW編譯,一個(gè)類似Unix開發(fā) 微軟操作系統(tǒng)的環(huán)境,或使用 微軟Visual C++編譯器套件。 MinGW的開發(fā)變種使用本章描述的標(biāo)準(zhǔn)編譯系統(tǒng); Visual C++開發(fā)運(yùn)行完全不同和在Chapter 16中描述。 這是一個(gè)完全本地開發(fā),并且不使用附加軟件,如 MinGW。在主要的PostgreSQL網(wǎng)站上可利用已有安裝。
本地Windows端口需要Windows 2000或更高的32位或64位版本。早期的操作系統(tǒng) 沒有足夠的基礎(chǔ)設(shè)施(但Cygwin可以用 )。MinGW,類似Unix的構(gòu)建工具,和MSYS,Unix工具集合 需要運(yùn)行像configureshell腳本, 可從http://www.mingw.org/下載。 不需要運(yùn)行所產(chǎn)生的二進(jìn)制文件,他們需要?jiǎng)?chuàng)建二進(jìn)制文件。
你安裝所有東西后,建議您根據(jù)CMD.EXE 運(yùn)行psql ,因?yàn)镸SYS控制臺(tái)存在緩沖問題。
PostgreSQL可以建立在SCO UnixWare7和SCO OpenServer5上。 在OpenServer上,你可以使用OpenServer開發(fā)工具包 或通用的開發(fā)工具包。然而,一些調(diào)整可能 需要,如下所述。
你應(yīng)該找到SCO Skunkware CD副本。 Skunkware CD包括UnixWare 7和OpenServer 5當(dāng)前版本 。Skunkware包括互聯(lián)網(wǎng)上可用的許多受歡迎方案的現(xiàn)成安裝版本。 例如,gzip, gunzip, GNU Make, Flex,和Bison都 包括在內(nèi)。 UnixWare7.1,此CD目前標(biāo)記為開放許可軟件增補(bǔ),如果你沒有這個(gè)CD,來自http://www.sco.com/skunkware/的軟件是可用的。
為UnixWare和OpenServer,Skunkware有不同的版本。 確保為您的操作系統(tǒng)安裝正確的版本,除下文所述。
在UnixWare 7.1.3和之外,GCC編譯器包含在 UDK CD中的是GNU Make。
你需要使用GNU make程序,這些在Skunkware CD上 。缺省情況下,它作為/usr/local/bin/make安裝。為了避免 與SCOmake程序混淆,你可能要重新命名GNUmake到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 CDs,您可以從 那里安裝它。否則,嘗試http://www.sco.com/skunkware/。
缺省情況下,Readline安裝到/usr/local/lib和 /usr/local/include。然而, PostgreSQLconfigure程序沒有幫助將無法找到它 。如果你安裝ReadLine,然后使用 下列選項(xiàng)到configure:
./configure --with-libraries=/usr/local/lib --with-includes=/usr/local/include
如果您正在OpenServer上使用新的通用開發(fā)工具包(UDK)編譯器 ,你需要聲明UDK庫的位置:
./configure --with-libraries=/udk/usr/lib --with-includes=/udk/usr/include
把上面的ReadLine選項(xiàng)放在一起:
./configure --with-libraries="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include"
缺省情況下,PostgreSQL手冊(cè)頁安裝到 /usr/local/pgsql/man。缺省情況下,UnixWare 不查看手冊(cè)頁。為了能讀,你需要在/etc/default/man文件中修改 MANPATH的變量,例如:
OpenServer上,一些額外研究需要投入使手冊(cè)頁可用,因?yàn)閹椭到y(tǒng)不同于其他平臺(tái)。目前,PostgreSQL不安裝它們。
比OpenUNIX 8.0.0發(fā)布的更早的編譯器 (UnixWare 7.1.2),包括7.1.1b功能補(bǔ)充,可能需要在CFLAGS或者CC 環(huán)境變量中指定-Xb。在編譯tuplesort.c引用聯(lián) 功能中,這一指示是一個(gè)錯(cuò)誤。在7.1.2(8.0.0)編譯器和之上顯然是一個(gè)改變。
為線程,你一定在全部使用libpq的程序上使用-Kpthread。
libpq使用pthread_*
調(diào)用,這是唯一與-Kpthread/-Kthread標(biāo)志可用的。
PostgreSQL是Solaris上的良好支持。更新您的 操作系統(tǒng)越多,您遇到的問題越少;細(xì)節(jié)如下。
請(qǐng)注意,PostgreSQL與Solaris 10(更新2)捆綁在一起。 在http://pgfoundry.org/projects/solarispackages/上的官方包可用。 舊的Solaris版本(8, 9)的軟件包,你能從http://www.sunfreeware.com/或者 http://www.blastwave.org/獲得。
您可以建立與GCC或Sun的編譯器套件。為 更好的代碼優(yōu)化,強(qiáng)烈建議Sun的編譯器放 在SPARC架構(gòu)上。當(dāng)建議使用GCC 2.95.1; gcc 2.95.3或更高版本時(shí),我們可聽到問題報(bào)告。如果 您正在使用Sun的編譯器,要小心,不要選擇/usr/ucb/cc文件;使用/opt/SUNWspro/bin/cc文件。
你可以從http://developers.sun.com/sunstudio/downloads/那下載Sun Studio。 許多GNU工具都集成到Solaris 10,或者他們 存在于Solaris配套光盤上。如果你想要Solaris舊版本的包,你可以在 http://www.sunfreeware.com 或者h(yuǎn)ttp://www.blastwave.org找到這些工具。如果你想要源代碼,可查閱http://www.gnu.org/order/ftp.html。
當(dāng)您建立PostgreSQL與OpenSSL支持時(shí),你可能會(huì)得到 下列文件中的編譯錯(cuò)誤:
src/backend/libpq/crypt.c
src/backend/libpq/password.c
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-connect.c
這是由于在標(biāo)準(zhǔn)/usr/include/crypt.h文件頭部和由OpenSSL提供的頭文件之間的命名空間沖突。
升級(jí)你的OpenSSL安裝到版本0.9.6a,以修復(fù)這個(gè) 問題。 Solaris 9和以上有OpenSSL的較新版本。
如果configure對(duì)一個(gè)失敗的測(cè)試程序報(bào)錯(cuò), 這可能是一個(gè)運(yùn)行時(shí)鏈接的情況, 無法找到一些庫,libz, libreadline或某些 其他非標(biāo)準(zhǔn)庫,如libssl。它指向 正確的位置,在configure命令行設(shè)置LDFLAGS的環(huán)境 變量,例如,
configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
參閱ld手冊(cè)頁獲得更多的信息。
在Solaris7及以上,libc的64位版本有一個(gè)錯(cuò)誤
vsnprintf
程序,從而導(dǎo)致不穩(wěn)定
核心轉(zhuǎn)儲(chǔ)在PostgreSQL中。已知的最簡(jiǎn)單的解決辦法是
強(qiáng)迫PostgreSQL利用其vsnprintf
的自身版本,而不是
庫副本。要做到這一點(diǎn),之后運(yùn)行configure編輯一個(gè)通過configure產(chǎn)生的文件:
在src/Makefile.global文件中,更改線路
LIBOBJS =
用來讀
LIBOBJS = snprintf.o
(有可能是已經(jīng)列在這個(gè)變量中的其他文件。順序并不重要。)然后像往常一樣建立。
在SPARC架構(gòu)上,Sun Studio強(qiáng)烈推薦匯編。嘗試使用-xO5優(yōu)化 標(biāo)志生成速度明顯加快的二進(jìn)制文件。不使用任何 浮點(diǎn)運(yùn)算修改行為的標(biāo)志和errno的處理(例如, -fast)。這些標(biāo)志可以提高一些非標(biāo)準(zhǔn)PostgreSQL行為,例如日期/時(shí)間計(jì)算。
如果你沒有使用SPARC上64位二進(jìn)制和選擇32位版本的原因, 。64位操作速度較慢,64位二進(jìn)制慢于32位的。 另一方面,在AMD64 CPU上32位代碼不是本地的, 這就是32位代碼顯著慢于這個(gè)CPU的原因。
一些調(diào)節(jié)PostgreSQL的技巧和Solaris性能可以在http://www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp 中找到。本文主要側(cè)重于T2000平臺(tái),但有關(guān)Solaris的其他硬件的許多建議很有用。
是的,使用DTrace是可能的。參閱 Section 27.4獲得更多的信息。你也能在文章http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in 中查找更多的信息。
如果你看到postgres鏈接可執(zhí)行中止 錯(cuò)誤信息,如
Undefined first referenced symbol in file AbortTransaction utils/probes.o CommitTransaction utils/probes.o ld: fatal: Symbol referencing errors. No output written to postgres collect2: ld returned 1 exit status gmake: *** [postgres] Error 1
您的DTrace安裝太舊而不能處理靜態(tài)函數(shù)的探查。你需要Solaris 10u4或更高版本。