Úvod
PostgreSQL je pokročilý systém správy databází s otevřeným zdrojovým kódem, který podporuje relační (SQL) a nerelační (JSON) dotazování.
V PostgreSQL je kladen důraz především na rozšiřitelnost a soulad s SQL při zachování ACID vlastnosti (Atomicity, Consistency, Isolation, Durability) v transakcích.
V tomto tutoriálu se naučíte, jak vytvořit databázi v PostgreSQL pomocí tří různých metod.

Předpoklady
- Nainstalován a nastaven PostgreSQL
- Administrátorská práva
Vytvořte databázi v PostgreSQL pomocí pgAdmin
Chcete-li vytvořit databázi pomocí pgAdmin, postupujte takto:
Krok 1 :Otevřete pgAdmin a zadejte své heslo pro připojení k databázovému serveru.

Krok 2 :V části prohlížeče rozbalte Servery a poté PostgreSQL položky. Klikněte pravým tlačítkem na Databáze položka. Klikněte na Vytvořit a Databáze…

Krok 3 :Zobrazí se nové okno, ve kterém musíte zadat název databáze, v případě potřeby přidat komentář a kliknout na Uložit .

Databáze se objeví v Databázích strom objektů.
Pravá část okna pgAdmin obsahuje záložky, které zobrazují statistiky databáze, příkazy SQL použité k vytvoření databáze, případné závislosti atd.
Vytvořte databázi v PostgreSQL pomocí CREATE DATABASE
Další metodou k vytvoření databáze PostrgreSQL je použití CREATE DATABASE příkaz.
Chcete-li vytvořit databázi, postupujte takto:
Krok 1 :Otevřete SQL Shell (psql) aplikace.

Krok 2 :Připojte se k serveru DB stisknutím ENTER čtyřikrát. Pokud budete požádáni, zadejte své hlavní heslo. Pokud jste heslo nenastavili, stiskněte ENTER znovu pro připojení.

Krok 3 :K vytvoření nové databáze použijte následující syntaxi:
CREATE DATABASE [database_name]
Místo [database_name]
, zadejte název databáze. Ujistěte se, že jste zadali jedinečný název, protože použití existujícího názvu databáze vede k chybě.
Například:

Vytvoření databáze bez zadání jakýchkoli parametrů převezme parametry z výchozí databáze šablon. Podívejte se na dostupné parametry v další části.
Krok 4 :Pro výpis všech databází v PostgreSQL použijte následující příkaz:
\l

Výstup zobrazuje seznam dostupných databází a jejich charakteristiky.
VYTVOŘIT parametry DATABÁZE
Dostupné parametry pro vytvoření databáze jsou:
[OWNER = role_name]
OWNER
parametr přiřazuje roli vlastníka databáze. Vynechání OWNER
parametr znamená, že vlastníkem databáze je role použitá ke spuštění CREATE DATABASE
prohlášení.
[TEMPLATE = template]
TEMPLATE
Parametr umožňuje zadat šablonu databáze, ze které se má vytvořit nová databáze. Vynechání TEMPLATE
sady parametrů šablona1 jako výchozí databázi šablon.
[ENCODING = encoding]
ENCODING
Parametr určuje kódování znakové sady v nové databázi.
[LC_COLLATE = collate]
LC_COLLATE
parametr určuje pořadí řazení nové databáze. Tento parametr řídí pořadí řazení řetězců v ORDER BY
doložka. Efekt je viditelný při použití národního prostředí, které obsahuje speciální znaky .
Vynechání LC_COLLATE
parametr přebírá nastavení z databáze šablon.
[LC_CTYPE = ctype]
LC_CTYPE
parametr určuje klasifikaci znaků použitou v nové databázi. Klasifikace znaků zahrnuje malá, velká písmena a číslice. Vynechání LC_CTYPE
přebírá výchozí nastavení z databáze šablon.
[TABLESPACE = tablespace_name]
Použijte TABLESPACE
parametr k určení názvu tabulkového prostoru pro novou databázi. Vynechání TABLESPACE
parametr přebírá název tabulkového prostoru databáze šablony.
[ALLOW_CONNECTIONS = true | false]
ALLOW_CONNECTIONS
parametr může být TRUE
nebo FALSE
. Zadání hodnoty jako FALSE
vám brání v připojení k databázi.
[CONNECTION LIMIT = max_concurrent_connections]
CONNECTION LIMIT
parametr umožňuje nastavit maximální počet současných připojení k databázi PostgreSQL. Výchozí hodnota je -1
, což znamená neomezená připojení.
[IS_TEMPLATE = true | false ]
Nastavte IS_TEMPLATE
parametr na TRUE
nebo FALSE
. Nastavení IS_TEMPLATE
na TRUE
umožňuje každému uživateli s CREATEDB
oprávnění klonovat databázi. V opačném případě mohou databázi klonovat pouze superuživatelé nebo vlastník databáze.
Chcete-li vytvořit databázi s parametry, přidejte klíčové slovo WITH
za CREATE DATABASE
a poté vypište požadované parametry.
Například:

