1.3. Создание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ #
ÐеÑвое, как можно пÑовеÑиÑÑ, еÑÑÑ Ð»Ð¸ Ñ Ð²Ð°Ñ Ð´Ð¾ÑÑÑп к ÑеÑвеÑÑ Ð±Ð°Ð· даннÑÑ , â ÑÑо попÑÑаÑÑÑÑ ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . РабоÑаÑÑий ÑеÑÐ²ÐµÑ Postgres Pro Ð¼Ð¾Ð¶ÐµÑ ÑпÑавлÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑвом баз даннÑÑ , ÑÑо позволÑÐµÑ ÑоздаваÑÑ Ð¾ÑделÑнÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ ÑазнÑÑ Ð¿ÑоекÑов и полÑзоваÑелей.
Ðозможно, Ð²Ð°Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑÐ¾Ñ Ñже Ñоздал Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð²Ð°Ñ. Ð ÑÑом ÑлÑÑае Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пÑопÑÑÑиÑÑ ÑÑÐ¾Ñ ÑÑап и пеÑейÑи к ÑледÑÑÑÐµÐ¼Ñ ÑазделÑ.
ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
из командной ÑÑÑоки (в ÑÑом пÑимеÑе ÐРназвана mydb), вÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
$createdb mydb
ÐÑли Ð²Ñ Ð½Ðµ ÑвидиÑе Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ ÑообÑений, знаÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð±Ñла вÑполнена ÑÑпеÑно и пÑодолжение ÑÑого Ñаздела можно пÑопÑÑÑиÑÑ.
ÐÑли Ð²Ñ Ð²Ð¸Ð´Ð¸Ñе ÑообÑение Ñипа:
createdb: command not found
знаÑÐ¸Ñ Postgres Pro не бÑл ÑÑÑановлен пÑавилÑно. Ðибо он не ÑÑÑановлен вообÑе, либо в пÑÑÑ Ð¿Ð¾Ð¸Ñка команд оболоÑки не вклÑÑÑн его каÑалог. ÐопÑобÑйÑе вÑзваÑÑ ÑÑ Ð¶Ðµ командÑ, Ñказав абÑолÑÑнÑй пÑÑÑ:
$/usr/local/pgsql/bin/createdb mydb
У Ð²Ð°Ñ ÑÑÐ¾Ñ Ð¿ÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´ÑÑгим. СвÑжиÑеÑÑ Ñ Ð²Ð°Ñим админиÑÑÑаÑоÑом или пÑовеÑÑÑе, как бÑли вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð¸Ð½ÑÑÑÑкÑии по ÑÑÑановке, ÑÑÐ¾Ð±Ñ Ð¸ÑпÑавиÑÑ ÑиÑÑаÑиÑ.
ÐÑÑ Ð¾Ð´Ð¸Ð½ возможнÑй оÑвеÑ:
createdb: оÑибка: не ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ ÑеÑез ÑÐ¾ÐºÐµÑ "/tmp/.s.PGSQL.5432":
No such file or directory
Ðн дейÑÑвиÑелÑно ÑабоÑÐ°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñно и пÑинимаеÑ
ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑеÑез ÑÑÐ¾Ñ ÑокеÑ?
ÐÑо ознаÑаеÑ, ÑÑо ÑеÑÐ²ÐµÑ Ð½Ðµ ÑабоÑÐ°ÐµÑ Ð¸Ð»Ð¸ createdb не Ð¼Ð¾Ð¶ÐµÑ Ðº Ð½ÐµÐ¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ. Рв ÑÑом ÑлÑÑае пеÑеÑмоÑÑиÑе инÑÑÑÑкÑии по ÑÑÑановке или обÑаÑиÑеÑÑ Ðº админиÑÑÑаÑоÑÑ.
Также Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ ÑообÑение:
createdb: оÑибка: не ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ ÑеÑез ÑокеÑ"/tmp/.s.PGSQL.5432":ÐÐÐÐÐ: ÑÐ¾Ð»Ñ "joe" не ÑÑÑеÑÑвÑеÑ
где ÑигÑÑиÑÑÐµÑ Ð²Ð°Ñе Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. ÐÑо говоÑÐ¸Ñ Ð¾ Ñом, ÑÑо админиÑÑÑаÑÐ¾Ñ Ð½Ðµ Ñоздал ÑÑÑÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Postgres Pro Ð´Ð»Ñ Ð²Ð°Ñ. (УÑÑÑнÑе запиÑи Postgres Pro оÑлиÑаÑÑÑÑ Ð¾Ñ ÑÑÑÑнÑÑ
запиÑей полÑзоваÑелей опеÑаÑионной ÑиÑÑемÑ.) ÐÑли Ð²Ñ Ñами ÑвлÑеÑеÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑом, пÑоÑиÑайÑе ÐлавÑ 20, где напиÑано, как ÑоздаваÑÑ ÑÑÑÑнÑе запиÑи. ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ полÑзоваÑÐµÐ»Ñ Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑаÑÑ Ð¿Ð¾Ð»ÑзоваÑелем опеÑаÑионной ÑиÑÑемÑ, под именем коÑоÑого бÑл ÑÑÑановлен Postgres Pro (обÑÑно ÑÑо postgres). Также возможно, ÑÑо вам назнаÑено Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Postgres Pro, не ÑовпадаÑÑее Ñ Ð²Ð°Ñим именем в ÐС; в ÑÑом ÑлÑÑае вам нÑжно Ñвно ÑказаÑÑ Ð²Ð°Ñе Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Postgres Pro, иÑполÑзÑÑ ÐºÐ»ÑÑ -U или ÑÑÑановив пеÑеменнÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ PGUSER.
ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, но Ð½ÐµÑ Ð¿Ñав на Ñоздание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ð²Ñ ÑвидиÑе ÑообÑение:
createdb: оÑибка: ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½Ðµ ÑдалоÑÑ: ÐШÐÐÐÐ: Ð½ÐµÑ Ð¿Ñав на Ñоздание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
СоздаваÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ ÑазÑеÑено не вÑем полÑзоваÑелÑм. ÐÑли Postgres Pro оÑказÑваеÑÑÑ ÑоздаваÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð²Ð°Ñ, знаÑÐ¸Ñ Ð²Ð°Ð¼ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑооÑвеÑÑÑвÑÑÑее ÑазÑеÑение. Ð ÑÑом ÑлÑÑае обÑаÑиÑеÑÑ Ðº ваÑÐµÐ¼Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑÑ. ÐÑли Ð²Ñ ÑÑÑанавливали Postgres Pro Ñами, Ñо Ð´Ð»Ñ Ñелей ÑÑого Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²Ð¾Ð¹Ñи в ÑиÑÑÐµÐ¼Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ полÑзоваÑелÑ, запÑÑкаÑÑего ÑеÑÐ²ÐµÑ ÐÐ. [1]
ÐÑ Ñакже можеÑе ÑоздаваÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð´ÑÑгими именами. Postgres Pro позволÑÐµÑ ÑоздаваÑÑ ÑколÑко Ñгодно баз даннÑÑ . Ðмена баз даннÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð½Ð°ÑинаÑÑÑÑ Ñ Ð±ÑÐºÐ²Ñ Ð¸ бÑÑÑ Ð½Ðµ длиннее 63 Ñимволов. РкаÑеÑÑве имени Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ñдобно иÑполÑзоваÑÑ Ð²Ð°Ñе ÑекÑÑее Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. Ðногие ÑÑилиÑÑ Ð¿ÑедполагаÑÑ Ñакое Ð¸Ð¼Ñ Ð¿Ð¾ ÑмолÑаниÑ, Ñак ÑÑо Ð²Ñ ÑможеÑе ÑпÑоÑÑиÑÑ Ð²Ð²Ð¾Ð´ команд. ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ñ Ñаким именем, пÑоÑÑо введиÑе:
$createdb
ÐÑли Ð²Ñ Ð±Ð¾Ð»ÑÑе не Ñ
оÑиÑе иÑполÑзоваÑÑ Ð²Ð°ÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑдалиÑÑ ÐµÑ. ÐапÑимеÑ, еÑли Ð²Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ (ÑоздаÑелÑ) Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
mydb, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑниÑÑожиÑÑ ÐµÑ, вÑполнив ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
$dropdb mydb
(ÐÑа команда не ÑÑиÑÐ°ÐµÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÐРпо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼Ñ ÑекÑÑего полÑзоваÑелÑ, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ñвно ÑказаÑÑ ÐµÐ³Ð¾.) Ð ÑезÑлÑÑаÑе бÑдÑÑ ÑизиÑеÑки ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð²Ñе ÑайлÑ, ÑвÑзаннÑе Ñ Ð±Ð°Ð·Ð¾Ð¹ даннÑÑ , и Ñак как оÑмениÑÑ ÑÑо дейÑÑвие нелÑзÑ, не вÑполнÑйÑе его, не подÑмав о поÑледÑÑвиÑÑ .
УзнаÑÑ Ð¾ командаÑ
createdb и dropdb болÑÑе можно в ÑпÑавке createdb и dropdb.
[1] ÐбÑÑÑниÑÑ ÑÑо поведение можно Ñак: УÑÑÑнÑе запиÑи полÑзоваÑелей Postgres Pro оÑлиÑаÑÑÑÑ Ð¾Ñ ÑÑÑÑнÑÑ
запиÑей опеÑаÑионной ÑиÑÑемÑ. ÐÑи подклÑÑении к базе даннÑÑ
Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑказаÑÑ, Ñ ÐºÐ°ÐºÐ¸Ð¼ именем полÑзоваÑÐµÐ»Ñ Postgres Pro нÑжно подклÑÑаÑÑÑÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¶Ðµ иÑполÑзÑеÑÑÑ Ð¸Ð¼Ñ, Ñ ÐºÐ¾ÑоÑÑм Ð²Ñ Ð·Ð°ÑегиÑÑÑиÑÐ¾Ð²Ð°Ð½Ñ Ð² опеÑаÑионной ÑиÑÑеме. ÐÑи ÑÑом полÑÑаеÑÑÑ, ÑÑо в Postgres Pro вÑегда еÑÑÑ ÑÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, ÑовпадаÑÑим Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑиÑÑемного полÑзоваÑелÑ, запÑÑкаÑÑего ÑеÑвеÑ, и к ÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÑÐ¾Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð²Ñегда Ð¸Ð¼ÐµÐµÑ Ð¿Ñава на Ñоздание баз даннÑÑ
. Ð ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑÑого полÑзоваÑÐµÐ»Ñ Postgres Pro, необÑзаÑелÑно вÑ
одиÑÑ Ñ ÑÑим именем в ÑиÑÑемÑ, доÑÑаÑоÑно везде пеÑедаваÑÑ ÐµÐ³Ð¾ Ñ Ð¿Ð°ÑамеÑÑом -U.