15.4. ÐÑоÑедÑÑа ÑÑÑановки
ÐонÑигÑÑиÑование
Ðа пеÑвом Ñаге ÑÑÑановки ÑÑебÑеÑÑÑ ÑконÑигÑÑиÑоваÑÑ Ð´ÐµÑево ÑÑÑановки Ð´Ð»Ñ Ð²Ð°Ñей ÑиÑÑÐµÐ¼Ñ Ð¸ вÑбÑаÑÑ Ð¶ÐµÐ»Ð°ÐµÐ¼Ñе паÑамеÑÑÑ ÑбоÑки. ÐÐ»Ñ ÑÑого нÑжно запÑÑÑиÑÑ ÑкÑипÑ
configure. ЧÑÐ¾Ð±Ñ Ð²ÑполниÑÑ ÑÑандаÑÑнÑÑ ÑбоÑкÑ, пÑоÑÑо введиÑе:./configureÐÑÐ¾Ñ ÑкÑÐ¸Ð¿Ñ Ð¿ÑоведÑÑ Ð½ÐµÑколÑко пÑовеÑок Ñ ÑелÑÑ Ð¾Ð¿ÑеделиÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑазлиÑнÑÑ Ð¿ÐµÑеменнÑÑ , завиÑÑÑÐ¸Ñ Ð¾Ñ ÑиÑÑемÑ, и вÑÑвиÑÑ Ð»ÑбÑе ÑÑÑанноÑÑи ваÑей ÐС, а заÑем ÑоздаÑÑ Ð½ÐµÑколÑко Ñайлов в деÑеве ÑбоÑки, в коÑоÑÑÑ Ð¾ÑÑÐ°Ð·Ð¸Ñ Ð¿Ð¾Ð»ÑÑеннÑе ÑезÑлÑÑаÑÑ. ÐÑ Ñакже можеÑе вÑполниÑÑ
configureвне деÑева иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода, еÑли Ñ Ð¾ÑиÑе ÑÐ¾Ñ ÑаниÑÑ ÐºÐ°Ñалог ÑбоÑки оÑделÑно. ÐÑа пÑоÑедÑÑа Ñакже назÑваеÑÑÑ ÑбоÑкой Ñ VPATH. ÐÑполнÑеÑÑÑ Ð¾Ð½Ð° Ñак:mkdir build_dircd build_dir/пÑÑÑ/к/каÑалогÑ/иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾/кода/configure [паÑамеÑÑÑ]makeÐ ÑÑандаÑÑной конÑигÑÑаÑии ÑобиÑаÑÑÑÑ ÑеÑÐ²ÐµÑ Ð¸ ÑÑилиÑÑ, а Ñакже клиенÑÑкие пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ инÑеÑÑейÑÑ, коÑоÑÑм ÑÑебÑеÑÑÑ ÑолÑко компилÑÑÐ¾Ñ C. ÐÑе ÑÐ°Ð¹Ð»Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑанавливаÑÑÑÑ Ð²
/usr/local/pgsql.ÐÑ Ð¼Ð¾Ð¶ÐµÑе наÑÑÑоиÑÑ Ð¿ÑоÑеÑÑ ÑбоÑки и ÑÑÑановки, пеÑедав
configureодин или неÑколÑко ÑледÑÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов командной ÑÑÑоки:--prefix=ÐÐ ÐФÐÐСРазмеÑÑиÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð²Ð½ÑÑÑи каÑалога
ÐÐ ÐФÐÐС, а не в/usr/local/pgsql. СобÑÑвенно ÑÐ°Ð¹Ð»Ñ Ð±ÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² ÑазлиÑнÑе подкаÑалоги ÑÑого каÑалога; в Ñамом каÑалогеÐÐ ÐФÐÐСникакие ÑÐ°Ð¹Ð»Ñ Ð½Ðµ ÑазмеÑаÑÑÑÑ.ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¾ÑобÑе ÑÑебованиÑ, Ð²Ñ Ñакже можеÑе измениÑÑ Ð¾ÑделÑнÑе подкаÑалоги, опÑеделив ÑледÑÑÑие паÑамеÑÑÑ. Ðднако, еÑли Ð²Ñ Ð¾ÑÑавиÑе Ð´Ð»Ñ Ð½Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ, инÑÑаллÑÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¿ÐµÑемеÑаемой, Ñо еÑÑÑ Ð²Ñ ÑможеÑе пеÑемеÑÑиÑÑ ÐºÐ°Ñалог поÑле ÑÑÑановки. (ÐÑо не ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° каÑалоги
manиdoc.)ÐÐ»Ñ Ð¿ÐµÑемеÑаемÑÑ Ð¸Ð½ÑÑаллÑÑий можно пеÑедаÑÑ
configureÑказание--disable-rpath. ÐÑоме Ñого, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑдеÑе ÑказаÑÑ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑеме, как найÑи ÑазделÑемÑе библиоÑеки.--exec-prefix=ÐСÐ-ÐÐ ÐФÐÐСÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ Ð°ÑÑ Ð¸ÑекÑÑÑно-завиÑимÑе ÑÐ°Ð¹Ð»Ñ Ð² ÑазмеÑение Ñ Ð´ÑÑгим пÑеÑикÑом,
ÐСÐ-ÐÐ ÐФÐÐС, оÑлиÑнÑм оÑÐÐ ÐФÐÐС. ÐÑо бÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ ÑовмеÑÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ°ÐºÐ¸Ñ Ñайлов неÑколÑкими ÑиÑÑемами. Ðо ÑмолÑаниÑÐСÐ-ÐÐ ÐФÐÐСÑÑиÑаеÑÑÑ ÑавнÑмÐÐ ÐФÐÐСи вÑе ÑайлÑ, аÑÑ Ð¸ÑекÑÑÑно-завиÑимÑе и незавиÑимÑе, ÑÑÑанавливаÑÑÑÑ Ð² одно деÑево каÑалогов, ÑÑо вам ÑкоÑее вÑего и нÑжно.--bindir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ Ð¸ÑполнÑемÑÑ Ð´Ð²Ð¾Ð¸ÑнÑÑ Ð¿ÑогÑамм. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо
, ÑÑо обÑÑно ознаÑаеÑÐСÐ-ÐÐ ÐФÐÐС/bin/usr/local/pgsql/bin.--sysconfdir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ ÑазлиÑнÑÑ Ñайлов конÑигÑÑаÑии,
по ÑмолÑаниÑ.ÐÐ ÐФÐÐС/etc--libdir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ ÑÑÑановки библиоÑек и динамиÑеÑки загÑÑжаемÑÑ Ð¼Ð¾Ð´Ñлей. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
.ÐСÐ-ÐÐ ÐФÐÐС/lib--includedir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ ÑÑÑановки заголовоÑнÑÑ Ñайлов C и C++. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
.ÐÐ ÐФÐÐС/include--datarootdir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ¾Ñневой каÑалог Ð´Ð»Ñ Ñазного Ñода ÑÑаÑиÑеÑÐºÐ¸Ñ Ñайлов. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑеделÑÐµÑ ÑолÑко Ð±Ð°Ð·Ñ Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð¸Ð· ÑледÑÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
.ÐÐ ÐФÐÐС/share--datadir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ ÑÑаÑиÑеÑÐºÐ¸Ñ Ñайлов даннÑÑ , иÑполÑзÑемÑÑ ÑÑÑановленнÑми пÑогÑаммами. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
. ÐамеÑÑÑе, ÑÑо ÑÑо ÑовÑем не ÑÐ¾Ñ ÐºÐ°Ñалог, в коÑоÑом бÑдÑÑ ÑазмеÑÐµÐ½Ñ ÑÐ°Ð¹Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .DATAROOTDIR--localedir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ ÑÑÑановки даннÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñии, в ÑаÑÑноÑÑи, каÑалогов пеÑевода ÑообÑений. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
.DATAROOTDIR/locale--mandir=ÐÐТÐÐÐÐСÑÑаниÑÑ man, поÑÑавлÑемÑе в ÑоÑÑаве Postgres Pro, бÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² ÑÑÐ¾Ñ ÐºÐ°Ñалог, в ÑооÑвеÑÑÑвÑÑÑие подкаÑалоги
man. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âx.DATAROOTDIR/man--docdir=ÐÐТÐÐÐÐÐадаÑÑ ÐºÐ¾Ñневой каÑалог Ð´Ð»Ñ ÑÑÑановки Ñайлов докÑменÑаÑии, кÑоме ÑÑÑÐ°Ð½Ð¸Ñ Â«man». ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑолÑко опÑеделÑÐµÑ Ð±Ð°Ð·Ñ Ð´Ð»Ñ ÑледÑÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
.DATAROOTDIR/doc/postgresql--htmldir=ÐÐТÐÐÐÐÐ ÑÑÐ¾Ñ ÐºÐ°Ñалог бÑÐ´ÐµÑ Ð¿Ð¾Ð¼ÐµÑена докÑменÑаÑÐ¸Ñ Postgres Pro в ÑоÑмаÑе HTML. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
.DATAROOTDIR
ÐÑимеÑание
ЧÑÐ¾Ð±Ñ Postgres Pro можно бÑло ÑÑÑановиÑÑ Ð² ÑÑандаÑÑнÑе ÑиÑÑемнÑе ÑазмеÑÐµÐ½Ð¸Ñ (напÑимеÑ, в
/usr/local/include), не заÑÑÐ°Ð³Ð¸Ð²Ð°Ñ Ð¿ÑоÑÑÑанÑÑво имÑн оÑÑалÑной ÑиÑÑемÑ, пÑинÑÑÑ Ð¾Ð¿ÑеделÑннÑе меÑÑ. Ðо-пеÑвÑÑ , к пÑÑÑмdatadir,sysconfdirиdocdirавÑомаÑиÑеÑки добавлÑеÑÑÑ ÑÑÑока «/postgresql», еÑли ÑолÑко полнÑй ÑазвÑÑнÑÑÑй пÑÑÑ ÐºÐ°Ñалога Ñже не ÑодеÑÐ¶Ð¸Ñ ÑÑÑÐ¾ÐºÑ Â«postgres» или «pgsql». Так, еÑли Ð²Ñ Ð²ÑбеÑеÑе в каÑеÑÑве пÑеÑикÑа/usr/local, докÑменÑаÑÐ¸Ñ Ð±ÑÐ´ÐµÑ ÑÑÑановлена в/usr/local/doc/postgresql, но Ñ Ð¿ÑеÑикÑом/opt/postgresона бÑÐ´ÐµÑ Ð¿Ð¾Ð¼ÐµÑена в/opt/postgres/doc. ÐнеÑние заголовоÑнÑе ÑÐ°Ð¹Ð»Ñ C Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¸Ð½ÑеÑÑейÑов ÑÑÑанавливаÑÑÑÑ Ð²includedir, не загÑÑзнÑÑ Ð¿ÑоÑÑÑанÑÑво имÑн. ÐнÑÑÑенние и ÑеÑвеÑнÑе заголовоÑнÑе ÑÐ°Ð¹Ð»Ñ ÑÑÑанавливаÑÑÑÑ Ð² ÑаÑÑнÑе подкаÑалоги внÑÑÑиincludedir. ЧÑÐ¾Ð±Ñ ÑзнаÑÑ, как обÑаÑаÑÑÑÑ Ðº заголовоÑнÑм Ñайлам Ñого или иного инÑеÑÑейÑа, обÑаÑиÑеÑÑ Ðº докÑменÑаÑии ÑÑого инÑеÑÑейÑа. ÐаконеÑ, Ð´Ð»Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑки загÑÑжаемÑÑ Ð¼Ð¾Ð´Ñлей, еÑли ÑÑебÑеÑÑÑ, бÑÐ´ÐµÑ Ñакже Ñоздан ÑаÑÑнÑй подкаÑалог внÑÑÑиlibdir.--with-extra-version=СТРÐÐÐÐаданнаÑ
СТРÐÐÐдобавлÑеÑÑÑ Ðº номеÑÑ Ð²ÐµÑÑии Postgres Pro. ÐÑо можно иÑполÑзоваÑÑ, напÑимеÑ, ÑÑÐ¾Ð±Ñ Ð´Ð²Ð¾Ð¸ÑнÑе ÑайлÑ, ÑобÑаннÑе из пÑомежÑÑоÑнÑÑ Ñнимков Git или кода Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑми пÑавками, оÑлиÑалиÑÑ Ð¾Ñ ÑÑандаÑÑнÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной ÑÑÑокой в веÑÑии, напÑимеÑ, ÑодеÑжаÑей иденÑиÑикаÑоÑgit describeили Ð½Ð¾Ð¼ÐµÑ Ð²ÑпÑÑка диÑÑÑибÑÑивного пакеÑа.--with-includes=ÐÐТÐÐÐÐÐÐнаÑение
ÐÐТÐÐÐÐÐпÑедÑÑавлÑÐµÑ ÑпиÑок каÑалогов ÑеÑез двоеÑоÑие, коÑоÑÑе бÑдÑÑ Ð¿ÑоÑмоÑÑÐµÐ½Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑом пÑи поиÑке заголовоÑнÑÑ Ñайлов. ÐÑли дополниÑелÑнÑе пакеÑÑ (напÑимеÑ, GNU Readline) ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ñ Ð²Ð°Ñ Ð² неÑÑандаÑÑное ÑаÑположение, вам пÑидÑÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸, возможно, Ñакже добавиÑÑ ÑооÑвеÑÑÑвÑÑÑий паÑамеÑÑ--with-libraries.ÐÑимеÑ:
--with-includes=/opt/gnu/include:/usr/sup/include.--with-libraries=ÐÐТÐÐÐÐÐÐнаÑение
ÐÐТÐÐÐÐÐпÑедÑÑавлÑÐµÑ ÑпиÑок каÑалогов ÑеÑез двоеÑоÑие, в коÑоÑом ÑледÑÐµÑ Ð¸ÑкаÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки. Ðозможно, вам поÑÑебÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ (и ÑооÑвеÑÑÑвÑÑÑий--with-includes), еÑли какие-Ñо пакеÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ñ Ð²Ð°Ñ Ð² неÑÑандаÑÑное ÑазмеÑение.ÐÑимеÑ:
--with-libraries=/opt/gnu/lib:/usr/sup/lib.--enable-nls[=ЯÐЫÐÐ]ÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð½Ð°ÑионалÑнÑÑ ÑзÑков (NLS, Native Language Support), Ñо еÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð²ÑводиÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð½Ðµ ÑолÑко на английÑком ÑзÑке. ÐнаÑение
ЯÐЫÐÐпÑедÑÑавлÑÐµÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑй ÑпиÑок кодов ÑзÑков ÑеÑез пÑобел, поддеÑжка коÑоÑÑÑ Ð²Ð°Ð¼ нÑжна, напÑимеÑ:--enable-nls='de fr ru'. (ÐеÑеÑеÑение заданного вами ÑпиÑка и множеÑÑва дейÑÑвиÑелÑно доÑÑÑпнÑÑ Ð¿ÐµÑеводов бÑÐ´ÐµÑ Ð²ÑÑиÑлено авÑомаÑиÑеÑки.) ÐÑли ÑпиÑок не задаÑÑÑÑ, ÑÑÑанавливаÑÑÑÑ Ð²Ñе доÑÑÑпнÑе пеÑеводÑ.ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑой возможноÑÑи вам поÑÑебÑеÑÑÑ ÑеализаÑÐ¸Ñ API Gettext; Ñм. вÑÑе.
--with-pgport=ÐÐÐÐÐÐадаÑÑ
ÐÐÐÐÐпоÑÑа по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÑеÑвеÑа и клиенÑов. СÑандаÑÑное знаÑение â 5432. ÐÑÐ¾Ñ Ð¿Ð¾ÑÑ Ð²Ñегда можно измениÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, но еÑли Ð²Ñ ÑкажеÑе дÑÑгой Ð½Ð¾Ð¼ÐµÑ Ð·Ð´ÐµÑÑ, и ÑеÑвеÑ, и клиенÑÑ Ð±ÑдÑÑ ÑкомпилиÑÐ¾Ð²Ð°Ð½Ñ Ñ Ð¾Ð´Ð½Ð¸Ð¼ знаÑением, ÑÑо оÑÐµÐ½Ñ Ñдобно. ÐбÑÑно менÑÑÑ ÑÑо знаÑение Ð¸Ð¼ÐµÐµÑ ÑмÑÑл, ÑолÑко еÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑÐµÐ½Ñ Ð·Ð°Ð¿ÑÑкаÑÑ Ð² одной ÑиÑÑеме неÑколÑко ÑеÑвеÑов Postgres Pro.--with-perlÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ ÑзÑка PL/Perl на ÑÑоÑоне ÑеÑвеÑа.
--with-pythonÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ ÑзÑка PL/Python на ÑÑоÑоне ÑеÑвеÑа.
--with-tclÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ ÑзÑка PL/Tcl на ÑÑоÑоне ÑеÑвеÑа.
--with-tclconfig=ÐÐТÐÐÐÐTcl ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ñайл
tclConfig.sh, ÑодеÑжаÑий конÑигÑÑаÑионнÑе даннÑе, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ ÑбоÑки модÑлей, взаимодейÑÑвÑÑÑÐ¸Ñ Ñ Tcl. ÐÑÐ¾Ñ Ñайл обÑÑно Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð°Ð²ÑомаÑиÑеÑки в извеÑÑном ÑазмеÑении, но еÑли Ð²Ñ Ñ Ð¾ÑиÑе иÑполÑзоваÑÑ Ð´ÑÑгÑÑ Ð²ÐµÑÑÐ¸Ñ Tcl, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ ÐºÐ°Ñалог, где иÑкаÑÑ ÑÑÐ¾Ñ Ñайл.--with-gssapiÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð°ÑÑенÑиÑикаÑии GSSAPI. Ðа Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ Ð¿Ð¾Ð´ÑиÑÑема GSSAPI (обÑÑно Ð²Ñ Ð¾Ð´ÑÑÐ°Ñ Ð² ÑоÑÑав Kerberos) ÑÑÑанавливаеÑÑÑ Ð½Ðµ в Ñо ÑазмеÑение, коÑоÑое пÑоÑмаÑÑиваеÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (напÑимеÑ,
/usr/include,/usr/lib), Ñак ÑÑо помимо ÑÑого паÑамеÑÑа вам пÑидÑÑÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¿Ð°ÑамеÑÑÑ--with-includesи--with-libraries. СкÑипÑconfigureпÑовеÑÐ¸Ñ Ð½Ð°Ð»Ð¸Ñие Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾ÑнÑÑ Ñайлов и библиоÑек, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ Ð² ÑелоÑÑноÑÑи инÑÑаллÑÑии GSSAPI, пÑежде Ñем пÑодолжиÑÑ.--with-krb-srvnam=ÐÐЯÐадаÑÑ Ð¸Ð¼Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÑÑбÑекÑа-ÑлÑÐ¶Ð±Ñ Kerberos, иÑполÑзÑемое GSSAPI (по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо
postgres). ÐбÑÑно менÑÑÑ ÐµÐ³Ð¾ Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ÑолÑко в ÑÑеде Windows, где оно должно бÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð¾ в веÑÑ Ð½ÐµÐ¼ ÑегиÑÑÑе (POSTGRES).--with-opensslÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ñоединений SSL (заÑиÑÑованнÑÑ ). ÐÐ»Ñ ÑÑого Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑÑановиÑÑ Ð¿Ð°ÐºÐµÑ OpenSSL. СкÑипÑ
configureпÑовеÑÐ¸Ñ Ð½Ð°Ð»Ð¸Ñие Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾ÑнÑÑ Ñайлов и библиоÑек, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ Ð² ÑелоÑÑноÑÑи инÑÑаллÑÑии OpenSSL, пÑежде Ñем пÑодолжиÑÑ.--with-pamÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ PAM (Pluggable Authentication Modules, подклÑÑаемÑÑ Ð¼Ð¾Ð´Ñлей аÑÑенÑиÑикаÑии).
--with-ldapÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ LDAP Ð´Ð»Ñ Ð¿ÑовеÑки подлинноÑÑи и полÑÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (за дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 31.17 и ÐодÑазделÑ 19.3.7). Ð Unix Ð´Ð»Ñ ÑÑого нÑжно ÑÑÑановиÑÑ Ð¿Ð°ÐºÐµÑ OpenLDAP. Ð Windows иÑполÑзÑеÑÑÑ ÑÑандаÑÑÐ½Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека WinLDAP. СкÑипÑ
configureпÑовеÑÐ¸Ñ Ð½Ð°Ð»Ð¸Ñие Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾ÑнÑÑ Ñайлов и библиоÑек, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ Ð² ÑелоÑÑноÑÑи инÑÑаллÑÑии OpenLDAP, пÑежде Ñем пÑодолжиÑÑ.--without-readlineÐапÑеÑÐ°ÐµÑ Ð¸ÑполÑзование библиоÑеки Readline (а Ñакже libedit). ÐÑи ÑÑом оÑклÑÑаеÑÑÑ ÑедакÑиÑование командной ÑÑÑоки и иÑÑоÑÐ¸Ñ Ð² psql, Ñак ÑÑо ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð½Ðµ ÑекомендÑеÑÑÑ.
--with-libedit-preferredÐÑдаÑÑ Ð¿ÑедпоÑÑение библиоÑеке libedit Ñ Ð»Ð¸Ñензией BSD, а не Readline (GPL). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение, ÑолÑко еÑли ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð¾Ð±Ðµ библиоÑеки; по ÑмолÑÐ°Ð½Ð¸Ñ Ð² ÑÑом ÑлÑÑае иÑполÑзÑеÑÑÑ Readline.
--with-bonjourÐклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Bonjour. ÐÐ»Ñ ÑÑого Bonjour должен поддеÑживаÑÑÑÑ Ñамой опеÑаÑионной ÑиÑÑемой. РекомендÑеÑÑÑ Ð´Ð»Ñ OS X.
--with-uuid=ÐÐÐÐÐÐТÐÐÐСобÑаÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ uuid-ossp (пÑедоÑÑавлÑÑÑий ÑÑнкÑии Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ UUID.
ÐÐÐÐÐÐТÐÐÐÐ¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑледÑÑÑей:bsd, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзовалиÑÑ ÑÑнкÑии полÑÑÐµÐ½Ð¸Ñ UUID, имеÑÑиеÑÑ Ð²Ð¾ FreeBSD, NetBSD и некоÑоÑÑÑ Ð´ÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ Ð½Ð° базе BSDe2fs, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзовалаÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека полÑÑÐµÐ½Ð¸Ñ UUID, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ Ð² ÑÐ°Ð¼ÐºÐ°Ñ Ð¿ÑоекÑаe2fsprogs; ÑÑа библиоÑека пÑиÑÑÑÑÑвÑÐµÑ Ð² болÑÑинÑÑве ÑиÑÑем Linux и OS X, Ñакже ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи и Ð´Ð»Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¿Ð»Ð°ÑÑоÑм.ossp, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзовалаÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека OSSP UUID
--with-ossp-uuidУÑÑаÑевÑий ваÑÐ¸Ð°Ð½Ñ ÑказаниÑ
--with-uuid=ossp.--with-libxmlСобÑаÑÑ Ñ libxml (вклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ SQL/XML). ÐÐ»Ñ ÑÑого ÑÑебÑеÑÑÑ libxml веÑÑии 2.6.23 или новее.
Ð ÑоÑÑаве libxml ÑÑÑанавливаеÑÑÑ Ð¿ÑогÑамма
xml2-config, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑоÑой можно полÑÑиÑÑ ÑÑебÑемÑе паÑамеÑÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑа и компоновÑика. Postgres Pro бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÐµÑ Ð°Ð²ÑомаÑиÑеÑки, еÑли найдÑÑ. ЧÑÐ¾Ð±Ñ ÑказаÑÑ Ð½ÐµÑÑандаÑÑное ÑазмеÑение libxml, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ Ð¿ÐµÑеменной окÑÑжениÑXML2_CONFIGи ÑказаÑÑ Ð² ней пÑÑÑ Ðº пÑогÑаммеxml2-configнÑжной инÑÑаллÑÑии, либо задаÑÑ Ð¿Ð°ÑамеÑÑÑ--with-includesи--with-libraries.--with-libxsltÐÑполÑзоваÑÑ libxslt пÑи ÑбоÑке модÑÐ»Ñ xml2. ÐиблиоÑека xml2 задейÑÑвÑÐµÑ ÐµÑ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ XSL-пÑеобÑазований XML.
--disable-integer-datetimesÐÑклÑÑÐ°ÐµÑ Ð¿Ñименение 64-биÑнÑÑ ÑелÑÑ Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð²Ñемени и инÑеÑвалов, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð°ÑÑ/вÑемени Ñ ÑанилиÑÑ Ð² виде ÑиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой. ЧиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой пÑименÑлиÑÑ Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ñ/вÑемени по ÑмолÑÐ°Ð½Ð¸Ñ Ð² PostgreSQL до веÑÑии 8.4, но ÑейÑÐ°Ñ ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ ÑÑиÑаеÑÑÑ ÑÑÑаÑевÑим, Ñак как Ñ Ð½Ð¸Ð¼ не поддеÑживаеÑÑÑ ÑоÑноÑÑÑ Ð´Ð¾ микÑоÑекÑнд во вÑÑм диапазоне знаÑений
timestamp. Ðднако Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑÐ°ÐºÐ¸Ñ Ð·Ð½Ð°Ñений в ÑелоÑиÑленном виде ÑÑебÑеÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжка ÑелоÑиÑленного 64-биÑного Ñипа. ÐоÑÑÐ¾Ð¼Ñ Ð¿Ñежний ваÑÐ¸Ð°Ð½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ, когда Ñакой Ñип не поддеÑживаеÑÑÑ Ð¸Ð»Ð¸ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ Ð¿ÑиложениÑми, напиÑаннÑми Ð´Ð»Ñ Ð¿ÑедÑдÑÑÐ¸Ñ Ð²ÐµÑÑий PostgreSQL. ÐодÑобнее об ÑÑом можно ÑзнаÑÑ Ð² Разделе 8.5.--disable-float4-byvalÐапÑеÑÐ°ÐµÑ Ð¿ÐµÑедаÑÑ Ñипа float4 «по знаÑениÑ», ÑÑÐ¾Ð±Ñ Ð¾Ð½ пеÑедавалÑÑ Â«Ð¿Ð¾ ÑÑÑлке». ÐÑо ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð±ÑÑÑÑодейÑÑвие, но Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñо ÑÑаÑÑми полÑзоваÑелÑÑкими ÑÑнкÑиÑми на ÑзÑке C, коÑоÑÑе иÑполÑзÑÑÑ ÑоглаÑение о вÑÐ·Ð¾Ð²Ð°Ñ Â«Ð²ÐµÑÑии 0». РкаÑеÑÑве более долгоÑÑоÑного ÑеÑÐµÐ½Ð¸Ñ Ð»ÑÑÑе модеÑнизиÑоваÑÑ Ñакие ÑÑнкÑии, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ иÑполÑзовали ÑоглаÑение «веÑÑии 1».
--disable-float8-byvalÐапÑеÑÐ°ÐµÑ Ð¿ÐµÑедаÑÑ Ñипа float8 «по знаÑениÑ», ÑÑÐ¾Ð±Ñ Ð¾Ð½ пеÑедавалÑÑ Â«Ð¿Ð¾ ÑÑÑлке». ÐÑо ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð±ÑÑÑÑодейÑÑвие, но Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñо ÑÑаÑÑми полÑзоваÑелÑÑкими ÑÑнкÑиÑми на ÑзÑке C, коÑоÑÑе иÑполÑзÑÑÑ ÑоглаÑение о вÑÐ·Ð¾Ð²Ð°Ñ Â«Ð²ÐµÑÑии 0». РкаÑеÑÑве более долгоÑÑоÑного ÑеÑÐµÐ½Ð¸Ñ Ð»ÑÑÑе модеÑнизиÑоваÑÑ Ñакие ÑÑнкÑии, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ иÑполÑзовали ÑоглаÑение «веÑÑии 1». ÐамеÑÑÑе, ÑÑо ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²Ð»Ð¸ÑÐµÑ Ð½Ðµ ÑолÑко на float8, но и на int8, а Ñакже некоÑоÑÑе дÑÑгие ÑипÑ, напÑÐ¸Ð¼ÐµÑ timestamp. Ðа 32-биÑнÑÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ Ð¿Ð°ÑамеÑÑ
--disable-float8-byvalдейÑÑвÑÐµÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ задаÑÑ--enable-float8-byvalнелÑзÑ.--with-segsize=Ð ÐÐÐÐÐ _СÐÐÐÐÐТÐÐадаÑÑ ÑÐ°Ð·Ð¼ÐµÑ ÑегменÑа (в гигабайÑÐ°Ñ ). СеÑÐ²ÐµÑ Ð´ÐµÐ»Ð¸Ñ Ð±Ð¾Ð»ÑÑие ÑаблиÑÑ Ð½Ð° неÑколÑко Ñайлов в Ñайловой ÑиÑÑеме, огÑаниÑÐ¸Ð²Ð°Ñ ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ даннÑм ÑазмеÑом ÑегменÑа. ÐÑо позволÑÐµÑ Ð¾Ð±Ð¾Ð¹Ñи огÑаниÑÐµÐ½Ð¸Ñ Ð½Ð° ÑÐ°Ð·Ð¼ÐµÑ Ñайлов, ÑÑÑеÑÑвÑÑÑие на Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ . Ð Ð°Ð·Ð¼ÐµÑ ÑегменÑа по ÑмолÑаниÑ, 1 гигабайÑ, безопаÑен Ð´Ð»Ñ Ð²ÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑÑ Ð¿Ð»Ð°ÑÑоÑм. ÐÑли же ваÑа опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Â«Ð±Ð¾Ð»ÑÑие ÑайлÑ» (а ÑÐµÐ³Ð¾Ð´Ð½Ñ ÑÑо поддеÑживаÑÑ Ð¿Ð¾ÑÑи вÑе), Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ Ð±Ð¾Ð»ÑÑий ÑÐ°Ð·Ð¼ÐµÑ ÑегменÑа. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑменÑÑиÑÑ ÑиÑло ÑайловÑÑ Ð´ÐµÑкÑипÑоÑов, иÑполÑзÑемÑÑ Ð¿Ñи ÑабоÑе Ñ Ð¾ÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑими ÑаблиÑами. Ðо бÑдÑÑе оÑÑоÑожнÑ, ÑÑÐ¾Ð±Ñ Ð²ÑбÑанное знаÑение не пÑевÑÑило макÑимÑм, поддеÑживаемÑй ваÑей плаÑÑоÑмой и ÑайловÑми ÑиÑÑемами, коÑоÑÑе Ð²Ñ Ð±ÑдеÑе пÑименÑÑÑ. Ðозможно, допÑÑÑимÑй ÑÐ°Ð·Ð¼ÐµÑ Ñайла бÑÐ´ÐµÑ Ð¾Ð³ÑаниÑиваÑÑÑÑ Ð¸ дÑÑгими ÑÑилиÑами, коÑоÑÑе Ð²Ñ Ð·Ð°Ñ Ð¾ÑиÑе иÑполÑзоваÑÑ, напÑÐ¸Ð¼ÐµÑ tar. РекомендÑеÑÑÑ, Ñ Ð¾ÑÑ Ð¸ не ÑÑебÑеÑÑÑ, ÑÑÐ¾Ð±Ñ ÑÑо знаÑение бÑло ÑÑепенÑÑ 2. ÐамеÑÑÑе, ÑÑо пÑи изменении знаÑÐµÐ½Ð¸Ñ ÑÑебÑеÑÑÑ Ð²ÑполниÑÑ initdb.
--with-blocksize=Ð ÐÐÐÐÐ _ÐÐÐÐÐÐадаÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð»Ð¾ÐºÐ° (в килобайÑÐ°Ñ ). ÐÑа велиÑина бÑÐ´ÐµÑ ÐµÐ´Ð¸Ð½Ð¸Ñей Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ ввода/вÑвода даннÑÑ ÑаблиÑ. ÐнаÑение по ÑмолÑаниÑ, 8 килобайÑ, доÑÑаÑоÑно ÑнивеÑÑалÑно; но в оÑобÑÑ ÑлÑÑаÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿Ñавдан дÑÑгой ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð»Ð¾ÐºÐ°. ÐÑо знаÑение должно бÑÑÑ ÑÑепенÑÑ 2 Ð¾Ñ 1 до 32 (в килобайÑÐ°Ñ ). ÐамеÑÑÑе, ÑÑо пÑи изменении знаÑÐµÐ½Ð¸Ñ ÑÑебÑеÑÑÑ Ð²ÑполниÑÑ initdb.
--with-wal-segsize=Ð ÐÐÐÐÐ _СÐÐÐÐÐТÐÐадаÑÑ ÑÐ°Ð·Ð¼ÐµÑ ÑегменÑа WAL (в мегабайÑÐ°Ñ ). ÐÑа велиÑина опÑеделÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ оÑделÑного Ñайла жÑÑнала WAL. ÐзменÑÑÑ ÑÑÐ¾Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð±ÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ Ð¾Ð¿ÑимизаÑии ÑÑагменÑаÑии пÑи ÑÑанÑлÑÑии жÑÑналов. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 16 мегабайÑ. ÐнаÑение должно задаваÑÑÑÑ ÑÑепенÑÑ 2 Ð¾Ñ 1 до 64 (в мегабайÑÐ°Ñ ). ÐамеÑÑÑе, ÑÑо пÑи изменении знаÑÐµÐ½Ð¸Ñ ÑÑебÑеÑÑÑ Ð²ÑполниÑÑ initdb.
--with-wal-blocksize=Ð ÐÐÐÐÐ _ÐÐÐÐÐÐадаÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð»Ð¾ÐºÐ° WAL (в килобайÑÐ°Ñ ) ÐÑа велиÑина бÑÐ´ÐµÑ ÐµÐ´Ð¸Ð½Ð¸Ñей Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ ввода/вÑвода запиÑей WAL. ÐнаÑение по ÑмолÑаниÑ, 8 килобайÑ, доÑÑаÑоÑно ÑнивеÑÑалÑно; но в оÑобÑÑ ÑлÑÑаÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿Ñавдан дÑÑгой ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð»Ð¾ÐºÐ°. ÐÑо знаÑение должно бÑÑÑ ÑÑепенÑÑ 2 Ð¾Ñ 1 до 64 (в килобайÑÐ°Ñ ). ÐамеÑÑÑе, ÑÑо пÑи изменении знаÑÐµÐ½Ð¸Ñ ÑÑебÑеÑÑÑ Ð²ÑполниÑÑ initdb.
--disable-spinlocksÐозволÑÐµÑ Ð¿ÑовеÑÑи ÑбоÑкÑ, еÑли Postgres Pro не Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾ÑполÑзоваÑÑÑÑ ÑиклиÑеÑкими блокиÑовками CPU на данной плаÑÑоÑме. ÐÑÑÑÑÑÑвие ÑÐ°ÐºÐ¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовок пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи, поÑÑÐ¾Ð¼Ñ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ ÑледÑеÑ, ÑолÑко еÑли ÑбоÑка пÑеÑÑваеÑÑÑ Ð¸ вÑдаÑÑÑÑ ÑообÑение, ÑÑо ваÑа плаÑÑоÑма ÑÑи блокиÑовки не поддеÑживаеÑ. ÐÑли Ð²Ñ Ð½Ðµ можеÑе ÑобÑаÑÑ Postgres Pro на ваÑей плаÑÑоÑме без ÑÑого ÑказаниÑ, ÑообÑиÑе о данной пÑоблеме ÑазÑабоÑÑикам Postgres Pro.
--disable-thread-safetyÐÑклÑÑÐ°ÐµÑ Ð¿Ð¾ÑокобезопаÑное поведение клиенÑÑÐºÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек. ÐÑи ÑÑом паÑаллелÑнÑе поÑоки пÑогÑамм на базе libpq и ECPG не бÑдÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñно конÑÑолиÑоваÑÑ ÑобÑÑвеннÑе деÑкÑипÑоÑÑ Ñоединений.
--with-system-tzdata=ÐÐТÐÐÐÐÐ Postgres Pro вклÑÑена ÑобÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий Ñ Ð´Ð°Ñой и вÑеменем. Ðа Ñамом деле ÑÑа база даннÑÑ ÑовмеÑÑима Ñ Ð±Ð°Ð·Ð¾Ð¹ ÑаÑовÑÑ Ð¿Ð¾ÑÑов IANA, поÑÑавлÑемой в ÑоÑÑаве Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑем FreeBSD, Linux, Solaris, поÑÑÐ¾Ð¼Ñ ÑÑÑанавливаÑÑ ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð»Ð¸Ñне. С ÑÑим паÑамеÑÑом вмеÑÑо Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , вклÑÑÑнной в Ð¿Ð°ÐºÐµÑ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода Postgres Pro, бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑиÑÑÐµÐ¼Ð½Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов, Ð½Ð°Ñ Ð¾Ð´ÑÑаÑÑÑ Ð² заданном
ÐÐТÐÐÐÐÐ.ÐÐТÐÐÐÐдолжен задаваÑÑÑÑ Ð°Ð±ÑолÑÑнÑм пÑÑÑм (в ÑÑде опеÑаÑионнÑÑ ÑиÑÑем пÑинÑÑ Ð¿ÑÑÑ/usr/share/zoneinfo). ÐамеÑÑÑе, ÑÑо пÑоÑедÑÑа ÑÑÑановки не бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑ Ð½ÐµÑооÑвеÑÑÑÐ²Ð¸Ñ Ð¸Ð»Ð¸ оÑибки в даннÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов. ÐоÑÑомÑ, иÑполÑзÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, ÑекомендÑеÑÑÑ Ð²ÑполниÑÑ ÑегÑеÑÑионнÑе ÑеÑÑÑ, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо вÑбÑÐ°Ð½Ð½Ð°Ñ Ð²Ð°Ð¼Ð¸ база даннÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов ÑабоÑÐ°ÐµÑ ÐºÐ¾ÑÑекÑно Ñ Postgres Pro.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð² оÑновном пÑедназнаÑен Ð´Ð»Ñ ÑÐµÑ , кÑо ÑобиÑÐ°ÐµÑ Ð´Ð²Ð¾Ð¸ÑнÑе пакеÑÑ Ð´Ð»Ñ Ð´Ð¸ÑÑÑибÑÑивов и Ñ Ð¾ÑоÑо Ð·Ð½Ð°ÐµÑ ÑÐ²Ð¾Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑемÑ. ÐÑновной плÑÑ Ð¾Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑиÑÑемнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² Ñом, ÑÑо Ð¿Ð°ÐºÐµÑ Postgres Pro не пÑидÑÑÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ Ð¿Ñи изменениÑÑ Ð¼ÐµÑÑнÑÑ Ð¾Ð¿Ñеделений ÑаÑовÑÑ Ð¿Ð¾ÑÑов. ÐÑÑ Ð¾Ð´Ð¸Ð½ плÑÑ Ð·Ð°ÐºÐ»ÑÑаеÑÑÑ Ð² ÑпÑоÑении кÑоÑÑ-компилÑÑии, Ñак как пÑи инÑÑаллÑÑии не ÑÑебÑеÑÑÑ ÑобиÑаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов.
--without-zlibÐапÑеÑÐ°ÐµÑ Ð¸ÑполÑзование библиоÑеки Zlib. ÐÑи ÑÑом оÑклÑÑаеÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжка ÑжаÑÑÑ Ð°ÑÑ Ð¸Ð²Ð¾Ð² ÑÑилиÑами pg_dump и pg_restore. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑедназнаÑен ÑолÑко Ð´Ð»Ñ ÑÐµÑ ÑÐµÐ´ÐºÐ¸Ñ ÑиÑÑем, в коÑоÑÑÑ Ð½ÐµÑ ÑÑой библиоÑеки.
--enable-debugÐклÑÑÐ°ÐµÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¸Ñ Ð²ÑÐµÑ Ð¿ÑогÑамм и библиоÑек Ñ Ð¾ÑладоÑнÑми Ñимволами. ÐÑо знаÑиÑ, ÑÑо Ð²Ñ ÑможеÑе запÑÑкаÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð² оÑладÑике Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° пÑоблем. ÐÑи Ñакой компилÑÑии ÑÐ°Ð·Ð¼ÐµÑ ÑÑÑановленнÑÑ Ð¸ÑполнÑемÑÑ Ñайлов знаÑиÑелÑно ÑвелиÑиваеÑÑÑ, а компилÑÑоÑÑ, кÑоме GCC, обÑÑно оÑклÑÑаÑÑ Ð¾Ð¿ÑимизаÑиÑ, ÑÑо ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð±ÑÑÑÑодейÑÑвие. Ðднако, налиÑие оÑладоÑнÑÑ Ñимволов оÑÐµÐ½Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ пÑи ÑеÑении возможнÑÑ Ð¿Ñоблем лÑбой ÑложноÑÑи. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´Ð»Ñ Ð¿ÑоизводÑÑвенной ÑÑедÑ, ÑолÑко еÑли пÑименÑеÑÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾Ñ GCC. Ðо еÑли Ð²Ñ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑеÑÑ ÑазÑабоÑкой или иÑпÑÑÑваеÑе беÑа-веÑÑиÑ, его ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð²Ñегда.
--enable-coverageÐÑи иÑполÑзовании GCC вÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð¸ библиоÑеки компилиÑÑÑÑÑÑ Ñ Ð¸Ð½ÑÑÑÑменÑаÑием, оÑениваÑÑим покÑÑÑие кода ÑеÑÑами. ÐÑли его запÑÑÑиÑÑ, в каÑалоге ÑбоÑки бÑдÑÑ ÑÑоÑмиÑÐ¾Ð²Ð°Ð½Ñ ÑÐ°Ð¹Ð»Ñ Ñ Ð¼ÐµÑÑиками покÑÑÑÐ¸Ñ ÐºÐ¾Ð´Ð°. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 30.5. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑедназнаÑен ÑолÑко Ð´Ð»Ñ GCC и ÑолÑко Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² пÑоÑеÑÑе ÑазÑабоÑки.
--enable-profilingÐÑи иÑполÑзовании GCC вÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð¸ библиоÑеки компилиÑÑÑÑÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло пÑоÑилиÑоваÑÑ. Ð ÑезÑлÑÑаÑе по завеÑÑении ÑеÑвеÑного пÑоÑеÑÑа бÑÐ´ÐµÑ ÑоздаваÑÑÑÑ Ð¿Ð¾Ð´ÐºÐ°Ñалог Ñ Ñайлом
gmon.outÐ´Ð»Ñ Ð¿ÑоÑилиÑованиÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑедназнаÑен ÑолÑко Ð´Ð»Ñ GCC и ÑолÑко Ð´Ð»Ñ ÑÐµÑ , кÑо занимаеÑÑÑ ÑазÑабоÑкой.--enable-cassertÐклÑÑÐ°ÐµÑ Ð´Ð»Ñ ÑеÑвеÑа пÑовеÑоÑнÑе ÑÑвеÑждениÑ, пÑовеÑÑÑÑие множеÑÑво ÑÑловий, коÑоÑÑе «не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸ÑÑ». ÐÑо беÑÑенно в пÑоÑеÑÑе ÑазÑабоÑке кода, но ÑÑи пÑовеÑки могÑÑ Ð·Ð½Ð°ÑиÑелÑно замедлиÑÑ ÑабоÑÑ ÑеÑвеÑа. ÐÑоме Ñого, вклÑÑение ÑÑÐ¸Ñ Ð¿ÑовеÑок не обÑзаÑелÑно ÑвелиÑÐ¸Ñ ÑÑабилÑноÑÑÑ Ð²Ð°Ñего ÑеÑвеÑа! ÐÑовеÑоÑнÑе ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð½Ðµ каÑегоÑизиÑÑÑÑÑÑ Ð¿Ð¾ важноÑÑи, поÑÑÐ¾Ð¼Ñ Ð¾ÑноÑиÑелÑно безвÑÐµÐ´Ð½Ð°Ñ Ð¾Ñибка Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к пеÑезапÑÑÐºÑ ÑеÑвеÑа, еÑли ÑÑвеÑждение не вÑполниÑÑÑ. ÐÑименÑÑÑ ÑÑо ÑледÑеÑ, ÑолÑко еÑли Ð²Ñ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑеÑÑ ÑазÑабоÑкой или иÑпÑÑÑваеÑе беÑа-веÑÑиÑ, но не в пÑоизводÑÑвенной ÑÑеде.
--enable-dependÐклÑÑÐ°ÐµÑ Ð°Ð²ÑомаÑиÑеÑкое оÑÑлеживание завиÑимоÑÑей. С ÑÑим паÑамеÑÑом ÑкÑипÑÑ Makefile наÑÑÑаиваÑÑÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¿Ñи изменении лÑбого заголовоÑного Ñайла пеÑеÑобиÑалиÑÑ Ð²Ñе завиÑимÑе обÑекÑнÑе ÑайлÑ. ÐÑо полезно в пÑоÑеÑÑе ÑазÑабоÑки, но еÑли вам нÑжно ÑолÑко ÑкомпилиÑоваÑÑ Ð¸ ÑÑÑановиÑÑ ÑеÑвеÑ, ÑÑо бÑÐ´ÐµÑ Ð»Ð¸Ñней ÑÑаÑой вÑемени. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑÑо ÑабоÑÐ°ÐµÑ ÑолÑко Ñ GCC.
--enable-dtraceÐклÑÑÐ°ÐµÑ Ð¿Ñи компилÑÑии Postgres Pro поддеÑÐ¶ÐºÑ ÑÑедÑÑва динамиÑеÑкой ÑÑаÑÑиÑовки DTrace. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 27.4.
ÐадаÑÑ ÑаÑположение пÑогÑаммÑ
dtraceможно в пеÑеменной окÑÑжениÑDTRACE. ЧаÑÑо ÑÑо Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾, поÑÐ¾Ð¼Ñ ÑÑоdtraceобÑÑно ÑÑÑанавливаеÑÑÑ Ð² каÑалог/usr/sbin, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑÑÑÑÑвоваÑÑ Ð² пÑÑи поиÑка.ÐополниÑелÑнÑе паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки длÑ
dtraceможно задаÑÑ Ð² пеÑеменной окÑÑжениÑDTRACEFLAGS. Ð Solaris, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ DTrace Ð´Ð»Ñ 64-биÑной ÑбоÑки, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пеÑедаÑÑ configure паÑамеÑÑDTRACEFLAGS="-64". ÐапÑимеÑ, Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑом GCC:./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ...
С компилÑÑоÑом Sun:
./configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64' ...
--enable-tap-testsÐклÑÑÐ°ÐµÑ ÑеÑÑÑ Ð¿Ð¾ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ Perl TAP. ÐÐ»Ñ ÑÑого Ñ Ð²Ð°Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ ÑÑÑановлен Perl и модÑлÑ
IPC::Run. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 30.4.
ÐÑли Ð²Ñ Ð¿ÑедпоÑиÑаеÑе компилÑÑÐ¾Ñ C, оÑлиÑнÑй Ð¾Ñ Ð²ÑбиÑаемого ÑкÑипÑом
configure, ÑкажиÑе его в пеÑеменнойCC. Ðо ÑмолÑаниÑconfigureвÑбиÑаеÑgcc(еÑли он Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ) или ÑÑандаÑÑнÑй компилÑÑÐ¾Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ñ (обÑÑноcc). ÐодобнÑм обÑазом, пÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи можно пеÑеопÑеделиÑÑ Ñлаги компилÑÑоÑа по ÑмолÑÐ°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÐµÑеменнойCFLAGS.ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаÑÑ Ð¿ÐµÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð² командной ÑÑÑоке
configure, напÑимеÑ, Ñак:./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'Ðиже пÑиведÑн ÑпиÑок знаÑимÑÑ Ð¿ÐµÑеменнÑÑ , коÑоÑÑе можно ÑÑÑановиÑÑ Ñаким обÑазом:
BISONÐÑогÑамма Bison
CCкомпилÑÑÐ¾Ñ C
CFLAGSпаÑамеÑÑÑ, пеÑедаваемÑе компилÑÑоÑÑ C
CPPпÑепÑоÑеÑÑÐ¾Ñ C
CPPFLAGSпаÑамеÑÑÑ, пеÑедаваемÑе пÑепÑоÑеÑÑоÑÑ C
DTRACEÑаÑположение пÑогÑаммÑ
dtraceDTRACEFLAGSпаÑамеÑÑÑ, пеÑедаваемÑе пÑогÑамме
dtraceFLEXпÑогÑамма Flex
LDFLAGSпаÑамеÑÑÑ, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñи компоновке иÑполнÑемÑÑ Ð¿ÑогÑамм или ÑазделÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек
LDFLAGS_EXдополниÑелÑнÑе паÑамеÑÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ ÑолÑко иÑполнÑемÑÑ Ð¿ÑогÑамм
LDFLAGS_SLдополниÑелÑнÑе паÑамеÑÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ ÑолÑко ÑазделÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек
MSGFMTÑаÑположение пÑогÑаммÑ
msgfmtÐ´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки наÑионалÑнÑÑ ÑзÑковPERLÐолнÑй пÑÑÑ Ðº инÑеÑпÑеÑаÑоÑÑ Perl. Ðн Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¾Ð¿ÑеделиÑÑ Ð·Ð°Ð²Ð¸ÑимоÑÑи Ð´Ð»Ñ ÑбоÑки PL/Perl.
PYTHONÐолнÑй пÑÑÑ Ðº инÑеÑпÑеÑаÑоÑÑ Python. Ðн Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¾Ð¿ÑеделиÑÑ Ð·Ð°Ð²Ð¸ÑимоÑÑи пÑи ÑбоÑке PL/Python. ÐÑоме Ñого, вÑбÑÐ°Ð½Ð½Ð°Ñ Ñаким обÑазом (или неÑвно как-Ñо еÑÑ) веÑÑÐ¸Ñ Python, 2 или 3, опÑеделÑÐµÑ Ð²Ð°ÑиаÑÐ¸Ñ ÑзÑка PL/Python, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпна. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 43.1. ÐÑли ÑÑо знаÑение не опÑеделено, пеÑебиÑаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð±ÐµÐ· пÑÑи в ÑледÑÑÑем поÑÑдке:
python python3 python2.TCLSHÐолнÑй пÑÑÑ Ðº инÑеÑпÑеÑаÑоÑÑ Tcl. Ðн Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¾Ð¿ÑеделиÑÑ Ð·Ð°Ð²Ð¸ÑимоÑÑи Ð´Ð»Ñ ÑбоÑки PL/Tcl и бÑÐ´ÐµÑ Ð¿Ð¾Ð´ÑÑавлÑÑÑÑÑ Ð² ÑкÑипÑÑ Tcl.
XML2_CONFIGÐÑогÑамма
xml2-configÐ¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð½Ð°Ð¹Ñи инÑÑаллÑÑÐ¸Ñ libxml.
Ðногда Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ добавиÑÑ Ñлаги компилÑÑоÑа к набоÑÑ Ñлагов, Ñанее Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð½Ð° ÑÑапе
configure. Ð ÑаÑÑноÑÑи, ÑÑа поÑÑебноÑÑÑ Ð¾Ð±ÑÑÑнÑеÑÑÑ Ñем, ÑÑо паÑамеÑÑ gcc-WerrorнелÑÐ·Ñ ÑказаÑÑ Ð² пеÑеменнойCFLAGS, пеÑедаваемойconfigure, Ñак как в ÑезÑлÑÑаÑе ÑломаÑÑÑÑ Ð¼Ð½Ð¾Ð³Ð¸Ðµ вÑÑÑоеннÑе ÑеÑÑÑconfigure. ЧÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ñакие Ñлаги, задайÑе Ð¸Ñ Ð² пеÑеменной ÑÑедÑCOPTпÑи запÑÑкеmake. СодеÑжимоеCOPTбÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾ в паÑамеÑÑÑCFLAGSиLDFLAGS, заданнÑе ÑкÑипÑомconfigure. ÐапÑимеÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑполниÑÑ:make COPT='-Werror'или
export COPT='-Werror'makeÐÑимеÑание
РазÑабаÑÑÐ²Ð°Ñ Ð²Ð½ÑÑÑенний код ÑеÑвеÑа, ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ configure
--enable-cassert(коÑоÑое вклÑÑÐ°ÐµÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво пÑовеÑок во вÑÐµÐ¼Ñ Ð²ÑполнениÑ) и--enable-debug(коÑоÑое ÑпÑоÑÐ°ÐµÑ Ð¸ÑполÑзование ÑÑедÑÑв оÑладки).ÐÑполÑзÑÑ GCC, лÑÑÑе вÑполнÑÑÑ ÑбоÑÐºÑ Ñ ÑÑовнем опÑимизаÑии не ниже
-O1, Ñак как без опÑимизаÑии (-O0) оÑклÑÑаÑÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе важнÑе пÑедÑпÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑа (напÑимеÑ, об иÑполÑзовании неиниÑиализиÑованнÑÑ Ð¿ÐµÑеменнÑÑ ). Ðднако опÑимизаÑÐ¸Ñ Ð½ÐµÐ½Ñлевого ÑÑÐ¾Ð²Ð½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°ÑÑÑдниÑÑ Ð¾ÑладкÑ, Ñак как пÑи поÑаговом вÑполнении ÑкомпилиÑованнÑй код обÑÑно не ÑооÑвеÑÑÑвÑÐµÑ Ð² ÑоÑноÑÑи ÑÑÑокам иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кода. ÐÑи возникновении ÑложноÑÑей Ñ Ð¾Ñладкой опÑимизиÑованного кода, пеÑекомпилиÑÑйÑе инÑеÑеÑÑÑÑие Ð²Ð°Ñ ÑÐ°Ð¹Ð»Ñ Ñ ÐºÐ»ÑÑом-O0. ÐÑо можно ÑделаÑÑ, пÑоÑÑо пеÑедав ÑооÑвеÑÑÑвÑÑÑий паÑамеÑÑ make:make PROFILE=-O0 file.o.Ðа Ñамом деле пеÑеменнÑе окÑÑжениÑ
COPTиPROFILEобÑабаÑÑваÑÑÑÑ ÑбоÑоÑнÑми Ñайлами Makefile PostgreSQL одинаково. ÐоÑÑÐ¾Ð¼Ñ Ð²ÑÐ±Ð¾Ñ Ð¾Ð´Ð½Ð¾Ð¹ из ÑÑÐ¸Ñ Ð¿ÐµÑеменнÑÑ â дело вкÑÑа, но обÑÑно ÑазÑабоÑÑики иÑполÑзÑÑÑPROFILEÐ´Ð»Ñ Ð¾Ð´Ð½Ð¾ÑазовÑÑ ÐºÐ¾ÑÑекÑив Ñлагов, а ÑодеÑжимоеCOPTÑÐ¾Ñ ÑанÑÑÑ Ð¿Ð¾ÑÑоÑннÑм.СбоÑка
ЧÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑÑÑиÑÑ ÑбоÑкÑ, введиÑе:
make(ÐомниÑе, ÑÑо нÑжно иÑполÑзоваÑÑ GNU make.) СбоÑка займÑÑ Ð½ÐµÑколÑко минÑÑ, в завиÑимоÑÑи Ð¾Ñ Ð¼Ð¾ÑноÑÑи ваÑего компÑÑÑеÑа. РконÑе должно поÑвиÑÑÑÑ ÑообÑение:
All of Postgres Pro successfully made. Ready to install.
(ÐеÑÑ Postgres Pro ÑобÑан ÑÑпеÑно и гоÑов к ÑÑÑановке.)
ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе ÑобÑаÑÑ Ð²ÑÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑобÑано, вклÑÑÐ°Ñ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ (ÑÑÑаниÑÑ HTML и man) и дополниÑелÑнÑе модÑли (
contrib), введиÑе:make worldРконÑе должно поÑвиÑÑÑÑ ÑообÑение:
Postgres Pro, contrib and documentation successfully made. Ready to install.
(Postgres Pro, contrib и докÑменÑаÑÐ¸Ñ ÑобÑÐ°Ð½Ñ ÑÑпеÑно и гоÑÐ¾Ð²Ñ Ðº ÑÑÑановке.)
РегÑеÑÑионнÑе ÑеÑÑÑ
ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе пÑоÑеÑÑиÑоваÑÑ ÑолÑко ÑÑо ÑобÑаннÑй ÑеÑвеÑ, пÑежде Ñем ÑÑÑанавливаÑÑ ÐµÐ³Ð¾, на ÑÑом ÑÑапе Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ ÑегÑеÑÑионнÑе ÑеÑÑÑ. РегÑеÑÑионнÑе ÑеÑÑÑ â ÑÑо ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑеÑÑов, пÑовеÑÑÑÑÐ¸Ñ , ÑÑо Postgres Pro ÑабоÑÐ°ÐµÑ Ð½Ð° ваÑем компÑÑÑеÑе Ñак, как задÑмано ÑазÑабоÑÑиками. ÐведиÑе:
make check(ÐÑо должен вÑполнÑÑÑ Ð¾Ð±ÑÑнÑй полÑзоваÑелÑ, не root.) Ðак инÑеÑпÑеÑиÑоваÑÑ ÑезÑлÑÑаÑÑ Ð¿ÑовеÑки, подÑобно опиÑÑваеÑÑÑ Ð² Ðлаве 30. ÐÑ Ð¼Ð¾Ð¶ÐµÑе повÑоÑиÑÑ ÑÑÑ Ð¿ÑовеÑÐºÑ Ð¿Ð¾Ð·Ð¶Ðµ в лÑбой моменÑ, вÑполнив ÑÑ Ð¶Ðµ командÑ.
УÑÑановка Ñайлов
ÐÑимеÑание
ÐÑли Ð²Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑеÑе ÑÑÑеÑÑвÑÑÑÑÑ ÑиÑÑемÑ, обÑзаÑелÑно пÑоÑиÑайÑе инÑÑÑÑкÑии по Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа, пÑиведÑннÑе в Разделе 17.6.
ЧÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Postgres Pro, введиÑе:
make installÐÑи ÑÑом ÑÐ°Ð¹Ð»Ñ Ð±ÑдÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² каÑалоги, заданнÑе в Шаг 1. УбедиÑеÑÑ Ð² Ñом, ÑÑо Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑооÑвеÑÑÑвÑÑÑие ÑазÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи ÑÑда. ÐбÑÑно ÑÑо дейÑÑвие нÑжно вÑполнÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ root. Также возможно заÑанее ÑоздаÑÑ ÑелевÑе каÑалоги и даÑÑ ÑÑебÑемÑй доÑÑÑп к ним.
ЧÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ (HTML и ÑÑÑаниÑÑ man), введиÑе:
make install-docsÐÑли Ð²Ñ ÑобиÑали ÑÐµÐ»Ñ world, введиÑе вмеÑÑо ÑÑого:
make install-worldÐÑи ÑÑом Ñакже бÑÐ´ÐµÑ ÑÑÑановлена докÑменÑаÑиÑ.
ÐÑ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ
make install-stripвмеÑÑоmake install, ÑÑÐ¾Ð±Ñ ÑбÑаÑÑ Ð»Ð¸Ñнее из ÑÑÑанавливаемÑÑ Ð¸ÑполнÑемÑÑ Ñайлов и библиоÑек. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑÑкономиÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ меÑÑа. ÐÑли Ð²Ñ Ð²ÑполнÑеÑе ÑбоÑÐºÑ Ð´Ð»Ñ Ð¾Ñладки, пÑи ÑÑом ÑакÑиÑеÑки вÑÑежеÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжка оÑладки, поÑÑÐ¾Ð¼Ñ ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ ÑолÑко еÑли оÑладка болÑÑе не планиÑÑеÑÑÑ. ÐÑоÑедÑÑаinstall-stripпÑÑаеÑÑÑ Ð¾Ð¿ÑимизиÑоваÑÑ Ð¾Ð±ÑÑм ÑазÑмнÑми ÑпоÑобами, но не ÑаÑÑÑиÑÑвайÑе, ÑÑо она ÑпоÑобна ÑдалиÑÑ ÐºÐ°Ð¶Ð´Ñй ненÑжнÑй Ð±Ð°Ð¹Ñ Ð¸Ð· иÑполнÑемого Ñайла. ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе оÑвободиÑÑ ÐºÐ°Ðº можно болÑÑе меÑÑа, вам пÑидÑÑÑÑ Ð¿ÑоделаÑÑ ÑÑо вÑÑÑнÑÑ.ÐÑи ÑÑандаÑÑной ÑÑÑановке в ÑиÑÑÐµÐ¼Ñ ÑÑÑанавливаÑÑÑÑ Ð²Ñе заголовоÑнÑе ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ ÑазÑабоÑки клиенÑÑÐºÐ¸Ñ Ð¿Ñиложений, а Ñакже пÑогÑамм на ÑÑоÑоне ÑеÑвеÑа, в ÑаÑÑноÑÑи, ÑобÑÑвеннÑÑ ÑÑнкÑий или Ñипов даннÑÑ , ÑеализованнÑÑ Ð½Ð° C. (Ðо PostgreSQL 8.0 Ð´Ð»Ñ ÑÑого ÑÑебовалоÑÑ Ð²ÑполниÑÑ
make install-all-headers, но ÑейÑÐ°Ñ ÑÑо вклÑÑено в ÑÑандаÑÑнÑÑ ÑÑÑановкÑ.)УÑÑановка ÑолÑко клиенÑÑкой ÑаÑÑи: ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе ÑÑÑановиÑÑ ÑолÑко клиенÑÑкие пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ инÑеÑÑейÑнÑе библиоÑеки, можно вÑполниÑÑ ÑÑи командÑ:
make -C src/bin installmake -C src/include installmake -C src/interfaces installmake -C doc installÐ
src/binеÑÑÑ Ð½ÐµÑколÑко пÑогÑамм, пÑименимÑÑ ÑолÑко на ÑеÑвеÑе, но они оÑÐµÐ½Ñ Ð¼Ð°Ð»Ñ.
Удаление: ЧÑÐ¾Ð±Ñ Ð¾ÑмениÑÑ ÑÑÑановкÑ, воÑполÑзÑйÑеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ make uninstall. Ðднако ÑозданнÑе каÑалоги пÑи ÑÑом ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð½Ðµ бÑдÑÑ.
ÐÑиÑÑка: ÐоÑле ÑÑÑановки Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе оÑвободиÑÑ Ð¼ÐµÑÑо на диÑке, Ñдалив ÑÐ°Ð¹Ð»Ñ ÑбоÑки из деÑева иÑÑ
одного кода, вÑполнив make clean. ÐÑи ÑÑом ÑайлÑ, ÑозданнÑе пÑогÑаммой configure, бÑдÑÑ ÑоÑ
ÑаненÑ, Ñак ÑÑо позже Ð²Ñ ÑможеÑе пеÑеÑобÑаÑÑ Ð²ÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾, вÑполнив make. ЧÑÐ¾Ð±Ñ ÑбÑоÑиÑÑ Ð´ÐµÑево иÑÑ
одного кода к ÑоÑÑоÑниÑ, в коÑоÑом оно ÑаÑпÑоÑÑÑанÑеÑÑÑ, вÑполниÑе make distclean. ÐÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑÐµÐ½Ñ Ð²ÑполнÑÑÑ ÑбоÑÐºÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ деÑева иÑÑ
одного кода Ð´Ð»Ñ Ð½ÐµÑколÑкиÑ
плаÑÑоÑм, вам пÑидÑÑÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÑо и пеÑеконÑигÑÑиÑоваÑÑ ÑбоÑоÑнÑÑ ÑÑÐµÐ´Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹. (Также можно иÑполÑзоваÑÑ Ð¾ÑделÑное деÑево ÑбоÑки Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ плаÑÑоÑмÑ, ÑÑÐ¾Ð±Ñ Ð´ÐµÑево иÑÑ
одного кода оÑÑавалоÑÑ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½Ð½Ñм.)
ÐÑли в пÑоÑеÑÑе ÑбоÑки Ð²Ñ Ð¾Ð±Ð½Ð°ÑÑжиÑе, ÑÑо заданнÑе вами паÑамеÑÑÑ configure оказалиÑÑ Ð¾ÑибоÑнÑми, либо Ð²Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð¸ ÑÑо-Ñо, Ð¾Ñ Ñего завиÑÐ¸Ñ ÑабоÑа configure (напÑимеÑ, обновили пакеÑÑ), ÑÑÐ¾Ð¸Ñ Ð²ÑполниÑÑ make distclean, пÑежде Ñем пеÑеконÑигÑÑиÑоваÑÑ Ð¸ пеÑеÑобиÑаÑÑ Ð²ÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾. ÐÑли ÑÑого не ÑделаÑÑ, ваÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² конÑигÑÑаÑии могÑÑ ÑаÑпÑоÑÑÑаниÑÑÑÑ Ð½Ðµ везде, где они важнÑ.