initdb
initdb â ÑоздаÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Postgres Pro
СинÑакÑиÑ
initdb [паÑамеÑÑ...] [ --pgdata | -D ]каÑалог
ÐпиÑание #
Ðоманда initdb ÑоздаÑÑ Ð½Ð¾Ð²Ñй клаÑÑÐµÑ Ð±Ð°Ð· даннÑÑ
Postgres Pro.
Создание клаÑÑеÑа баз даннÑÑ
заклÑÑаеÑÑÑ Ð² Ñоздании каÑалогов Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
клаÑÑеÑа, ÑоÑмиÑовании обÑиÑ
ÑиÑÑемнÑÑ
ÑÐ°Ð±Ð»Ð¸Ñ (оÑноÑÑÑиÑ
ÑÑ ÐºÐ¾ вÑÐµÐ¼Ñ ÐºÐ»Ð°ÑÑеÑÑ, а не к какой-либо базе) и Ñоздании баз даннÑÑ
postgres, template1 и template0. Ðаза postgres иÑполÑзÑеÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑми, ÑÑилиÑами и ÑÑоÑонними пÑиложениÑми по ÑмолÑаниÑ. ÐÐ°Ð·Ñ template1 и template0 пÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² каÑеÑÑве иÑÑ
однÑÑ
баз даннÑÑ
, копии коÑоÑÑÑ
бÑдÑÑ ÑоздаваÑÑ Ð¿Ð¾ÑледÑÑÑие ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE DATABASE. ÐÐ°Ð·Ñ template0 не ÑледÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð°, но Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе добавлÑÑÑ Ð¾Ð±ÑекÑÑ Ð² template1, и они по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÑдÑÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑÑÑ Ð² Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, ÑоздаваемÑе позже. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 21.3.
ÐÑи попÑÑке ÑоздаÑÑ ÐºÐ°Ñалог Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
initdb Ð¼Ð¾Ð¶ÐµÑ ÑÑолкнÑÑÑÑÑ Ñ Ð½ÐµÑ
ваÑкой пÑав доÑÑÑпа, еÑли ÑÑÐ¾Ñ ÐºÐ°Ñалог пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÑÑпеÑполÑзоваÑÐµÐ»Ñ root. Ð Ñаком ÑлÑÑае необÑ
одимо назнаÑиÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
владелÑÑем ÑÑого каÑалога пÑи помоÑи chown. ÐаÑем вÑполниÑÑ su Ð´Ð»Ñ ÑÐ¼ÐµÐ½Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸ далÑнейÑего вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ initdb.
Ðоманда initdb должна вÑполнÑÑÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ полÑзоваÑелÑ, под коÑоÑÑм бÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑÑÑ ÑеÑвеÑ, Ñак как ÐµÐ¼Ñ Ð½ÐµÐ¾Ð±Ñ
одим полнÑй доÑÑÑп к Ñайлам и каÑалогам, ÑоздаваемÑм initdb. СеÑÐ²ÐµÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ, поÑÑÐ¾Ð¼Ñ Ð²Ñполнение ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ initdb Ð¾Ñ ÐµÐ³Ð¾ лиÑа бÑÐ´ÐµÑ Ð¾Ñклонено.
Ðз ÑообÑажений безопаÑноÑÑи новÑй клаÑÑеÑ, ÑозданнÑй пÑогÑаммой initdb, бÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпен ÑолÑко Ð´Ð»Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа клаÑÑеÑа. ÐлÑÑ --allow-group-access позволÑÐµÑ ÑазÑеÑиÑÑ ÑÑение Ñайлов в клаÑÑеÑе вÑем полÑзоваÑелÑм, вÑ
одÑÑим в гÑÑÐ¿Ð¿Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа клаÑÑеÑа. ÐÑо полезно Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ непÑивилегиÑованного полÑзоваÑелÑ.
initdb иниÑиализиÑÑÐµÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ и кодиÑовки баз даннÑÑ
клаÑÑеÑа, коÑоÑÑе бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ. Ðни могÑÑ ÑÑÑанавливаÑÑÑÑ ÑазделÑно пÑи Ñоздании новой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
. initdb опÑеделÑÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ Ð´Ð»Ñ ÑаблоннÑÑ
баз даннÑÑ
, пÑименÑÑÑиеÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ
баз.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ initdb полÑÑÐ°ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ из пеÑеменнÑÑ
ÑÑÐµÐ´Ñ Ð¸ опÑеделÑÐµÑ ÐºÐ¾Ð´Ð¸ÑовкÑ, иÑÑ
Ð¾Ð´Ñ Ð¸Ð· паÑамеÑÑов локали. ÐÑли пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹ не задан, он вÑбиÑаеÑÑÑ Ð°Ð²ÑомаÑиÑеÑки на оÑновании знаÑÐµÐ½Ð¸Ñ lc_collate Ð´Ð»Ñ ÐºÐ»Ð°ÑÑеÑа: Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹ C и POSIX вÑбиÑаеÑÑÑ libc, а Ð´Ð»Ñ Ð´ÑÑгиÑ
локалей â icu.
ÐÑбÑаÑÑ Ð´ÑÑгÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð´Ð»Ñ ÐºÐ»Ð°ÑÑеÑа позволÑÐµÑ Ð¿Ð°ÑамеÑÑ --locale. СÑÑеÑÑвÑÑÑ Ñакже оÑделÑнÑе паÑамеÑÑÑ --lc-* и --icu-locale (Ñм. ниже), позволÑÑÑие задаÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾ÑделÑнÑÑ
каÑегоÑий локали. УÑÑиÑе, ÑÑо Ñ Ð½ÐµÐ¿Ð¾Ð´Ñ
одÑÑими знаÑениÑми Ð´Ð»Ñ ÑазнÑÑ
каÑегоÑий локали ÑезÑлÑÑаÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð±ÐµÑÑмÑÑленнÑми, поÑÑÐ¾Ð¼Ñ ÑÑи знаÑÐµÐ½Ð¸Ñ ÑледÑÐµÑ Ð²ÑбиÑаÑÑ Ð¿ÑодÑманно.
РкаÑеÑÑве библиоÑеки, ÑеализÑÑÑей поддеÑÐ¶ÐºÑ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹, initdb Ð¼Ð¾Ð¶ÐµÑ Ñакже иÑполÑзоваÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ ICU, еÑли ÑказаÑÑ --locale-provider=icu. ÐÑи ÑÑом ÑеÑÐ²ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ ÑобÑан Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой ICU. ÐÑбÑаÑÑ Ð¾Ð¿ÑеделÑннÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ ICU позволÑÐµÑ Ð¿Ð°ÑамеÑÑ --icu-locale. ÐамеÑÑÑе, ÑÑо даже когда иÑполÑзÑеÑÑÑ Ð¿ÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹ ICU, initdb в лÑбом ÑлÑÑае вÑбиÑÐ°ÐµÑ Ð¸ иниÑиализиÑÑÐµÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ libc в ÑвÑзи Ñ Ð¾ÑобенноÑÑÑми ÑеализаÑии и Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑÑаÑого кода.
Ðогда команда initdb вÑполнÑеÑÑÑ, она показÑваеÑ, какие паÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ вÑбÑанÑ. ÐÑли Ð²Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ð»Ð¸ комбинаÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов или Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¾ÑобÑе ÑÑебованиÑ, ÑекомендÑеÑÑÑ Ð¿ÑовеÑиÑÑ, ÑооÑвеÑÑÑвÑÐµÑ Ð»Ð¸ ÑезÑлÑÑÐ°Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñм.
ÐодÑобнее о паÑамеÑÑÐ°Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ можно ÑзнаÑÑ Ð² Разделе 22.1.
ÐÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð¸Ñовки по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð¿Ð°ÑамеÑÑ --encoding. УзнаÑÑ Ð¾Ð± ÑÑом болÑÑе можно в Разделе 22.3.
ÐаÑамеÑÑÑ
-Aauthmethod--auth=#authmethodÐаÑамеÑÑ Ð¾Ð¿ÑеделÑÐµÑ Ð¼ÐµÑод аÑÑенÑиÑикаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, иÑполÑзÑемÑй в Ñайле
pg_hba.conf(ÑÑÑокиhostиlocal). ÐопÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð² Разделе 19.1.ÐÑогÑамма
initdbпÑедваÑиÑелÑно внеÑÑÑ ÑказаннÑй меÑод аÑÑенÑиÑикаÑии вpg_hba.confв запиÑи как обÑÑнÑÑ Ñоединений, Ñак и Ñоединений ÑепликаÑии.Ðе иÑполÑзÑйÑе
trust, еÑли не можеÑе довеÑÑÑÑ Ð²Ñем локалÑнÑм полÑзоваÑелÑм в ваÑей ÑиÑÑеме. РежимtrustиÑполÑзÑеÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³ÑÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа ÑÑÑановки.--auth-host=#authmethodÐаÑамеÑÑ ÑказÑÐ²Ð°ÐµÑ Ð¼ÐµÑод аÑÑенÑиÑикаÑии Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, подклÑÑаÑÑÐ¸Ñ ÑÑ Ð¿Ð¾ TCP/IP, иÑполÑзÑемÑй в
pg_hba.conf(ÑÑÑокиhost).--auth-local=#authmethodÐаÑамеÑÑ Ð²ÑбиÑÐ°ÐµÑ Ð¼ÐµÑод аÑÑенÑиÑикаÑии локалÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, подклÑÑаÑÑÐ¸Ñ ÑÑ ÑеÑез Unix-ÑокеÑ, иÑполÑзÑемÑй в
pg_hba.conf(ÑÑÑокиlocal).-DкаÑалог--pgdata=#каÑалогÐаÑамеÑÑ ÑказÑÐ²Ð°ÐµÑ ÐºÐ°Ñалог Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ»Ð°ÑÑеÑа. ÐÑо единÑÑвеннÑй обÑзаÑелÑнÑй паÑамеÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
initdb. ÐÑи ÑÑом его можно ÑказаÑÑ Ð² пеÑеменной окÑÑжениÑPGDATA, ÑÑо бÑÐ´ÐµÑ ÑдобнÑм пÑи далÑнейÑем иÑполÑзовании (postgresобÑаÑаеÑÑÑ Ðº ÑÑой же пеÑеменной).-EкодиÑовка--encoding=#кодиÑовкаУÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð±Ð°Ð·-Ñаблонов. ÐÑа кодиÑовка бÑÐ´ÐµÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑбиÑаÑÑÑÑ Ð¸ Ð´Ð»Ñ Ð±Ð°Ð· даннÑÑ , ÑоздаваемÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, еÑли Ð²Ñ Ð½Ðµ пеÑеопÑеделиÑе еÑ. ÐабоÑÑ Ñимволов, поддеÑживаемÑе ÑеÑвеÑом Postgres Pro, опиÑÐ°Ð½Ñ Ð² ÐодÑазделе 22.3.1.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð¸Ñовка Ð´Ð»Ñ Ð±Ð°Ð·-Ñаблонов вÑбиÑаеÑÑÑ, иÑÑ Ð¾Ð´Ñ Ð¸Ð· Ñказанной локали. ÐÑли задан паÑамеÑÑ
--no-locale(или, ÑÑо ÑавнознаÑно, задана локалÑCилиPOSIX), по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑUTF8Ð´Ð»Ñ Ð¿ÑовайдеÑа ICU иSQL_ASCIIÐ´Ð»Ñ Ð¿ÑовайдеÑаlibc.-g--allow-group-access#ÐозволÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑм, Ð²Ñ Ð¾Ð´ÑÑим в гÑÑÐ¿Ð¿Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа клаÑÑеÑа, ÑиÑаÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ ÐºÐ»Ð°ÑÑеÑа, ÑоздаваемÑе пÑогÑаммой
initdb. Ð Windows ÑÑÐ¾Ñ ÐºÐ»ÑÑ Ð½Ðµ ÑабоÑаеÑ, Ñак как Ñам не поддеÑживаÑÑÑÑ ÑазÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð³ÑÑÐ¿Ð¿Ñ Ð² ÑÑиле POSIX.--icu-locale=#локалÑУказÑÐ²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ ICU, еÑли иÑполÑзÑеÑÑÑ Ð¿ÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹ ICU. ÐоддеÑжка локали опиÑана в Разделе 22.1. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð·Ð½Ð°Ñение
--locale, еÑли оно Ñказано, в пÑоÑивном ÑлÑÑае â знаÑение lc_collate.--icu-rules=#пÑавилаУказÑÐ²Ð°ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе пÑавила Ð´Ð»Ñ Ð½Ð°ÑÑÑойки Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑоÑÑиÑовки по ÑмолÑаниÑ. ÐаÑамеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко Ð´Ð»Ñ ICU.
-k--data-checksums#ÐÑименÑÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð½Ð° ÑÑÑаниÑÐ°Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ñбоев пÑи вводе-вÑводе, коÑоÑÑе инаÑе оÑÑанÑÑÑÑ Ð½ÐµÐ·Ð°Ð¼ÐµÑеннÑми. РаÑÑÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑмм Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð²Ð»ÐµÑÑ Ð·Ð°Ð¼ÐµÑное Ñнижение пÑоизводиÑелÑноÑÑи. Ðогда конÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð²ÐºÐ»ÑÑенÑ, они ÑаÑÑÑиÑÑваÑÑÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾Ð±ÑекÑов и во вÑÐµÑ Ð±Ð°Ð·Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑе оÑибки конÑÑолÑнÑÑ ÑÑмм бÑдÑÑ Ð²Ð¸Ð´Ð½Ñ Ð² пÑедÑÑавлении
pg_stat_database. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 27.2.Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑÑ Postgres Pro иниÑиализиÑÑÑÑÑÑ Ñ Ð²ÐºÐ»ÑÑÑннÑми конÑÑолÑнÑми ÑÑммами. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑо поведение, добавÑÑе паÑамеÑÑ
--no-data-checksums.--no-data-checksums#ÐÑклÑÑиÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð² ÑÑÑаниÑÐ°Ñ Ð´Ð°Ð½Ð½ÑÑ .
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑÑ Postgres Pro иниÑиализиÑÑÑÑÑÑ Ñ Ð²ÐºÐ»ÑÑÑннÑми конÑÑолÑнÑми ÑÑммами.
--locale=#локалÑУÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ ÐºÐ»Ð°ÑÑеÑа по ÑмолÑаниÑ. ÐÑли Ñлаг не Ñказан, Ð»Ð¾ÐºÐ°Ð»Ñ ÑÑÑанавливаеÑÑÑ ÑоглаÑно окÑÑжениÑ, в коÑоÑом иÑполнÑеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°
initdb. ÐоддеÑживаемÑе локали опиÑÐ°Ð½Ñ Ð² Разделе 22.1.ÐÑли Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа
--locale-providerÑÑÑановлено знаÑениеbuiltin, Ñо Ñакже должен бÑÑÑ Ð·Ð°Ð´Ð°Ð½--localeили--builtin-localeÑо знаÑениемCилиC.UTF-8.--lc-collate=локалÑ--lc-ctype=локалÑ--lc-messages=локалÑ--lc-monetary=локалÑ--lc-numeric=локалÑ--lc-time=#локалÑÐналогиÑно
--localeÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñ, но ÑолÑко Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ каÑегоÑии. ÐаÑамеÑÑ--lc-collateпеÑеопÑеделÑÐµÑ Ð¿Ð°ÑамеÑÑ--localeнезавиÑимо Ð¾Ñ Ñого, Ñказан ли пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð¿Ñавил ÑоÑÑиÑовки.--no-locale#ÐналогиÑно ÑлагÑ
--locale=C.--builtin-locale=#локалÑУказÑÐ²Ð°ÐµÑ Ð¸Ð¼Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ пÑи иÑполÑзовании пÑовайдеÑа
builtin. ÐоддеÑжка локалей опиÑана в Разделе 22.1.--locale-provider={#builtin|libc|icu}ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÑбиÑÐ°ÐµÑ Ð¿ÑовайдеÑа локалей Ð´Ð»Ñ Ð±Ð°Ð· даннÑÑ , ÑоздаваемÑÑ Ð² новом клаÑÑеÑе. Ðго можно пеÑеопÑеделиÑÑ Ð´Ð»Ñ ÑоздаваемÑÑ Ð²Ð¿Ð¾ÑледÑÑвии баз в команде
CREATE DATABASE. См. ÐодÑаздел 22.1.4.--pwfile=#имÑ_ÑайлаÐÑинÑждаеÑ
initdbÑиÑаÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð½Ð°ÑалÑного ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¸Ð· Ñайла, пеÑÐ²Ð°Ñ ÑÑÑока коÑоÑого иÑполÑзÑеÑÑÑ Ð² каÑеÑÑве паÑолÑ.--no-tune#Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзование ÑÑилиÑÑ pgpro_tune в
initdbвклÑÑено. ЧÑÐ¾Ð±Ñ ÐµÑ Ð¾ÑклÑÑиÑÑ, иÑполÑзÑйÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.--tune=#optionsУÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð´Ð»Ñ pgpro_tune. Ðа дополниÑелÑной инÑоÑмаÑией обÑаÑиÑеÑÑ Ðº Ð¸Ñ Ð¾Ð¿Ð¸ÑаниÑ.
-TконÑигÑÑаÑиÑ--text-search-config=#конÑигÑÑаÑиÑУÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑекÑÑового поиÑка по ÑмолÑаниÑ. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº default_text_search_config.
-UимÑ_полÑзоваÑелÑ--username=#имÑ_полÑзоваÑелÑÐадаÑÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ Ð½Ð°ÑалÑного ÑÑпеÑполÑзоваÑелÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÐС, запÑÑкаÑÑего
initdb.-W--pwprompt#УказÑваеÑ
initdbзапÑоÑиÑÑ Ð¿Ð°ÑолÑ, коÑоÑÑй бÑÐ´ÐµÑ Ð½Ð°Ð·Ð½Ð°Ñен наÑалÑÐ½Ð¾Ð¼Ñ ÑÑпеÑполÑзоваÑелÑ. ÐÑо не важно, еÑли не планиÑÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑолÑ. Рином ÑлÑÑае ÑÑÐ¾Ñ Ñежим аÑÑенÑиÑикаÑии оказÑваеÑÑÑ Ð½ÐµÐ¿ÑименимÑм, пока паÑÐ¾Ð»Ñ Ð½Ðµ задан.-XкаÑалог--waldir=#каÑалогÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑказÑÐ²Ð°ÐµÑ ÐºÐ°Ñалог Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¶ÑÑнала пÑедзапиÑи.
--wal-segsize=#ÑазмеÑÐадаÑÑ ÑÐ°Ð·Ð¼ÐµÑ ÑегменÑа WAL, в мегабайÑÐ°Ñ . Такой ÑÐ°Ð·Ð¼ÐµÑ Ð±ÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ ÐºÐ°Ð¶Ð´Ñй оÑделÑнÑй Ñайл в жÑÑнале WAL. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ñавен 16 мегабайÑам. ÐнаÑение должно задаваÑÑÑÑ ÑÑепенÑÑ 2 Ð¾Ñ 1 до 1024 (в мегабайÑÐ°Ñ ). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÑÑановиÑÑ ÑолÑко во вÑÐµÐ¼Ñ Ð¸Ð½Ð¸ÑиализаÑии и нелÑÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð¿Ð¾Ð·Ð¶Ðµ.
ÐÑÐ¾Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð±ÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ поменÑÑÑ Ð¿Ñи Ñонкой наÑÑÑойке ÑÑанÑлÑÑии или аÑÑ Ð¸Ð²Ð°Ñии WAL. ÐÑоме Ñого, в Ð±Ð°Ð·Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ Ñ WAL болÑÑого обÑÑма огÑомное колиÑеÑÑво Ñайлов WAL в каÑалоге Ð¼Ð¾Ð¶ÐµÑ ÑÑаÑÑ Ð¿Ñоблемой Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи и админиÑÑÑиÑованиÑ. УвелиÑение ÑазмеÑа Ñайлов WAL пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑменÑÑÐµÐ½Ð¸Ñ ÑиÑла ÑÑÐ¸Ñ Ñайлов.
ÐÑÑгие Ñеже иÑполÑзÑемÑе паÑамеÑÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð·Ð´ÐµÑÑ:
-cимÑ=знаÑение--set#имÑ=знаÑениеÐÑинÑдиÑелÑно ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ðµ
знаÑÐµÐ½Ð¸ÐµÐ´Ð»Ñ ÑеÑвеÑного паÑамеÑÑа Ñ ÑказаннÑмименемво вÑемÑinitdb, а Ñакже пеÑеопÑеделÑÐµÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð² Ñайлеpostgresql.conf, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ ÐµÐ³Ð¾ пÑи поÑледÑÑÑÐ¸Ñ Ð·Ð°Ð¿ÑÑÐºÐ°Ñ ÑеÑвеÑа. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑinitdbможно задаваÑÑ Ð½ÐµÑколÑко Ñаз, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑеопÑеделиÑÑ Ð½ÐµÑколÑко ÑеÑвеÑнÑÑ Ð¿Ð°ÑамеÑÑов. РоÑновном он иÑполÑзÑеÑÑÑ Ð² ÑлÑÑаÑÑ , когда ÑеÑÐ²ÐµÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑÑÑиÑÑÑÑ Ñо знаÑениÑми паÑамеÑÑов по ÑмолÑаниÑ.-d--debug#ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð¾ÑладоÑнÑе ÑообÑÐµÐ½Ð¸Ñ Ð·Ð°Ð³ÑÑзÑика и ÑÑд дÑÑÐ³Ð¸Ñ ÑообÑений, не оÑÐµÐ½Ñ Ð¸Ð½ÑеÑеÑнÑÑ ÑиÑокой пÑблике. ÐагÑÑзÑик â ÑÑо пÑиложение
initdb, иÑполÑзÑемое Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ñалога ÑаблиÑ. С ÑÑим паÑамеÑÑом вÑдаÑÑÑÑ Ð¾ÑÐµÐ½Ñ Ð¼Ð½Ð¾Ð³Ð¾ кÑайне ÑкÑÑнÑÑ ÑообÑений.--discard-caches#ÐапÑÑÑиÑÑ Ð·Ð°Ð³ÑÑзÑик Ñ Ð¿Ð°ÑамеÑÑом
debug_discard_caches=1. ÐÑо оÑÐµÐ½Ñ ÑилÑно Ð·Ð°Ð¼ÐµÐ´Ð»Ð¸Ñ Ð²Ñполнение и полезно ÑолÑко Ð´Ð»Ñ Ð½Ð¸Ð·ÐºÐ¾ÑÑовневой оÑладки.-L#каÑалогУказÑваеÑ
initdb, где Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ иÑкаÑÑ Ð²Ñ Ð¾Ð´Ð½Ñе ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ ÑазвÑÑÑÑÐ²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа. ÐбÑÑно ÑÑо не ÑÑебÑеÑÑÑ. ÐÑиложение Ñамо запÑоÑÐ¸Ñ ÑÑи даннÑе, еÑли бÑÐ´ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾.-n--no-clean#Ðо ÑмолÑаниÑ, пÑи вÑÑвлении оÑибки на ÑÑапе ÑазвÑÑÑÑÐ²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа,
initdbÑдалÑÐµÑ Ð²Ñе ÑайлÑ, коÑоÑÑе к ÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¼ÐµÐ½ÑÑ Ð±Ñли ÑозданÑ. ÐаÑамеÑÑ Ð¿ÑедоÑвÑаÑÐ°ÐµÑ Ð¾ÑиÑÑÐºÑ Ñайлов Ð´Ð»Ñ Ñелей оÑладки.-N--no-sync#Ðо ÑмолÑаниÑ
initdbждÑÑ, пока вÑе ÑÐ°Ð¹Ð»Ñ Ð½Ðµ бÑдÑÑ Ð½Ð°Ð´Ñжно запиÑÐ°Ð½Ñ Ð½Ð° диÑк. С даннÑм паÑамеÑÑомinitdbзавеÑÑаеÑÑÑ Ð±ÑÑÑÑее, без ожиданиÑ, но в ÑлÑÑае неожиданного ÑÐ±Ð¾Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑÐµÐ¼Ñ ÐºÐ°Ñалог даннÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð¸ÑпоÑÑеннÑм. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ пÑи ÑеÑÑиÑовании; в пÑоизводÑÑвенной ÑÑеде пÑименÑÑÑ ÐµÐ³Ð¾ не ÑледÑеÑ.--no-instructions#Ðо ÑмолÑаниÑ
initdbпоÑле вÑÐµÑ ÑообÑений вÑÐ²Ð¾Ð´Ð¸Ñ Ð¸Ð½ÑÑÑÑкÑии по запÑÑÐºÑ ÐºÐ»Ð°ÑÑеÑа. С ÑÑим клÑÑом даннÑе инÑÑÑÑкÑии вÑводиÑÑÑÑ Ð½Ðµ бÑдÑÑ. ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð¿ÑедназнаÑен в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð´Ð»Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð° плаÑÑоÑÐ¼Ð°Ñ , гдеinitdbиÑполÑзÑеÑÑÑ Ð² ÑпеÑиалÑнÑÑ Ð²ÑÑокоÑÑовневÑÑ Ð¿ÑоÑедÑÑÐ°Ñ , в ÑÐ°Ð¼ÐºÐ°Ñ ÐºÐ¾ÑоÑÑÑ Ð´Ð°Ð½Ð½Ñе инÑÑÑÑкÑии оказÑваÑÑÑÑ Ð½ÐµÐºÐ¾ÑÑекÑнÑми.-s--show#ÐÑвеÑÑи внÑÑÑенние паÑамеÑÑÑ Ð¸ завеÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ. ÐÐ¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¾Ñладки во вÑÐµÐ¼Ñ ÑÑÑановки initdb.
--sync-method=#меÑодСо знаÑением
fsync(ÑÑо знаÑение по ÑмолÑаниÑ),initdbбÑÐ´ÐµÑ ÑекÑÑÑивно оÑкÑÑваÑÑ Ð¸ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð² каÑалоге даннÑÑ . ÐоиÑк Ñайлов бÑÐ´ÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑÑÑ Ð¿Ð¾ ÑимволиÑеÑким ÑÑÑлкам Ð´Ð»Ñ ÐºÐ°Ñалога WAL и каждого наÑÑÑоенного ÑаблиÑного пÑоÑÑÑанÑÑва.Ð Linux возможен ваÑианÑ
syncfs, когда Ð¾Ñ ÐС ÑÑебÑеÑÑÑ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ Ñеликом каждÑÑ Ð¸Ð· ÑайловÑÑ ÑиÑÑем, ÑодеÑжаÑÐ¸Ñ ÐºÐ°Ñалог даннÑÑ , ÑÐ°Ð¹Ð»Ñ WAL и ÑаблиÑнÑе пÑоÑÑÑанÑÑва. Ðолее подÑобно оÑобенноÑÑи иÑполÑзованиÑsyncfsопиÑÐ°Ð½Ñ Ð² recovery_init_sync_method.Ð Ñежиме
--no-syncÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ оказÑÐ²Ð°ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾ влиÑниÑ.-S--sync-only#ÐезопаÑно запиÑÑÐ²Ð°ÐµÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð±Ð°Ð·Ñ Ð½Ð° диÑк и оÑÑанавливаеÑÑÑ. ÐÑÑгие опеÑаÑии initdb пÑи ÑÑом не вÑполнÑÑÑÑÑ. Ð Ñелом, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð½Ð°Ð´Ñжного воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ fsync Ñ
offнаon.
ÐÑÑгие паÑамеÑÑÑ Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ 64-биÑнÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов ÑÑанзакÑий:
-mSTART_MX_ID--multixact-id=START_MX_IDÐадаÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑкземплÑÑа ÐРнаÑалÑнÑй иденÑиÑикаÑÐ¾Ñ Ð¼ÑлÑÑиÑÑанзакÑий в деÑÑÑиÑном виде Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ ÐÐ, знаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
0.-oSTART_MX_OFFSET--multixact-offset=START_MX_OFFSETÐадаÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑкземплÑÑа ÐРнаÑалÑное ÑмеÑение мÑлÑÑиÑÑанзакÑий в деÑÑÑиÑном виде Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ ÐÐ, знаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
0.-xSTART_XID--xid=START_XIDÐадаÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑкземплÑÑа ÐРнаÑалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑÑанзакÑий в деÑÑÑиÑном виде Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ ÐÐ, знаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
0.
ÐÑоÑие паÑамеÑÑÑ:
ÐеÑеменнÑе окÑÑжениÑ
PGDATA#УказÑÐ²Ð°ÐµÑ ÐºÐ°Ñалог Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ»Ð°ÑÑеÑа, можно измениÑÑ Ð¿Ð°ÑамеÑÑом
-D.PG_COLOR#ÐÑбиÑÐ°ÐµÑ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвеÑа в диагноÑÑиÑеÑÐºÐ¸Ñ ÑообÑениÑÑ . ÐозможнÑе знаÑениÑ:
always(вÑегда),auto(авÑомаÑиÑеÑки) иnever(никогда).PGPRO_TUNE#УказÑваеÑ, нÑжно ли иÑполÑзоваÑÑ ÑÑилиÑÑ pgpro_tune без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов в командной ÑÑÑоке. ÐÑли ÑÑÑановлено знаÑение
disable, дейÑÑвие ÑÑой пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñно ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа--no-tune, Ñо еÑÑÑ Ð¾ÑклÑÑÐ°ÐµÑ pgpro_tune. ÐÑли задано дÑÑгое знаÑение и паÑамеÑÑ--tuneили--no-tuneв командной ÑÑÑоке ÑвнÑм обÑазом не Ñказан, поведение бÑÐ´ÐµÑ Ñаким же, как еÑли Ð±Ñ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа--tuneбÑло задано знаÑениеPGPRO_TUNE.TZ#УказÑÐ²Ð°ÐµÑ ÑаÑовой поÑÑ ÐºÐ»Ð°ÑÑеÑа по ÑмолÑаниÑ. ÐнаÑение â ÑÑо полное Ð¸Ð¼Ñ ÑаÑового поÑÑа (Ñм. ÐодÑаздел 8.5.3).
ÐÑимеÑаниÑ
initdb можно вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ pg_ctl initdb.