Tento příklad ukazuje, jak nastavit novou databázi tak, aby používala kódování znaků UTF-8 a podporovala maximálně 200 souběžných připojení.
Vytvořte databázi v PostgreSQL pomocí příkazu createdb
createdb
příkaz je třetí metodou pro vytvoření databáze v PostgreSQL. Jediný rozdíl mezi createdb
a CREATE DATABASE
příkaz je, že uživatelé spouštějí createdb
přímo z příkazového řádku a přidat komentář do databáze najednou.
Chcete-li vytvořit databázi pomocí createdb
použijte následující syntaxi:
createdb [argument] [database_name [comment]]
Parametry jsou popsány v následující části.
parametry vytvořené
createdb
parametry syntaxe jsou:
Parametr | Popis |
---|---|
[argument] | Argumenty příkazového řádku, které createdb přijímá. Diskutováno v další části. |
[database_name] | Nastavte název databáze místo database_name parametr. |
[comment] | Volitelný komentář, který bude spojen s novou databází. |
createdb Argumenty příkazového řádku
Dostupné createdb
argumenty jsou:
Argument | Popis |
---|---|
-D | Určuje název tabulkového prostoru pro novou databázi. |
-e | Zobrazuje příkazy, které createdb odešle na server. |
-E | Určuje, které kódování znaků se má v databázi použít. |
-l | Určuje, které národní prostředí se má v databázi použít. |
-T | Určuje, která databáze se má použít jako šablona pro novou databázi. |
--help | Zobrazit stránku nápovědy o createdb argumenty příkazového řádku. |
-h | Zobrazuje název hostitele počítače, na kterém běží server. |
-p | Nastavuje port TCP nebo příponu souboru soketu místní domény Unix, který server používá k naslouchání připojení. |
-U | Určuje, které uživatelské jméno se má použít pro připojení. |
-w | Pokyny createdb nikdy nevydávat výzvu k zadání hesla. |
-W | Pokyny createdb k vydání výzvy k zadání hesla před připojením k databázi. |
Například:

Zde jsme vytvořili databázi s názvem moje databáze pomocí výchozího administrátora postgres . Použili jsme phoenixnap databázi jako šablonu a instruoval program, aby nepožadoval heslo.
Createdb Command Common Errors
Při používání createdb mohou uživatelé narazit na některé běžné chyby příkaz.
Viz createdb
seznam chyb níže:
Chyba | Popis |
---|---|
createdb příkaz nenalezen. | Nastane, když PostgreSQL nebyl správně nainstalován. Spusťte createdb z instalační cesty PostgreSQL nebo přidejte psql.exe cestu k sekci systémových proměnných v rozšířeném nastavení PC. |
Žádný takový soubor nebo adresář Je server spuštěn lokálně a přijímá připojení na soketu domény Unix ...? | Nastane, když PostgreSQL server nebyl správně spuštěn nebo není aktuálně spuštěn. |
Závažné:role "uživatelské jméno" neexistuje. | Nastane, když uživatelé spustí initdb s rolí bez oprávnění superuživatele. Chcete-li chybu opravit, vytvořte nového uživatele Postgres s --superuser nebo se přihlaste k výchozí roli správce, postgres . |
Vytvoření databáze se nezdařilo:CHYBA:oprávnění k vytvoření databáze odepřeno. | Zobrazí se při pokusu o vytvoření databáze pomocí účtu, který nemá potřebná oprávnění. Chcete-li chybu opravit, udělte příslušné roli oprávnění superuživatele. |