15.7. ÐамеÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ оÑделÑнÑм плаÑÑоÑмам
Ð ÑÑом Ñазделе пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе замеÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ оÑделÑнÑм плаÑÑоÑмам, ÑвÑзаннÑе Ñ ÑÑÑановкой и подгоÑовкой к ÑабоÑе Postgres Pro. ÐбÑзаÑелÑно изÑÑиÑе еÑÑ Ð¸Ð½ÑÑÑÑкÑии по ÑÑÑановке, в ÑаÑÑноÑÑи Раздел 15.2. Также обÑаÑиÑеÑÑ Ðº Ðлаве 30, где ÑаÑÑказÑваеÑÑÑ, как пÑоÑиÑаÑÑ ÑезÑлÑÑаÑÑ ÑегÑеÑÑионнÑÑ ÑеÑÑов.
ÐÑли какие-Ñо плаÑÑоÑÐ¼Ñ Ð·Ð´ÐµÑÑ Ð½Ðµ ÑпоминаÑÑÑÑ, знаÑÐ¸Ñ ÐºÐ°ÐºÐ¸Ñ -либо извеÑÑнÑÑ Ð¾ÑобенноÑÑей ÑÑÑановки в Ð½Ð¸Ñ Ð½ÐµÑ.
15.7.1. AIX
Postgres Pro ÑабоÑÐ°ÐµÑ Ð² AIX, но ÑÑÑановиÑÑ ÐµÐ³Ð¾ пÑавилÑно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¿ÑоÑÑой задаÑей. ÐоддеÑживаемÑми ÑÑиÑаÑÑÑÑ Ð²ÐµÑÑии AIX Ñ 4.3.3 до 6.1. ÐÐ»Ñ ÑбоÑки Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пÑимениÑÑ GCC или ÑобÑÑвеннÑй компилÑÑÐ¾Ñ IBM xlc. ÐообÑе говоÑÑ, полезно иÑполÑзоваÑÑ Ð¿Ð¾Ñледние веÑÑии AIX и Postgres Pro. ÐолÑÑиÑÑ Ð°ÐºÑÑалÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ веÑÑиÑÑ
AIX, ÑабоÑа в коÑоÑÑÑ
пÑовеÑена на даннÑй моменÑ, можно на ÑайÑе ÑеÑÐ¼Ñ ÑбоÑки.
ÐинималÑнÑе ÑекомендÑемÑе ÑÑовни иÑпÑавлений Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑÑ Ð²ÐµÑÑий AIX:
- AIX 4.3.3
ÐкÑплÑаÑаÑионнÑй ÑÑÐ¾Ð²ÐµÐ½Ñ (ML) 11 + Ð¿Ð°ÐºÐµÑ Ð¸ÑпÑавлений поÑле ML11
- AIX 5.1
ÐкÑплÑаÑаÑионнÑй ÑÑÐ¾Ð²ÐµÐ½Ñ (ML) 9 + Ð¿Ð°ÐºÐµÑ Ð¸ÑпÑавлений поÑле ML9
- AIX 5.2
Ð¢ÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÑеÑкий ÑÑÐ¾Ð²ÐµÐ½Ñ (TL) 10, ÐÐ°ÐºÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ (SP) 3
- AIX 5.3
Ð¢ÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÑеÑкий ÑÑÐ¾Ð²ÐµÐ½Ñ (TL) 7
- AIX 6.1
ÐазовÑй ÑÑовенÑ
ЧÑÐ¾Ð±Ñ Ð¿ÑовеÑиÑÑ Ð²Ð°Ñ ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¸ÑпÑавлений, вÑполниÑе oslevel -r в AIX веÑÑии Ñ 4.3.3 по 5.2 ML 7, либо oslevel -s в более поздниÑ
веÑÑиÑÑ
.
ÐÑли Readline или libz Ñ Ð²Ð°Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ðµ в /usr/local, пеÑедайÑе configure ÑледÑÑÑие клÑÑи в дополнение к ваÑим: --with-includes=/usr/local/include --with-libraries=/usr/local/lib.
15.7.1.1. ÐÑобенноÑÑи иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ GCC
Ð AIX 5.3 наблÑдалиÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑией и запÑÑком Postgres Pro Ñ Ð¸ÑполÑзованием GCC.
ÐÐ»Ñ ÑÑпеÑной ÑбоÑки вам поÑÑебÑеÑÑÑ GCC веÑÑии новее 3.3.2, оÑобенно, еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе веÑÑÐ¸Ñ Ð¸Ð· ÑиÑÑемного пакеÑа. ÐÑ Ð´Ð¾Ð±Ð¸Ð²Ð°Ð»Ð¸ÑÑ ÑÑÐ¿ÐµÑ Ð° Ñ 4.0.1. ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¿ÑедÑдÑÑими веÑÑиÑми, ÑÑÐ´Ñ Ð¿Ð¾ вÑемÑ, бÑли ÑвÑÐ·Ð°Ð½Ñ Ð±Ð¾Ð»ÑÑе Ñ Ñем, как IBM Ñпаковала GCC, а не ÑобÑÑвенно Ñ GCC, поÑÑÐ¾Ð¼Ñ ÐµÑли Ð²Ñ ÑкомпилиÑÑеÑе GCC ÑамоÑÑоÑÑелÑно, положиÑелÑнÑй иÑÑ Ð¾Ð´ возможен и Ñ Ñанней веÑÑией GCC.
15.7.1.2. ÐеÑабоÑаÑÑие Unix-ÑокеÑÑ
Ð AIX 5.3 бÑла пÑоблема Ñ ÑазмеÑом ÑÑÑÑкÑÑÑÑ sockaddr_storage. РвеÑÑии 5.3 IBM ÑвелиÑила ÑÐ°Ð·Ð¼ÐµÑ sockaddr_un, ÑÑÑÑкÑÑÑÑ Ð°Ð´ÑеÑа Ð´Ð»Ñ Unix-ÑокеÑов, но не ÑвелиÑила ÑооÑвеÑÑÑвенно ÑÐ°Ð·Ð¼ÐµÑ sockaddr_storage. РиÑоге пÑи попÑÑке Postgres Pro иÑполÑзоваÑÑ Unix-ÑокеÑÑ Ð¿ÑоиÑÑ
одило пеÑеполнение ÑÑой ÑÑÑÑкÑÑÑÑ Ð² libpq. ÐодклÑÑение ÑеÑез TCP/IP ÑÑÑанавливаеÑÑÑ ÐºÐ¾ÑÑекÑно, а ÑеÑез Unix-ÑокеÑÑ â неÑ, и в ÑезÑлÑÑаÑе ÑегÑеÑÑионнÑе ÑеÑÑÑ Ð½Ðµ пÑоÑ
одÑÑ.
Ðб ÑÑой пÑоблеме бÑло ÑообÑено IBM, она заÑикÑиÑована в оÑÑÑÑе об оÑибке PMR29657. ÐÑли Ð²Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñе ÑиÑÑÐµÐ¼Ñ Ð´Ð¾ ÑкÑплÑаÑаÑионного ÑÑÐ¾Ð²Ð½Ñ 5300-03 или новее, она полÑÑÐ¸Ñ ÑооÑвеÑÑÑвÑÑÑее иÑпÑавление. РкаÑеÑÑве вÑеменного ÑеÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑиÑвоиÑÑ _SS_MAXSIZE знаÑение 1025 в /usr/include/sys/socket.h. РлÑбом ÑлÑÑае поÑле иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑого заголовоÑного Ñайла пеÑекомпилиÑÑйÑе Postgres Pro.
15.7.1.3. ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ ÑеÑевÑми адÑеÑами
Postgres Pro полÑзÑеÑÑÑ ÑиÑÑемной ÑÑнкÑией getaddrinfo Ð´Ð»Ñ ÑазбоÑа IP-адÑеÑов, ÑказаннÑÑ
в паÑамеÑÑе listen_addresses, Ñайле pg_hba.conf и Ñ. д. Ð ÑÑаÑÑÑ
веÑÑиÑÑ
AIX ÑÑа ÑÑнкÑÐ¸Ñ ÑабоÑала некоÑÑекÑно. ÐÑли Ð²Ñ ÑÑолкнÑлиÑÑ Ñ Ð¿Ñоблемами в ÑÑой облаÑÑи, обновление до ÑÑÐ¾Ð²Ð½Ñ Ð¸ÑпÑавлений AIX, обознаÑенного вÑÑе, должно ÑеÑиÑÑ Ð¸Ñ
.
Ðдин полÑзоваÑÐµÐ»Ñ ÑообÑаеÑ:
ÐÑполÑзÑÑ PostgreSQL веÑÑии 8.1 в AIX 5.3, Ð¼Ñ Ð¿ÐµÑиодиÑеÑки ÑÑалкивалиÑÑ Ñ Ñем, ÑÑо ÑбоÑÑик ÑÑаÑиÑÑики «загадоÑнÑм обÑазом» не запÑÑкаеÑÑÑ. ÐажеÑÑÑ, ÑÑо ÑезÑлÑÑÐ°Ñ Ð½ÐµÐ·Ð°Ð¿Ð»Ð°Ð½Ð¸Ñованного Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑеализаÑии IPv6. ÐÐ¾Ñ Ð¾Ð¶Ðµ, ÑÑо Postgres Pro и IPv6 не дÑÑÐ¶Ð°Ñ Ð² AIX 5.3.
ÐÐ»Ñ Â«ÑеÑениÑ» пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вÑполниÑÑ Ð¾Ð´Ð½Ð¾ из ÑледÑÑÑÐ¸Ñ Ð´ÐµÐ¹ÑÑвий.
УдалиÑе адÑÐµÑ IPv6 Ð´Ð»Ñ localhost:
(Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ root) # ifconfig lo0 inet6 ::1/0 delete
УдалиÑе IPv6 из ÑеÑевÑÑ ÑеÑвиÑов. Файл
/etc/netsvc.confв AIX пÑимеÑно ÑооÑвеÑÑÑвÑÐµÑ ÑайлÑ/etc/nsswitch.confв Solaris/Linux. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð² AIX он вÑглÑÐ´Ð¸Ñ Ñак:hosts=local,bind
ЧÑÐ¾Ð±Ñ Ð¾ÑклÑÑиÑÑ Ð¿Ð¾Ð¸Ñк адÑеÑов IPv6, замениÑе его ÑодеÑжимое ÑледÑÑÑим:
hosts=local4,bind4
ÐÑедÑпÑеждение
Ð ÑÑим вÑеменнÑм ÑеÑениÑм пÑÐ¸Ñ Ð¾Ð´Ð¸Ð»Ð¾ÑÑ Ð¿ÑибегаÑÑ Ð¸Ð·-за пÑоблем, ÑвÑзаннÑÑ Ñ ÑÑÑой ÑеализаÑией IPv6, коÑоÑÐ°Ñ Ð·Ð°Ð¼ÐµÑно ÑлÑÑÑилаÑÑ Ð² поÑледÑÑÑÐ¸Ñ Ð²ÑпÑÑÐºÐ°Ñ AIX 5.3. ÐÑи ÑеÑÐµÐ½Ð¸Ñ ÑабоÑали в AIX веÑÑии 5.3, но они конеÑно далеки Ð¾Ñ Ð¸Ð´ÐµÐ°Ð»ÑнÑÑ . ÐÑоме Ñого, ÑообÑалоÑÑ, ÑÑо они не ÑолÑко не ÑÑебÑÑÑÑÑ, но и пÑиводÑÑ Ðº дÑÑгим пÑоблемам в AIX 6.1, где поддеÑжка IPv6 ÑÑала более зÑелой.
15.7.1.4. УпÑавление памÑÑÑÑ
Ðногда ÑпÑавление памÑÑÑÑ Ð² AIX Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð½ÐµÑколÑко ÑÑÑанно. Ð ÑиÑÑеме Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñвободно неÑколÑко Ð³Ð¸Ð³Ð°Ð±Ð°Ð¹Ñ ÐÐУ, но пÑи запÑÑке пÑиложений вÑÑ Ñавно Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¾Ñибки, ÑвÑзаннÑе Ñ Ð°Ð´ÑеÑнÑм пÑоÑÑÑанÑÑвом или неÑ
ваÑкой памÑÑи. ÐапÑимеÑ, необÑÑнÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑдаÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° createlang. ÐÑи запÑÑке Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ владелÑÑа инÑÑаллÑÑии Postgres Pro:
-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.
(createlang: ÑÑÑановиÑÑ ÑзÑк не ÑдалоÑÑ: ÐШÐÐÐÐ: не ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ "/opt/dbs/pgsql748/lib/plperl.so": ÐдÑÐµÑ Ð¿Ð°Ð¼ÑÑи Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ðµ в адÑеÑном пÑоÑÑÑанÑÑве пÑоÑеÑÑа.) ÐÑи запÑÑке Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ не владелÑÑа, а Ñлена гÑÑппÑ-владелÑÑа инÑÑаллÑÑии Postgres Pro:
-bash-3.00$ createlang plperl template1 createlang: language installation failed: ERROR: could not load library "/opt/dbs/pgsql748/lib/plperl.so": Bad address
(createlang: ÑÑÑановиÑÑ ÑзÑк не ÑдалоÑÑ: ÐШÐÐÐÐ: не ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ "/opt/dbs/pgsql748/lib/plperl.so": ÐевеÑнÑй адÑеÑ) Также ÑообÑÐµÐ½Ð¸Ñ Ð¾ Ð½ÐµÑ Ð²Ð°Ñке памÑÑи могÑÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð² жÑÑнале Postgres Pro пÑи попÑÑке вÑделиÑÑ Ð±Ð»Ð¾Ðº памÑÑи ÑазмеÑом около 256 ÐиРили болÑÑе.
ÐбÑÐ°Ñ Ð¿ÑиÑина вÑÐµÑ ÑÑÐ¸Ñ Ð¿Ñоблем ÑвÑзана Ñ Ð±Ð¸ÑноÑÑÑÑ Ð¸ моделÑÑ Ð¿Ð°Ð¼ÑÑи ÑеÑвеÑного пÑоÑеÑÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²Ñе иÑполнÑемÑе ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ AIX ÑобиÑаÑÑÑÑ ÐºÐ°Ðº 32-биÑнÑе, вне завиÑимоÑÑи Ð¾Ñ Ñого, какой Ñип обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ ÑдÑа иÑполÑзÑеÑÑÑ. Такие 32-биÑнÑе пÑоÑеÑÑÑ Ð¾Ð³ÑаниÑиваÑÑÑÑ Ð¾Ð±Ñим пÑоÑÑÑанÑÑвом в 4 ÐиÐ, ÑазделÑннÑм на ÑегменÑÑ Ð¿Ð¾ 256 ÐиÐ, по одной из неÑколÑÐºÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð² кÑÑе можно вÑделиÑÑ Ð¼ÐµÐ½ÑÑе 256 ÐиÐ, Ñак как она ÑазделÑÐµÑ Ð¾Ð´Ð¸Ð½ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ñо ÑÑеком.
Ð ÑиÑÑаÑии Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð½Ñм вÑÑе пÑимеÑом createlang, пÑовеÑÑÑе umask и ÑазÑеÑениÑ, назнаÑеннÑе Ð´Ð»Ñ Ð´Ð²Ð¾Ð¸ÑнÑÑ
Ñайлов в ваÑей инÑÑаллÑÑии Postgres Pro. ÐадейÑÑвованнÑе в данном пÑимеÑе двоиÑнÑе ÑÐ°Ð¹Ð»Ñ Ð±Ñли 32-биÑнÑми и ÑÑÑановилиÑÑ Ñ Ñежимом 750 вмеÑÑо 755. Ðз-за ÑакиÑ
ÑазÑеÑений ÑолÑко Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ Ð¸Ð»Ð¸ Ñлен гÑÑппÑ-владелÑÑа могли загÑÑзиÑÑ ÑÑебÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑекÑ. Так как она недоÑÑÑпна Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð²Ñеми, загÑÑзÑик помеÑал ÑÑÐ¾Ñ Ð¾Ð±ÑÐµÐºÑ Ð² облаÑÑÑ ÐºÑÑи пÑоÑеÑÑа, а не в ÑегменÑÑ ÑазделÑемÑÑ
библиоÑек, где он должен наÑ
одиÑÑÑÑ.
Р«идеале» ÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑеÑиÑÑ, еÑли иÑполÑзоваÑÑ 64-биÑнÑÑ ÑбоÑÐºÑ Postgres Pro, но ÑÑо не вÑегда пÑакÑиÑно, Ñак как Ñ 32-биÑнÑм пÑоÑеÑÑоÑом нелÑÐ·Ñ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑÑиÑÑ 64-биÑнÑй код (можно ÑолÑко ÑобÑаÑÑ).
ÐÑи желании иÑполÑзоваÑÑ 32-биÑнÑÑ Ð²ÐµÑÑÐ¸Ñ ÑеÑвеÑа ÑÑÑановиÑе в LDR_CNTRL знаÑение MAXDATA=0x, где 1 <= n <= 8, до запÑÑка Postgres Pro, и попÑобÑйÑе подобÑаÑÑ Ð¿Ð¾Ð´Ñ
одÑÑее знаÑение и паÑамеÑÑÑ n0000000postgresql.conf. ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ LDR_CNTRL говоÑÐ¸Ñ AIX, ÑÑо Ð²Ñ Ñ
оÑиÑе, ÑÑÐ¾Ð±Ñ ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð»ÑÑил MAXDATA Ð±Ð°Ð¹Ñ Ð´Ð»Ñ Ð¾Ð±Ð»Ð°ÑÑи кÑÑи, в ÑегменÑаÑ
по 256 ÐиÐ. ÐодобÑав ÑабоÑее знаÑение, можно воÑполÑзоваÑÑÑÑ ldedit и модиÑиÑиÑоваÑÑ Ð´Ð²Ð¾Ð¸ÑнÑе ÑайлÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ иÑполÑзовали Ñакой ÑÐ°Ð·Ð¼ÐµÑ ÐºÑÑи по ÑмолÑаниÑ. Ð¢Ð¾Ñ Ð¶Ðµ ÑÑÑÐµÐºÑ Ð¼Ð¾Ð¶Ð½Ð¾ полÑÑиÑÑ, пеÑеÑобÑав Postgres Pro Ñ Ñказанием configure LDFLAGS="-Wl,-bmaxdata:0x.n0000000"
ÐÐ»Ñ 64-биÑной ÑбоÑки опÑеделиÑе пеÑеменнÑÑ OBJECT_MODE Ñо знаÑением 64 и пеÑедайÑе configure ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ CC="gcc -maix64" и LDFLAGS="-Wl,-bbigtoc". (ÐÐ»Ñ xlc паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð´ÑÑгими.) ÐÑли нÑжное знаÑение OBJECT_MODE не бÑÐ´ÐµÑ ÑкÑпоÑÑиÑовано, пÑи ÑбоÑке могÑÑ Ð¿ÑоизойÑи оÑибки на ÑÑадии компоновки. Ðогда пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ OBJECT_MODE ÑÑÑановлена, она говоÑÐ¸Ñ ÑбоÑоÑнÑм ÑÑилиÑам AIX, Ñаким как ar, as и ld, какие ÑÐ¸Ð¿Ñ Ð¾Ð±ÑекÑов обÑабаÑÑваÑÑ Ð¿Ð¾ ÑмолÑаниÑ.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑиÑÑема Ð¼Ð¾Ð¶ÐµÑ ÑÑезмеÑно вÑделÑÑÑ Ð¿Ð°Ð¼ÑÑÑ Ð² пÑоÑÑÑанÑÑве подкаÑки. ХоÑÑ Ð½Ð°Ð¼ не пÑÐ¸Ñ Ð¾Ð´Ð¸Ð»Ð¾ÑÑ Ñ ÑÑим ÑÑалкиваÑÑÑÑ, AIX ÑниÑÑÐ¾Ð¶Ð°ÐµÑ Ð¿ÑоÑеÑÑÑ Ð¿Ñи попÑÑке обÑаÑÐµÐ½Ð¸Ñ Ðº ÑÑезмеÑно вÑделенной памÑÑи, когда ÐµÑ ÑакÑиÑеÑки не Ñ Ð²Ð°ÑаеÑ. Ðаиболее близкое, ÑÑо Ð¼Ñ Ð½Ð°Ð±Ð»Ñдали, бÑла оÑибка поÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа из-за Ñого, ÑÑо ÑиÑÑема ÑеÑала, ÑÑо Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ не Ñ Ð²Ð°ÑÐ°ÐµÑ Ð¿Ð°Ð¼ÑÑи. Ðак и многие дÑÑгие компоненÑÑ AIX, Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ñ ÑаÑпÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑоÑÑÑанÑÑва подкаÑки и ÑниÑÑÐ¾Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑов пÑи Ð½ÐµÑ Ð²Ð°Ñке памÑÑи можно наÑÑÑоиÑÑ Ð½Ð° ÑÑовне ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ пÑоÑеÑÑа, еÑли возникаÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñе пÑоблемÑ.
СÑÑлки и ÑеÑÑÑÑÑ
«Large Program Support». ÐокÑменÑаÑÐ¸Ñ AIX: ÐбÑие конÑепÑии пÑогÑаммиÑованиÑ: ÐапиÑание и оÑладка пÑогÑамм.
«Program Address Space Overview». ÐокÑменÑаÑÐ¸Ñ AIX: ÐбÑие конÑепÑии пÑогÑаммиÑованиÑ: ÐапиÑание и оÑладка пÑогÑамм.
«Performance Overview of the Virtual Memory Manager (VMM)». ÐокÑменÑаÑÐ¸Ñ AIX: Ð ÑководÑÑво по ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑÑÑ.
«Page Space Allocation». ÐокÑменÑаÑÐ¸Ñ AIX: Ð ÑководÑÑво по ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑÑÑ.
«Paging-space thresholds tuning». ÐокÑменÑаÑÐ¸Ñ AIX: Ð ÑководÑÑво по ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑÑÑ.
Developing and Porting C and C++ Applications on AIX. ÐÑаÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° IBM.
15.7.2. Cygwin
Postgres Pro можно ÑобÑаÑÑ Ñ Ð¿Ñименением Cygwin, Linux-подобной ÑÑÐµÐ´Ñ Ð´Ð»Ñ Windows, но ÑейÑÐ°Ñ ÑÑÐ¾Ð¼Ñ Ð¼ÐµÑÐ¾Ð´Ñ Ð¿ÑедпоÑиÑаеÑÑÑ Ð¾Ð±ÑÑÐ½Ð°Ñ ÑбоÑка в Windows (Ñм. ÐлавÑ 16), и запÑÑкаÑÑ ÑеÑÐ²ÐµÑ Ð² ÑÑеде Cygwin более не ÑекомендÑеÑÑÑ.
ÐÑполнÑÑ ÑбоÑкÑ, ÑледÑйÑе обÑÑной пÑоÑедÑÑе ÑÑÑановки (Ñ. е., ./configure; make; и Ñ. д.), Ñ ÑÑÑÑом ÑледÑÑÑиÑ
оÑобенноÑÑей Cygwin:
ÐаÑÑÑойÑе пÑÑÑ Ð¿Ð¾Ð¸Ñка Ñак, ÑÑÐ¾Ð±Ñ ÐºÐ°Ñалог bin в Cygwin ÑÑоÑл пеÑед каÑалогами ÑÑÐ¸Ð»Ð¸Ñ Windows. ÐÑо Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð±Ð°Ð²Ð¸ÑÑÑÑ Ð¾Ñ Ð¿Ñоблем пÑи компилÑÑии.
Ðоманда
adduserне поддеÑживаеÑÑÑ; воÑполÑзÑйÑеÑÑ ÑооÑвеÑÑÑвÑÑÑим ÑÑедÑÑвом ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑми Ð´Ð»Ñ Windows NT, 2000 или XP. Ðибо пÑоÑÑо пÑопÑÑÑиÑе ÑÑÐ¾Ñ Ñаг.Ðоманда
suне поддеÑживаеÑÑÑ; Ð´Ð»Ñ ÑмÑлÑÑии su в Windows NT, 2000 или XP воÑполÑзÑйÑеÑÑ ssh. Ðибо пÑопÑÑÑиÑе ÑÑÐ¾Ñ Ñаг.OpenSSL не поддеÑживаеÑÑÑ.
ÐапÑÑÑиÑе
cygserverÐ´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑазделÑемой памÑÑи. ÐÐ»Ñ ÑÑого введиÑе командÑ/usr/sbin/cygserver &. ÐÑа пÑогÑамма должна ÑабоÑаÑÑ Ð²Ñегда пÑи запÑÑке ÑеÑвеÑа Postgres Pro или иниÑиализаÑии клаÑÑеÑа баз даннÑÑ (initdb). Ðозможно, вам пÑидÑÑÑÑ Ð½Ð°ÑÑÑоиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑcygserver(напÑимеÑ, ÑвелиÑиÑÑSEMMNS), ÑÑÐ¾Ð±Ñ Postgres Pro мог полÑÑиÑÑ ÑÑебÑемÑе ÑиÑÑемнÑе ÑеÑÑÑÑÑ.СбоÑка Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð²ÐµÑÑиÑÑÑÑ Ð¾Ñибкой в некоÑоÑÑÑ ÑиÑÑÐµÐ¼Ð°Ñ , где иÑполÑзÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ, оÑлиÑÐ½Ð°Ñ Ð¾Ñ C. ЧÑÐ¾Ð±Ñ Ð¸ÑпÑавиÑÑ ÑÑо, вÑбеÑиÑе Ð»Ð¾ÐºÐ°Ð»Ñ C, вÑполнив
export LANG=C.utf8до ÑбоÑки, а заÑем воÑÑÑановиÑе пÑедÑдÑÑее знаÑение поÑле ÑÑÑановки Postgres Pro.ÐаÑаллелÑнÑе ÑегÑеÑÑионнÑе ÑеÑÑÑ (
make check) могÑÑ Ð²ÑдаваÑÑ Ð»Ð¾Ð¶Ð½Ñе оÑибки ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи пеÑеполнении оÑеÑедиlisten(), из-за Ñего подклÑÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð½Ðµ ÑÑÑанавливаÑÑÑÑ Ð¸Ð»Ð¸ завиÑаÑÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе огÑаниÑиÑÑ ÑиÑло подклÑÑений, опÑеделив пеÑеменнÑÑ makeMAX_CONNECTIONSÑак:make MAX_CONNECTIONS=5 check
(РнекоÑоÑÑÑ ÑиÑÑÐµÐ¼Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ Ð´Ð¾ 10 одновÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений).
СеÑÐ²ÐµÑ Postgres Pro и cygserver можно запÑÑÑиÑÑ Ð² виде ÑлÑжб Windows NT. Ðак ÑÑо ÑделаÑÑ, ÑаÑÑказÑваеÑÑÑ Ð² опиÑании README, вклÑÑÑнном в двоиÑнÑй Ð¿Ð°ÐºÐµÑ Postgres Pro Ð´Ð»Ñ Cygwin. Ðно ÑÑÑанавливаеÑÑÑ Ð² каÑалог /usr/share/doc/Cygwin.
15.7.3. HP-UX
PostgreSQL 7.3+ и Postgres Pro должен ÑабоÑаÑÑ Ð½Ð° маÑÐ¸Ð½Ð°Ñ Series 700/800 PA-RISC под ÑпÑавлением HP-UX 10.X или 11.X, Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑими ÑÑовнÑми ÑиÑÑемнÑÑ Ð¸ÑпÑавлений и ÑÑедÑÑвами ÑбоÑки. Ðак минимÑм один ÑазÑабоÑÑик ÑегÑлÑÑно ÑеÑÑиÑÑÐµÑ ÑбоÑÐºÑ Ð² HP-UX 10.20, и Ð¼Ñ Ð¿Ð¾Ð»ÑÑали ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± ÑÑпеÑнÑÑ ÑÑÑÐ°Ð½Ð¾Ð²ÐºÐ°Ñ Ð² HP-UX 11.00 и 11.11.
Ðомимо пакеÑа иÑÑ
одного кода Postgres Pro, вам поÑÑебÑеÑÑÑ GNU make (HP make не подойдÑÑ) и GCC или полнÑй компилÑÑÐ¾Ñ ANSI C Ð¾Ñ HP. ÐÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑÐµÐ½Ñ Ð²ÑполниÑÑ ÑбоÑÐºÑ Ð½Ðµ из диÑÑÑибÑÑивного пакеÑа иÑÑ
одного кода, а из Git, вам Ñакже поÑÑебÑеÑÑÑ Flex (GNU lex) и Bison (GNU yacc). ÐÑ Ñакже ÑекомендÑем ÑбедиÑÑÑÑ, ÑÑо Ñ Ð²Ð°Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð´Ð¾Ð²Ð¾Ð»Ñно Ñвежие иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ HP. ÐÐ»Ñ ÑбоÑки 64-биÑного кода в HP-UX 11.11 вам поÑÑебÑеÑÑÑ PHSS_30966 (11.11) или более новое иÑпÑавление, без него initdb Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð²Ð¸ÑаÑÑ. Ðак пÑавило, Ð´Ð»Ñ ÑбоÑки нÑжно имеÑÑ ÑекÑÑие иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ libc и ld/dld, а Ñакже компилÑÑоÑа (еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе компилÑÑÐ¾Ñ HP). ÐолÑÑиÑÑ ÑÑи иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÑплаÑно можно на ÑайÑаÑ
поддеÑжки HP http://itrc.hp.com и ftp://us-ffs.external.hp.com/.
ÐÑли Ð²Ñ Ð¿ÑоводиÑе ÑбоÑÐºÑ Ð½Ð° маÑине PA-RISC 2.0 и Ñ Ð¾ÑиÑе полÑÑиÑÑ 64-биÑнÑй иÑполнÑемÑй код, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ 64-биÑнÑÑ Ð²ÐµÑÑÐ¸Ñ GCC. СкомпилиÑованнÑй GCC Ð´Ð»Ñ HP-UX PA-RISC и Itanium доÑÑÑпен по адÑеÑÑ http://www.hp.com/go/gcc. Ðе забÑдÑÑе Ñакже загÑÑзиÑÑ Ð¸ ÑÑÑановиÑÑ binutils.
ÐÑли Ð²Ñ Ð¿ÑоводиÑе ÑбоÑÐºÑ Ð½Ð° маÑине PA-RISC 2.0 и Ñ
оÑиÑе, ÑÑÐ¾Ð±Ñ ÑкомпилиÑованнÑй код запÑÑкалÑÑ Ð½Ð° маÑинаÑ
PA-RISC 1.1, Ñакже поÑÑебÑеÑÑÑ ÑказаÑÑ +DAportable в CFLAGS.
ÐÑли Ð²Ñ Ð¿ÑоводиÑе ÑбоÑÐºÑ Ð½Ð° маÑине HP-UX Itanium, вам поÑÑебÑеÑÑÑ Ð¿Ð¾Ñледний компилÑÑÐ¾Ñ ANSI C Ð¾Ñ HP Ñ ÑооÑвеÑÑÑвÑÑÑим иÑпÑавлением или более новÑми:
PHSS_30848  s700_800 HP C Compiler (A.05.57)
PHSS_30849  s700_800 u2comp/be/plugin library Patch
ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе компилÑÑÐ¾Ñ HP C и GCC, Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ñвно вÑбÑаÑÑ Ð¿ÑедпоÑиÑаемÑй компилÑÑÐ¾Ñ Ð¿Ñи запÑÑке configure:
./configure CC=cc
Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑа C Ð¾Ñ HP, либо
./configure CC=gcc
Ð´Ð»Ñ Ð²ÑбоÑа GCC. ÐÑи оÑÑÑÑÑÑвии Ñвного ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ configure вÑбеÑÐµÑ gcc, еÑли еÑÑÑ ÑÐ°ÐºÐ°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ñелевой каÑалог ÑÑÑановки â /usr/local/pgsql, но вÑ, возможно, заÑ
оÑиÑе его измениÑÑ Ð½Ð° дÑÑгой, внÑÑÑи /opt. Ð ÑÑом ÑлÑÑае пеÑедайÑе его configure Ñ ÐºÐ»ÑÑом --prefix.
Ð ÑегÑеÑÑионнÑÑ ÑеÑÑÐ°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¾ÑÐºÐ»Ð¾Ð½ÐµÐ½Ð¸Ñ Ð¿Ñи геомеÑÑиÑеÑÐºÐ¸Ñ Ð¿ÑовеÑÐºÐ°Ñ , в наименее знаÑаÑÐ¸Ñ ÑиÑÑÐ°Ñ , в завиÑимоÑÑи Ð¾Ñ Ð¿ÑименÑемого компилÑÑоÑа и маÑемаÑиÑеÑкой библиоÑеки. ÐÑбÑе дÑÑгие оÑибки заÑлÑживаÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ.
15.7.4. macOS
РпоÑледниÑ
веÑÑиÑÑ
macOS необÑ
одимо вклÑÑаÑÑ Ð¿ÑÑÑ Â«sysroot» во Ñлаги include, позволÑÑÑие найÑи некоÑоÑÑе ÑиÑÑемнÑе заголовоÑнÑе ÑайлÑ. Ðак ÑезÑлÑÑаÑ, вÑвод ÑкÑипÑа configure Ð¼Ð¾Ð¶ÐµÑ Ð¼ÐµÐ½ÑÑÑÑÑ Ð² завиÑимоÑÑи Ð¾Ñ Ñого, ÐºÐ°ÐºÐ°Ñ Ð²ÐµÑÑÐ¸Ñ SDK иÑполÑзовалаÑÑ Ð² пÑоÑеÑÑе configure. ÐÑо не должно ÑоздаваÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
пÑоблем в пÑоÑÑÑÑ
ÑÑенаÑиÑÑ
, но еÑли Ð²Ñ Ð¿Ð¾Ð¿ÑÑаеÑеÑÑ, напÑимеÑ, ÑобÑаÑÑ ÑаÑÑиÑение не на Ñой маÑине, где бÑл ÑобÑан ÑеÑвеÑнÑй код, Ñо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ñвно ÑказаÑÑ Ð´ÑÑгой пÑÑÑ sysroot. Ð ÑÑом ÑлÑÑае ÑÑÑановиÑе PG_SYSROOT, напÑимеÑ, Ñак:
make PG_SYSROOT=/ÑÑебÑемÑй/пÑÑÑ allЧÑÐ¾Ð±Ñ ÑзнаÑÑ Ð¿ÑавилÑнÑй пÑÑÑ Ð½Ð° ваÑей маÑине, вÑполниÑе:
xcodebuild -version -sdk macosx Path
ÐамеÑÑÑе, ÑÑо ÑобиÑаÑÑ ÑаÑÑиÑÐµÐ½Ð¸Ñ Ñ Ð²ÐµÑÑией sysroot, оÑлиÑной Ð¾Ñ Ñой, Ñ ÐºÐ¾ÑоÑой ÑобиÑалоÑÑ ÑдÑо ÑеÑвеÑа, не ÑекомендÑеÑÑÑ; в Ñ ÑдÑем ÑлÑÑае ÑÑо пÑиведÑÑ Ðº ÑÑÑднодиагноÑÑиÑÑемÑм неÑоглаÑованноÑÑÑм ABI.
Также пÑи конÑигÑÑиÑовании Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе задаÑÑ sysroot, оÑлиÑнÑй Ð¾Ñ Ð¿Ð¾Ð´ÑазÑмеваемого по ÑмолÑаниÑ, пеÑедав PG_SYSROOT ÑкÑипÑÑ configure:
./configure ... PG_SYSROOT=/ÑÑебÑемÑй/пÑÑÑФÑнкÑионалÑноÑÑÑ Â«ÐаÑиÑа ÑелоÑÑноÑÑи ÑиÑÑемÑ» (System Integrity Protection, SIP) в macOS наÑÑÑÐ°ÐµÑ ÑабоÑÑ make check, Ñак как она не позволÑÐµÑ Ð¿ÐµÑедаваÑÑ Ð½Ñжное знаÑение DYLD_LIBRARY_PATH ÑеÑÑиÑÑемÑм иÑполнÑемÑм Ñайлам. ÐбойÑи ÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾, вÑполнив make install пеÑед make check. Ðднако болÑÑинÑÑво ÑазÑабоÑÑиков Postgres пÑоÑÑо оÑклÑÑаÑÑ SIP.
15.7.5. MinGW/СобÑÑÐ²ÐµÐ½Ð½Ð°Ñ ÑбоÑка Windows
Postgres Pro Ð´Ð»Ñ Windows можно ÑобÑаÑÑ Ñ Ð¸ÑполÑзованием MinGW, Unix-подобной ÑÑÐµÐ´Ñ ÑбоÑки Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑем Microsoft, либо иÑполÑзÑÑ Ð½Ð°Ð±Ð¾Ñ ÑÑедÑÑв ÑазÑабоÑки Microsoft Visual C++. ÐÑи иÑполÑзовании MinGW пÑименÑеÑÑÑ Ð¾Ð±ÑÑÐ½Ð°Ñ ÑиÑÑема ÑбоÑки, опиÑÐ°Ð½Ð½Ð°Ñ Ð² ÑÑой главе; ÑбоÑка Ñ Visual C++ вÑполнÑеÑÑÑ Ð¿Ð¾-дÑÑгомÑ, как опиÑано в Ðлаве 16. ÐÑо полноÑÑÑÑ ÐµÑÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ ÑбоÑка Ð´Ð»Ñ Windows, Ð´Ð»Ñ ÐºÐ¾ÑоÑой не ÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑное ÐРвÑоде MinGW. ÐоÑовÑй инÑÑаллÑÑÐ¾Ñ Ð´Ð»Ñ Windows можно найÑи на ÑайÑе Postgres Pro.
PostgreSQL, поÑÑиÑованнÑй в Windows, бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð² 32- или 64-биÑной веÑÑии Windows 2000 или новее. РпÑедÑдÑÑиÑ
опеÑаÑионнÑÑ
ÑиÑÑемаÑ
Ð½ÐµÑ Ð´Ð¾ÑÑаÑоÑной инÑÑаÑÑÑÑкÑÑÑÑ (но Ñам можно иÑполÑзоваÑÑ Cygwin). MinGW, Unix-подобнÑе ÑÑедÑÑва ÑбоÑки, и MSYS, Ð½Ð°Ð±Ð¾Ñ ÑÑÐ¸Ð»Ð¸Ñ Unix, ÑÑебÑемÑÑ
Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑкÑипÑов Ñипа configure, можно загÑÑзиÑÑ Ñ ÑайÑа http://www.mingw.org/. ÐÑи дополниÑелÑнÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð½ÑÐ¶Ð½Ñ ÑолÑко Ð´Ð»Ñ ÑбоÑки, Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка полÑÑеннÑÑ
иÑполнÑемÑÑ
Ñайлов они не ÑÑебÑÑÑÑÑ.
ЧÑÐ¾Ð±Ñ ÑобÑаÑÑ 64-биÑнÑÑ Ð²ÐµÑÑÐ¸Ñ Ñ Ð¸ÑполÑзованием MinGW, ÑÑÑановиÑе Ð½Ð°Ð±Ð¾Ñ 64-биÑнÑÑ
ÑÑÐ¸Ð»Ð¸Ñ Ñ http://mingw-w64.sourceforge.net/, добавÑÑе пÑÑÑ Ðº его каÑÐ°Ð»Ð¾Ð³Ñ bin в PATH и запÑÑÑиÑе configure Ñ Ð¿Ð°ÑамеÑÑом --host=x86_64-w64-mingw32.
Ðогда Ð²Ñ Ð²ÑÑ ÑÑÑановиÑе, запÑÑкаÑÑ psql пÑедлагаеÑÑÑ Ð¸Ð· CMD.EXE, Ñак как в конÑоли MSYS еÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð±ÑÑеÑизаÑией.
15.7.5.1. Ð¡Ð±Ð¾Ñ Ð°Ð²Ð°ÑийнÑÑ Ð´Ð°Ð¼Ð¿Ð¾Ð² в Windows
Ð ÑлÑÑае аваÑии Postgres Pro в Windows он Ð¼Ð¾Ð¶ÐµÑ ÑгенеÑиÑоваÑÑ Ð¼Ð¸Ð½Ð¸Ð´Ð°Ð¼Ð¿ памÑÑи, коÑоÑÑй Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð²ÑÑÑниÑÑ Ð¿ÑиÑÐ¸Ð½Ñ Ð°Ð²Ð°Ñии, подобно дампам памÑÑи в Unix. ÐÑоанализиÑоваÑÑ ÑÑи Ð´Ð°Ð¼Ð¿Ñ Ð¼Ð¾Ð¶Ð½Ð¾, иÑполÑзÑÑ Windows Debugger Tools (СÑедÑÑва оÑладки Windows) или Visual Studio. ЧÑÐ¾Ð±Ñ Ð² Windows полÑÑиÑÑ Ð´Ð°Ð¼Ð¿ в ÑлÑÑае аваÑии, ÑоздайÑе подкаÑалог crashdumps в каÑалоге даннÑÑ
клаÑÑеÑа. ÐÐ°Ð¼Ð¿Ñ Ð±ÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² ÑÑÐ¾Ñ ÐºÐ°Ñалог Ñ ÑникалÑнÑм именем, ÑоÑÑавленнÑм из иденÑиÑикаÑоÑа пÑоÑеÑÑа, давÑего Ñбой, и вÑемени ÑбоÑ.
15.7.6. SCO OpenServer и SCO UnixWare
Postgres Pro можно ÑобÑаÑÑ Ð² SCO UnixWare 7 и SCO OpenServer 5. Ð OpenServer Ð´Ð»Ñ ÑбоÑки можно иÑполÑзоваÑÑ Ð»Ð¸Ð±Ð¾ ÐнÑÑÑÑменÑÑ ÑазÑабоÑки OpenServer (OpenServer Development Kit), либо УнивеÑÑалÑнÑе ÑÑедÑÑва ÑазÑабоÑки (Universal Development Kit). Ðозможно, пÑи ÑÑом поÑÑебÑеÑÑÑ Ð²ÑполниÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе дейÑÑвиÑ, как опиÑано ниже.
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 License Software Supplement" (ÐополниÑелÑное ÐÐ Ñ Ð¾ÑкÑÑÑÑми лиÑензиÑми). ÐÑли Ñ Ð²Ð°Ñ Ð½ÐµÑ Ñакого CD, ÑÑо ÐРможно найÑи на ÑайÑе http://www.sco.com/skunkware/.
ÐеÑÑии Skunkware Ð´Ð»Ñ UnixWare и OpenServer ÑазлиÑаÑÑÑÑ. УбедиÑеÑÑ, ÑÑо Ð²Ñ ÑÑÑанавливаеÑе пÑавилÑнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð´Ð»Ñ Ð²Ð°Ñей ÐС, но ÑÑÑиÑе ÑледÑÑÑие замеÑаниÑ.
Ð UnixWare 7.1.3 и новее компилÑÑÐ¾Ñ GCC поÑÑавлÑеÑÑÑ Ð½Ð° UDK CD, вмеÑÑе Ñ GNU Make.
15.7.6.2. GNU Make
Ðам поÑÑебÑеÑÑÑ Ð¿ÑогÑамма GNU Make, коÑоÑÐ°Ñ Ð½Ð°Ñ
одиÑÑÑ Ð½Ð° Skunkware CD. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½Ð° ÑÑÑанавливаеÑÑÑ Ð² /usr/local/bin/make.
Ð UnixWare 7.1.3 и новее пÑогÑамма GNU Make вклÑÑена в Ñаздел OSTK диÑка UDK и ÑÑÑанавливаеÑÑÑ Ð² /usr/gnu/bin/gmake.
15.7.6.3. Readline
ÐиблиоÑека Readline поÑÑавлÑеÑÑÑ Ð½Ð° Skunkware CD, но она не вклÑÑена в Skunkware CD Ð´Ð»Ñ UnixWare 7.1. ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Skunkware CD Ð´Ð»Ñ UnixWare 7.0.0 или 7.0.1, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ ÐµÑ Ñ ÑÑого диÑка. РпÑоÑивном ÑлÑÑае обÑаÑиÑеÑÑ Ðº http://www.sco.com/skunkware/.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Readline ÑÑÑанавливаеÑÑÑ Ð² /usr/local/lib и /usr/local/include. Ðднако configure Ð´Ð»Ñ Postgres Pro не ÑÐ¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð¹Ñи ÐµÑ Ñам без дополниÑелÑной помоÑи. ÐоÑÑомÑ, еÑли Ð²Ñ ÑÑÑановили Readline, пеÑедайÑе configure ÑледÑÑÑие паÑамеÑÑÑ:
./configure --with-libraries=/usr/local/lib --with-includes=/usr/local/include
15.7.6.4. ÐÑполÑзование UDK в OpenServer
ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе новÑй компилÑÑÐ¾Ñ Ð¸Ð· УнивеÑÑалÑнÑÑ ÑÑедÑÑв ÑазÑабоÑки (UDK, Universal Development Kit) в 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"
15.7.6.5. ÐолÑÑение ÑпÑавки man по Postgres Pro
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑаниÑÑ man Ð´Ð»Ñ Postgres Pro ÑÑÑанавливаÑÑÑÑ Ð² /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 Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑовеÑÑи дополниÑелÑнÑе иÑÑледованиÑ, ÑÑÐ¾Ð±Ñ ÑпÑавкой man можно бÑло полÑзоваÑÑÑÑ, поÑÐ¾Ð¼Ñ ÑÑо в ÑÑой ÑиÑÑеме man ÑабоÑÐ°ÐµÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ не Ñак, как в дÑÑÐ³Ð¸Ñ . РнаÑÑоÑÑее вÑÐµÐ¼Ñ Postgres Pro пÑоÑÑо не ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑпÑавоÑнÑе ÑÑÑаниÑÑ Ð² ней.
15.7.6.6. ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ C99 Ñ ÑÑнкÑионалÑнÑм дополнением 7.1.1b
ÐÐ»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑов, более ÑанниÑ
, Ñем вÑпÑÑеннÑй Ñ OpenUNIX 8.0.0 (UnixWare 7.1.2), в Ñом ÑиÑле Ñ ÑÑнкÑионалÑнÑм дополнением 7.1.1b, Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ ÑказаÑÑ -Xb в пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ CC или CFLAGS. ÐÑизнаком ÑÑой пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð±ÑÐ´ÐµÑ Ð¾Ñибка пÑи компилÑÑии tuplesort.c в коде, ÑÑÑлаÑÑемÑÑ Ð½Ð° вÑÑÑоеннÑе ÑÑнкÑии. СÑÐ´Ñ Ð¿Ð¾ вÑемÑ, ÑооÑвеÑÑÑвÑÑÑее иÑпÑавление вклÑÑено в компилÑÑÐ¾Ñ Ð²ÐµÑÑии 7.1.2(8.0.0) и новее.
15.7.6.7. ÐногопоÑоÑноÑÑÑ Ð² UnixWare
ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑоÑноÑÑи Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ñказание -Kpthread пÑи компилÑÑии вÑеÑ
пÑогÑамм на базе libpq. ÐиблиоÑека libpq вÑзÑÐ²Ð°ÐµÑ ÑÑнкÑии pthread_*, коÑоÑÑе доÑÑÑÐ¿Ð½Ñ ÑолÑко пÑи компилÑÑии Ñ Ñлагом -Kpthread/-Kthread.
15.7.7. Solaris
Postgres Pro Ñ Ð¾ÑоÑо поддеÑживаеÑÑÑ Ð² Solaris. Чем новее опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема, Ñем менÑÑе заÑÑÑднений бÑдеÑ; подÑобнее об ÑÑом ниже.
15.7.7.1. ТÑебÑемÑе инÑÑÑÑменÑÑ
ÐÑ Ð¼Ð¾Ð¶ÐµÑе вÑполниÑÑ ÑбоÑÐºÑ Ñ GCC или Ñ Ð½Ð°Ð±Ð¾Ñом компилÑÑоÑов Sun. ÐÐ»Ñ Ð»ÑÑÑей опÑимизаÑии кода на аÑÑ
иÑекÑÑÑе SPARC наÑÑоÑÑелÑно ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾Ñ Sun. ÐÑ ÑлÑÑали о пÑоблемаÑ
Ñ 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, либо пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ð° ÑопÑÑÑÑвÑÑÑем CD. ÐÑли вам нÑÐ¶Ð½Ñ Ð¿Ð°ÐºÐµÑÑ Ð´Ð»Ñ ÑÑаÑÑÑ Ð²ÐµÑÑий Solaris, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи Ð¸Ñ Ð½Ð° ÑайÑе http://www.sunfreeware.com. ÐÑли Ð²Ñ Ð¿ÑедпоÑиÑаеÑе иÑÑ Ð¾Ð´Ð½Ñй код, обÑаÑиÑеÑÑ Ðº http://www.gnu.org/order/ftp.html.
15.7.7.2. ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ OpenSSL
СобиÑÐ°Ñ Postgres Pro Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой OpenSSL, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ Ð¾Ñибки компилÑÑии в ÑледÑÑÑÐ¸Ñ ÑÐ°Ð¹Ð»Ð°Ñ :
src/backend/libpq/crypt.csrc/backend/libpq/password.csrc/interfaces/libpq/fe-auth.csrc/interfaces/libpq/fe-connect.c
ÐÑо вÑзвано конÑликÑом имÑн Ð¼ÐµÐ¶Ð´Ñ ÑÑандаÑÑнÑм /usr/include/crypt.h и заголовоÑнÑми Ñайлами в ÑоÑÑаве OpenSSL.
ÐÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑеÑиÑÑ, обновив инÑÑаллÑÑÐ¸Ñ OpenSSL до веÑÑии 0.9.6a. Solaris 9 и новее Ñже вклÑÑÐ°ÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑннÑÑ Ð²ÐµÑÑÐ¸Ñ OpenSSL.
15.7.7.3. ÐÑоÑедÑÑа configure ÑообÑÐ°ÐµÑ Ð¾ Ñбое ÑеÑÑовой пÑогÑаммÑ
ÐÑли configure ÑообÑÐ°ÐµÑ Ð¾ Ñбое ÑеÑÑовой пÑогÑаммÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñзвано Ñем, ÑÑо пÑи ÑвÑзÑвании во вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑдаÑÑÑÑ Ð½Ð°Ð¹Ñи некоÑоÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑекÑ, веÑоÑÑно, libz, libreadline или какÑÑ-Ñо дÑÑгÑÑ Ð½ÐµÑÑандаÑÑнÑÑ, напÑимеÑ, libssl. ЧÑÐ¾Ð±Ñ ÑказаÑÑ Ð¿ÑавилÑное ÑазмеÑение библиоÑеки, задайÑе пеÑеменнÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ LDFLAGS в командной ÑÑÑоке configure, напÑÐ¸Ð¼ÐµÑ Ñак:
configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº ÑÑÑаниÑе man ld.
15.7.7.4. ÐеÑиодиÑеÑкие Ñбои 64-биÑной ÑбоÑки
Ð Solaris 7 и ÑÑаÑее 64-биÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ libc ÑодеÑжала бÑакованнÑÑ ÑÑнкÑÐ¸Ñ vsnprintf, коÑоÑÐ°Ñ Ð¼Ð¾Ð³Ð»Ð° вÑзÑваÑÑ Ð½ÐµÐ¿ÑедÑказÑемÑе Ñбои Postgres Pro. Самое пÑоÑÑое извеÑÑное ÑеÑение â ÑделаÑÑ, ÑÑÐ¾Ð±Ñ Postgres Pro иÑполÑзовал ÑобÑÑвеннÑÑ Ð²ÐµÑÑÐ¸Ñ vsnprintf вмеÑÑо библиоÑеÑной веÑÑии. ÐÐ»Ñ ÑÑого, вÑполнив configure, оÑÑедакÑиÑÑйÑе полÑÑеннÑй в ÑезÑлÑÑаÑе configure Ñайл. Ð src/Makefile.global поменÑйÑе ÑÑÑокÑ
LIBOBJS =
на ÑакÑÑ
LIBOBJS = snprintf.o
(Ð ÑÑой пеÑеменной Ñже Ñакже могÑÑ Ð±ÑÑÑ Ð¿ÐµÑеÑиÑÐ»ÐµÐ½Ñ Ð¸ дÑÑгие ÑайлÑ.) ÐаÑем пÑодолжиÑе ÑбоÑÐºÑ ÐºÐ°Ðº обÑÑно.
15.7.7.5. ÐомпилÑÑÐ¸Ñ Ð´Ð»Ñ Ð¼Ð°ÐºÑималÑной пÑоизводиÑелÑноÑÑи
ÐÐ»Ñ Ð°ÑÑ
иÑекÑÑÑÑ SPARC наÑÑоÑÑелÑно ÑекомендÑеÑÑÑ Ð¿ÑоводиÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¸Ñ Ñ Ð¸ÑполÑзованием Sun Studio. Ðобавив Ñлаг -xO5, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ Ð¸ÑполнÑемÑй код, коÑоÑÑй бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð·Ð½Ð°ÑиÑелÑно бÑÑÑÑее. Ðо не добавлÑйÑе никакие Ñлаги, влиÑÑÑие на вÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой или обÑабоÑÐºÑ errno (напÑимеÑ, -fast). С Ñакими Ñлагами Postgres Pro Ð¼Ð¾Ð¶ÐµÑ Ð²ÐµÑÑи ÑÐµÐ±Ñ Ð½ÐµÑÑандаÑÑно, напÑимеÑ, вÑполнÑÑ Ð¾Ð¿ÐµÑаÑии Ñ Ð´Ð°Ñами/вÑеменем.
ÐÑли Ñ Ð²Ð°Ñ Ð½ÐµÑ Ð¿ÑиÑÐ¸Ð½Ñ Ð¸ÑполÑзоваÑÑ 64-биÑнÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð² аÑÑ Ð¸ÑекÑÑÑе SPARC, ÑобиÑайÑе 32-биÑнÑÑ Ð²ÐµÑÑиÑ, Ñак как 64-биÑнÑе опеÑаÑии, а знаÑÐ¸Ñ Ð¸ 64-биÑнÑе пÑогÑаммÑ, вÑполнÑÑÑÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ 32-биÑнÑÑ . С дÑÑгой ÑÑоÑонÑ, 32-биÑнÑй код Ð´Ð»Ñ Ð¿ÑоÑеÑÑоÑов ÑемейÑÑва AMD64 не ÑвлÑеÑÑÑ Â«ÑоднÑм», поÑÑÐ¾Ð¼Ñ Ð½Ð° ÑÐ°ÐºÐ¸Ñ Ð¿ÑоÑеÑÑоÑÐ°Ñ Ð·Ð½Ð°ÑиÑелÑно медленнее ÑабоÑÐ°ÐµÑ 32-биÑнÑй код.
15.7.7.6. ÐÑименение DTrace Ð´Ð»Ñ ÑÑаÑÑиÑовки Postgres Pro
Ðа, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ DTrace. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 27.4. ÐÑÑгÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в ÑÑой ÑÑаÑÑе: https://blogs.oracle.com/robertlor/entry/user_level_dtrace_probes_in.
ÐÑли компоновка иÑполнÑемого Ñайла postgres пÑеÑÑваеÑÑÑ Ñ Ñаким ÑообÑением об оÑибке:
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 make: *** [postgres] Error 1
ÐÑо ознаÑаеÑ, ÑÑо ваÑа инÑÑаллÑÑÐ¸Ñ DTrace ÑлиÑком ÑÑаÑа и неÑпоÑобна ÑабоÑаÑÑ Ñ Ð¿Ñобами в ÑÑаÑиÑеÑÐºÐ¸Ñ ÑÑнкÑиÑÑ . Ð ÑÑом ÑлÑÑае вам нÑжна веÑÑÐ¸Ñ Solaris 10u4 или новее.