CREATE DATABASE
CREATE DATABASE â ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
СинÑакÑиÑ
CREATE DATABASEимÑ[ WITH ] [ OWNER [=]имÑ_полÑзоваÑелÑ] [ TEMPLATE [=]Ñаблон] [ ENCODING [=]кодиÑовка] [ STRATEGY [=]ÑÑÑаÑегиÑ] [ LOCALE [=]локалÑ] [ LC_COLLATE [=]каÑегоÑиÑ_ÑоÑÑиÑовки] [ LC_CTYPE [=]каÑегоÑиÑ_Ñипов_Ñимволов] [ BUILTIN_LOCALE [=]локалÑ_builtin] [ ICU_LOCALE [=]локалÑ_icu] [ ICU_RULES [=]пÑавила_icu] [ LOCALE_PROVIDER [=]пÑовайдеÑ_локали] [ COLLATION_VERSION =веÑÑиÑ_пÑавил_ÑоÑÑиÑовки] [ TABLESPACE [=]Ñабл_пÑоÑÑÑанÑÑво] [ ALLOW_CONNECTIONS [=]ÑазÑ_подклÑÑениÑ] [ CONNECTION LIMIT [=]пÑедел_подклÑÑений] [ IS_TEMPLATE [=]ÑÑо_Ñаблон] [ OID [=]oid]
ÐпиÑание
Ðоманда CREATE DATABASE ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
Postgres Pro.
ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, необÑ
одимо бÑÑÑ ÑÑпеÑполÑзоваÑелем или имеÑÑ ÑпеÑиалÑное пÑаво CREATEDB. См. CREATE ROLE.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ
ÑоздаÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñованием ÑÑандаÑÑной ÑиÑÑемной Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
template1. ÐадаÑÑ Ð´ÑÑгой Ñаблон можно, добавив Ñказание TEMPLATE . Ð ÑаÑÑноÑÑи, напиÑав имÑTEMPLATE template0, можно ÑоздаÑÑ ÑиÑÑÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
(в коÑоÑой никакиÑ
полÑзоваÑелÑÑкиÑ
обÑекÑов неÑ, еÑÑÑ ÑолÑко ÑиÑÑемнÑе обÑекÑÑ Ð² пеÑвозданном виде), ÑодеÑжаÑÑÑ ÑолÑко ÑÑандаÑÑнÑе обÑекÑÑ, пÑедопÑеделÑннÑе ÑÑÑановленной веÑÑией Postgres Pro. ÐÑо бÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾, когда копиÑоваÑÑ Ð² новÑÑ Ð±Ð°Ð·Ñ Ð»ÑбÑе дополниÑелÑнÑе обÑекÑÑ, добавленнÑе локалÑно в template1, нежелаÑелÑно.
ÐаÑамеÑÑÑ
имÑ#ÐÐ¼Ñ Ñоздаваемой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
имÑ_полÑзоваÑелÑ#ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ (Ñоли), назнаÑаемого владелÑÑем новой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , либо
DEFAULT, ÑÑÐ¾Ð±Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑем ÑÑал полÑзоваÑÐµÐ»Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (а именно, полÑзоваÑелÑ, вÑполнÑÑÑий командÑ). ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ ÑделаÑÑ ÐµÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑем дÑÑгÑÑ ÑолÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ имеÑÑ Ð¿ÑавоSET ROLEÐ´Ð»Ñ ÑÑой Ñоли.Ñаблон#ÐÐ¼Ñ Ñаблона, из коÑоÑого бÑÐ´ÐµÑ ÑоздаваÑÑÑÑ Ð½Ð¾Ð²Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ , либо
DEFAULT, ÑÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ Ñаблон по ÑмолÑÐ°Ð½Ð¸Ñ (template1).кодиÑовка#ÐодиÑовка Ñимволов в новой базе даннÑÑ . УкажиÑе ÑÑÑоковÑÑ ÐºÐ¾Ð½ÑÑанÑÑ (напÑимеÑ,
'SQL_ASCII') или ÑелоÑиÑленнÑй Ð½Ð¾Ð¼ÐµÑ ÐºÐ¾Ð´Ð¸Ñовки, либоDEFAULT, ÑÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (а именно, кодиÑÐ¾Ð²ÐºÑ Ñаблона). ÐабоÑÑ Ñимволов, коÑоÑÑе поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Postgres Pro, пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² ÐодÑазделе 22.3.1. ÐополниÑелÑнÑе огÑаниÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ.ÑÑÑаÑегиÑ#СÑÑаÑегиÑ, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñи Ñоздании новой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑли иÑполÑзÑеÑÑÑ ÑÑÑаÑегиÑ
WAL_LOG, база даннÑÑ Ð±ÑÐ´ÐµÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑÑÑ Ð±Ð»Ð¾Ðº за блоком и каждÑй блок бÑÐ´ÐµÑ Ð¾ÑделÑно запиÑан в жÑÑнал пÑедзапиÑи. ÐÑа ÑÑÑаÑÐµÐ³Ð¸Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ ÑÑÑекÑивна в ÑлÑÑаÑÑ , когда ÑÐ°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑого ÑазмеÑа, поÑÑÐ¾Ð¼Ñ ÑÐ°ÐºÐ°Ñ ÑÑÑаÑÐµÐ³Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ. Также доÑÑÑпна ÑÑаÑÐ°Ñ ÑÑÑаÑегиÑFILE_COPY. ÐÑли вÑбÑана ÑÑа ÑÑÑаÑегиÑ, делаеÑÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð² жÑÑнал пÑедзапиÑи Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑаблиÑного пÑоÑÑÑанÑÑва, иÑполÑзÑемого Ñелевой базой даннÑÑ . ÐÐ°Ð¶Ð´Ð°Ñ ÑÐ°ÐºÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑ ÑвлÑеÑÑÑ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ вÑего каÑалога в дÑÑгом меÑÑе на ÑÑовне Ñайловой ÑиÑÑемÑ. ХоÑÑ ÑÐ°ÐºÐ°Ñ ÑÑÑаÑÐµÐ³Ð¸Ñ ÑÑÑеÑÑвенно ÑменÑÑÐ°ÐµÑ Ð¾Ð±ÑÑм жÑÑнала ÑпÑеждаÑÑей запиÑи, оÑобенно еÑли ÑÐ°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ Ð±Ð¾Ð»ÑÑого ÑазмеÑа, она ÑÑебÑÐµÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоÑедÑÑÑ ÐºÐ¾Ð½ÑÑолÑной ÑоÑки как до, Ñак и поÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . РнекоÑоÑÑÑ ÑиÑÑаÑиÑÑ ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑ Ð·Ð°Ð¼ÐµÑное негаÑивное влиÑние на обÑÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ ÑиÑÑемÑ.локалÑ#ÐадаÑÑ Ð¿Ð¾ÑÑдок ÑоÑÑиÑовки по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ оÑобенноÑÑи клаÑÑиÑикаÑии Ñимволов Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑавила ÑоÑÑиÑовки опÑеделÑÑÑ Ð¿Ð¾ÑÑдок ÑоÑÑиÑовки ÑÑÑок, напÑÐ¸Ð¼ÐµÑ Ð² запÑоÑÐ°Ñ Ñ
ORDER BY, а Ñакже поÑÑдок индекÑов по ÑекÑÑовÑм ÑÑолбÑам. ÐлаÑÑиÑикаÑÐ¸Ñ Ñимволов опÑеделÑÐµÑ Ð¿ÑинадлежноÑÑÑ Ñимволов каÑегоÑиÑм, напÑÐ¸Ð¼ÐµÑ ÑÑÑоÑнÑе, заглавнÑе и ÑиÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ñакже ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑооÑвеÑÑÑвÑÑÑие пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ ÐС,LC_COLLATEиLC_CTYPE. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð·Ð½Ð°Ñение из Ñаблона. ÐодÑобное опиÑание пÑедÑÑавлено в ÐодÑазделе 22.2.2.3.1 и ÐодÑазделе 22.2.2.3.2.ÐаÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ пеÑеопÑеделиÑÑ, задав один из ÑледÑÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов:
каÑегоÑиÑ_ÑоÑÑиÑовки,каÑегоÑиÑ_Ñипов_Ñимволов,локалÑ_builtinилилокалÑ_icu.ÐÑи знаÑении
builtinÑпÑовайдеÑ_Ð»Ð¾ÐºÐ°Ð»Ð¸Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказаÑÑлокалÑилилокалÑ_builtinи задаÑÑ Ð´Ð»Ñ Ð½Ð¸Ñ Ð·Ð½Ð°ÑениеCилиC.UTF-8.ÐодÑказка
ÐÑÑгие паÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ lc_messages, lc_monetary, lc_numeric и lc_time задаÑÑÑÑ Ð½Ðµ на ÑÑовне Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ ÑÑой командой не ÑÑÑанавливаÑÑÑÑ. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑеÑной базÑ, воÑполÑзÑйÑеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
ALTER DATABASE ... SET.каÑегоÑиÑ_ÑоÑÑиÑовки#УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð½Ð°Ñение
LC_COLLATEв окÑÑжении ÐС ÑеÑвеÑа баз даннÑÑ . Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð·Ð½Ð°ÑениелокалÑ(еÑли оно Ñказано), в пÑоÑивном ÑлÑÑае â знаÑение из Ñаблона. ÐополниÑелÑнÑе огÑаниÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ.ÐÑли длÑ
пÑовайдеÑ_локализадано знаÑениеlibc, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ñакже задаÑÑ Ð¿Ð¾ÑÑдок ÑоÑÑиÑовки по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , пеÑеопÑеделÑÑ Ð·Ð½Ð°ÑениелокалÑ.каÑегоÑиÑ_Ñипов_Ñимволов#УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð½Ð°Ñение
LC_CTYPEв окÑÑжении ÐС ÑеÑвеÑа баз даннÑÑ . Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð·Ð½Ð°ÑениелокалÑ(еÑли оно Ñказано), в пÑоÑивном ÑлÑÑае â знаÑение из Ñаблона. ÐополниÑелÑнÑе огÑаниÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ.ÐÑли длÑ
пÑовайдеÑ_локализадано знаÑениеlibc, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ñакже задаÑÑ ÐºÐ»Ð°ÑÑиÑикаÑÐ¸Ñ Ñимволов по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , пеÑеопÑеделÑÑ Ð·Ð½Ð°ÑениелокалÑ.локалÑ_builtin#ÐадаÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¿ÑовайдеÑа
builtinÐ´Ð»Ñ ÑÑÑановки поÑÑдка ÑоÑÑиÑовки по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ оÑобенноÑÑей клаÑÑиÑикаÑии Ñимволов, пеÑеопÑеделÑÑ Ð·Ð½Ð°ÑениелокалÑ. ÐÑи ÑÑом должно бÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð¾ знаÑениеbuiltinÐ´Ð»Ñ Ð¿ÑовайдеÑа локалей. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð·Ð½Ð°Ñение излокалÑ(еÑли оно Ñказано), в пÑоÑивном ÑлÑÑае â знаÑение из базÑ-Ñаблона.Ðокали, доÑÑÑпнÑе Ð´Ð»Ñ Ð¿ÑовайдеÑа
builtin:CиC.UTF-8.локалÑ_icu#ÐадаÑÑ Ð»Ð¾ÐºÐ°Ð»Ñ ICU (Ñм. ÐодÑаздел 22.2.2.3.2) Ð´Ð»Ñ ÑÑÑановки поÑÑдка ÑоÑÑиÑовки по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ оÑобенноÑÑей клаÑÑиÑикаÑии Ñимволов, пеÑеопÑеделÑÑ Ð·Ð½Ð°Ñение
локалÑ. ÐÑи ÑÑом должен бÑÑÑ Ð·Ð°Ð´Ð°Ð½ пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÐµÐ¹ ICU. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑалокалÑ, еÑли оно Ñказано, в пÑоÑивном ÑлÑÑае â знаÑение паÑамеÑÑалокалÑиз базÑ-Ñаблона, еÑли оно Ñказано. ÐÑли же и оно не Ñказано â знаÑение lc_collate.пÑавила_icu#УказÑÐ²Ð°ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе пÑавила Ð´Ð»Ñ Ð½Ð°ÑÑÑойки Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑоÑÑиÑовки по ÑмолÑаниÑ. ÐаÑамеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко Ð´Ð»Ñ ICU. Ðа дополниÑелÑной инÑоÑмаÑией обÑаÑиÑеÑÑ Ðº https://unicode-org.github.io/icu/userguide/collation/customization/.
пÑовайдеÑ_локали#ÐадаÑÑ Ð¿ÑовайдеÑа, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¾Ñновного пÑавила ÑоÑÑиÑовки в ÑÑой базе даннÑÑ . ÐозможнÑе знаÑениÑ:
builtin,icu(еÑли ÑеÑÐ²ÐµÑ ÑобÑан Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой ICU) илиlibc. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑбиÑаеÑÑÑ Ð¿ÑовайдеÑ, ÑказаннÑй вÑаблон. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 22.1.4.веÑÑиÑ_пÑавил_ÑоÑÑиÑовки#ÐадаÑÑ ÑÑÑÐ¾ÐºÑ Ð²ÐµÑÑии пÑавила ÑоÑÑиÑовки, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸Ñана Ñ Ð¾Ð±ÑекÑом Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐбÑÑно ÐµÑ Ð½Ðµ ÑледÑÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ â Ñогда ÑÑа ÑÑÑока бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑена из ÑакÑиÑеÑкой веÑÑии пÑавила ÑоÑÑиÑовки ÐÐ, пÑедоÑÑавлÑемого опеÑаÑионной ÑиÑÑемой. ÐÑо Ñказание пÑедназнаÑено Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑÑилиÑа
pg_upgradeмогла ÑкопиÑоваÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¸Ð· ÑÑÑеÑÑвÑÑÑей инÑÑаллÑÑии.ЧÑо делаÑÑ Ð² ÑлÑÑае неÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð²ÐµÑÑий пÑавил ÑоÑÑиÑовки, опиÑано в ALTER DATABASE.
Ñабл_пÑоÑÑÑанÑÑво#ÐÐ¼Ñ ÑаблиÑного пÑоÑÑÑанÑÑва, ÑвÑзÑваемого Ñ Ð½Ð¾Ð²Ð¾Ð¹ базой даннÑÑ , или
DEFAULTÐ´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑаблиÑного пÑоÑÑÑанÑÑва Ñаблона. ÐÑо ÑаблиÑное пÑоÑÑÑанÑÑво бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑекÑов, ÑоздаваемÑÑ Ð² ÑÑой базе. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº CREATE TABLESPACE.ÑазÑ_подклÑÑениÑ#ÐÑли false, никÑо не ÑÐ¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ðº ÑÑой базе даннÑÑ . Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение true, Ñо еÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿ÑинимаÑÑÑÑ (еÑли не огÑаниÑиваÑÑÑÑ Ð´ÑÑгими Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð°Ð¼Ð¸, напÑимеÑ,
GRANT/REVOKE CONNECT).пÑедел_подклÑÑений#ÐакÑималÑное колиÑеÑÑво одновÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений к ÑÑой базе даннÑÑ . ÐнаÑение -1 (по ÑмолÑаниÑ) ÑÐ½Ð¸Ð¼Ð°ÐµÑ Ð¾Ð³ÑаниÑение.
ÑÑо_Ñаблон#ÐÑли true, Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÐ¼Ð¾Ð¶ÐµÑ ÐºÐ»Ð¾Ð½Ð¸ÑоваÑÑ Ð»Ñбой полÑзоваÑÐµÐ»Ñ Ñ Ð¿Ñавами
CREATEDB; в пÑоÑивном ÑлÑÑае (по ÑмолÑаниÑ), клониÑоваÑÑ ÑÑÑ Ð±Ð°Ð·Ñ ÑмогÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели и ÐµÑ Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ.oid#ÐденÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа, коÑоÑÑй бÑÐ´ÐµÑ Ð½Ð°Ð·Ð½Ð°Ñен новой базе даннÑÑ . ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ Ñказан, Postgres Pro авÑомаÑиÑеÑки вÑбеÑÐµÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑий OID. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð² пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð¿ÑедназнаÑен Ð´Ð»Ñ Ð²Ð½ÑÑÑеннего иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² pg_upgrade, и ÑолÑко pg_upgrade Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑ Ð·Ð½Ð°Ñение менÑÑе 16384.
ÐополниÑелÑнÑе паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² лÑбом поÑÑдке, не обÑзаÑелÑно Ñак, как показано вÑÑе.
ÐÑимеÑаниÑ
CREATE DATABASE нелÑÐ·Ñ Ð²ÑполнÑÑÑ Ð²Ð½ÑÑÑи блока ÑÑанзакÑии.
ÐÑибки, ÑодеÑжаÑие ÑообÑение «не ÑдалоÑÑ Ð¸Ð½Ð¸ÑиализиÑоваÑÑ ÐºÐ°Ñалог Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Â», ÑаÑе вÑего ÑвÑÐ·Ð°Ð½Ñ Ñ Ð½ÐµÑ Ð²Ð°Ñкой пÑав в каÑалоге даннÑÑ , заполнением диÑка или дÑÑгими пÑоблемами в Ñайловой ÑиÑÑеме.
ÐÐ»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
пÑименÑеÑÑÑ DROP DATABASE.
ÐÑогÑамма createdb пÑедÑÑавлÑÐµÑ Ñобой оболоÑÐºÑ ÑÑой командÑ, ÑозданнÑÑ Ñади ÑдобÑÑва.
ÐонÑигÑÑаÑионнÑе паÑамеÑÑÑ ÑÑÐ¾Ð²Ð½Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
(ÑÑÑанавливаемÑе командой ALTER DATABASE) и ÑазÑеÑÐµÐ½Ð¸Ñ ÑÑÐ¾Ð²Ð½Ñ Ð±Ð°Ð·Ñ (ÑÑÑанавливаемÑе командой GRANT) из Ñаблона не копиÑÑÑÑÑÑ.
ХоÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑой ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑкопиÑоваÑÑ Ð»ÑбÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, а не ÑолÑко template1, Ñказав ÐµÑ Ð¸Ð¼Ñ Ð² каÑеÑÑве имени Ñаблона, она не пÑедназнаÑена (пока) Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² каÑеÑÑве ÑнивеÑÑалÑного ÑÑедÑÑва вÑоде «COPY DATABASE». ÐÑинÑипиалÑнÑм огÑаниÑением ÑвлÑеÑÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
Ñаблона, еÑли ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð´ÑÑгие подклÑÑÐµÐ½Ð¸Ñ Ðº ней. CREATE DATABASE вÑдаÑÑ Ð¾ÑибкÑ, еÑли пÑи запÑÑке ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÐµÑÑÑ Ð´ÑÑгие подклÑÑÐµÐ½Ð¸Ñ Ðº ÑÑой базе; в пÑоÑивном ÑлÑÑае новÑе подклÑÑÐµÐ½Ð¸Ñ Ðº базе блокиÑÑÑÑÑÑ Ð´Ð¾ завеÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE DATABASE. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 21.3.
ÐодиÑовка Ñимволов, ÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, должна бÑÑÑ ÑовмеÑÑима Ñ Ð²ÑбÑаннÑми паÑамеÑÑами локали (LC_COLLATE и LC_CTYPE). ÐÑли вÑбÑана Ð»Ð¾ÐºÐ°Ð»Ñ C (или ÑавнознаÑÐ½Ð°Ñ ÐµÐ¹ POSIX), допÑÑкаÑÑÑÑ Ð²Ñе кодиÑовки, но Ð´Ð»Ñ Ð´ÑÑгиÑ
локалей пÑавилÑно бÑÐ´ÐµÑ ÑабоÑаÑÑ ÑолÑко одна кодиÑовка. (Ð Windows, однако, кодиÑÐ¾Ð²ÐºÑ UTF-8 можно иÑполÑзоваÑÑ Ñ Ð»Ñбой локалÑÑ.) CREATE DATABASE позволÑÐµÑ ÑÑпеÑполÑзоваÑелÑм ÑказаÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ SQL_ASCII вне завиÑимоÑÑи Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸, но ÑÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ ÑÑиÑаеÑÑÑ ÑÑÑаÑевÑим и Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к оÑибоÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÑÑоковÑÑ
ÑÑнкÑий, еÑли в базе Ñ
ÑанÑÑÑÑ Ð´Ð°Ð½Ð½Ñе в кодиÑовке, неÑовмеÑÑимой Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ локалÑÑ.
ÐаÑамеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸ и кодиÑовка Ð´Ð¾Ð»Ð¶Ð½Ñ ÑооÑвеÑÑÑвоваÑÑ Ñем, ÑÑо ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð² Ñаблоне, еÑли ÑолÑко ÑÑо не template0. ÐÑо огÑаниÑение обÑÑÑнÑеÑÑÑ Ñем, ÑÑо дÑÑгие Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
могÑÑ ÑодеÑжаÑÑ Ð´Ð°Ð½Ð½Ñе в кодиÑовке, оÑлиÑной Ð¾Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹, или индекÑÑ, поÑÑдок ÑоÑÑиÑовки коÑоÑÑÑ
опÑеделÑÑÑÑÑ Ð¿Ð°ÑамеÑÑами LC_COLLATE и LC_CTYPE. ÐÑи копиÑовании ÑакиÑ
даннÑÑ
полÑÑиÑÑÑ Ð±Ð°Ð·Ð°, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¸ÑпоÑÑенной ÑоглаÑно новÑм паÑамеÑÑам локали. Ðднако template0 опÑеделÑнно не ÑодеÑÐ¶Ð¸Ñ ÐºÐ°ÐºÐ¸Ðµ-либо даннÑе или индекÑÑ, завиÑÑÑие Ð¾Ñ ÐºÐ¾Ð´Ð¸Ñовки или локали.
РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¸ÑполÑзоваÑÑ Ð´Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
Ð»Ð¾ÐºÐ°Ð»Ñ Ñ Ð½ÐµÐ´ÐµÑеÑминиÑованнÑми ÑÑавнениÑми нелÑÐ·Ñ (обÑÑÑнение ÑÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в опиÑании CREATE COLLATION). ÐÑли нÑÐ¶Ð½Ñ Ñакие ÑÑавнениÑ, ÑÑебÑемÑе пÑавила ÑоÑÑиÑовки ÑледÑÐµÑ ÑÑÑанавливаÑÑ Ð½Ð° ÑÑовне ÑÑолбÑов.
ÐгÑаниÑение CONNECTION LIMIT дейÑÑвÑÐµÑ ÑолÑко пÑиблизиÑелÑно; еÑли одновÑеменно запÑÑкаÑÑÑÑ Ð´Ð²Ð° ÑеанÑа, Ñогда как в базе оÑÑаÑÑÑÑ ÑолÑко одно «Ñвободное меÑÑо», Ð¼Ð¾Ð¶ÐµÑ Ñак ÑлÑÑиÑÑÑÑ, ÑÑо бÑдÑÑ Ð¾ÑÐºÐ»Ð¾Ð½ÐµÐ½Ñ Ð¾Ð±Ð° подклÑÑениÑ. ÐÑоме Ñого, ÑÑо огÑаниÑение не ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° ÑÑпеÑполÑзоваÑелей и ÑоновÑе ÑабоÑие пÑоÑеÑÑÑ.
ÐÑимеÑÑ
Создание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ :
CREATE DATABASE lusiadas;
Создание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
sales, пÑинадлежаÑей полÑзоваÑÐµÐ»Ñ salesapp, Ñ ÑаблиÑнÑм пÑоÑÑÑанÑÑвом по ÑмолÑÐ°Ð½Ð¸Ñ salesspace:
CREATE DATABASE sales OWNER salesapp TABLESPACE salesspace;
Создание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
music Ñ Ð´ÑÑгой локалÑÑ:
CREATE DATABASE music
LOCALE 'sv_SE.utf8'
TEMPLATE template0; Ð ÑÑом пÑимеÑе пÑедложение TEMPLATE template0 необÑ
одимо, ÑолÑко еÑли ÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð»Ð¾ÐºÐ°Ð»Ñ Ð¾ÑлиÑаеÑÑÑ Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ в template1. (РпÑоÑивном ÑлÑÑае Ñвное Ñказание локали ÑвлÑеÑÑÑ Ð¸Ð·Ð±ÑÑоÑнÑм.)
Создание Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
music2 Ñ Ð´ÑÑгой локалÑÑ Ð¸ дÑÑгой кодиÑовкой Ñимволов:
CREATE DATABASE music2
LOCALE 'sv_SE.iso885915'
ENCODING LATIN9
TEMPLATE template0;СвойÑÑва кодиÑовки Ð´Ð¾Ð»Ð¶Ð½Ñ ÑооÑвеÑÑÑвоваÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸, инаÑе Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÐµÑ Ð¾Ñибка.
ÐамеÑÑÑе, ÑÑо имена локалей завиÑÑÑ Ð¾Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑемÑ, Ñак ÑÑо показаннÑе вÑÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð³ÑÑ Ð½Ðµ везде ÑабоÑаÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾.
СовмеÑÑимоÑÑÑ
ÐпеÑаÑÐ¾Ñ CREATE DATABASE оÑÑÑÑÑÑвÑÐµÑ Ð² ÑÑандаÑÑе SQL. ÐÐ°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
ÑавнознаÑÐ½Ñ ÐºÐ°Ñалогам, а иÑ
Ñоздание в ÑÑандаÑÑе опÑеделÑеÑÑÑ ÑеализаÑией.