PostgreSQL

Časté dotazy k PostgreSQL

Časté dotazy k PostgreSQL
Podle každoročního průzkumu vývojářů společnosti StackOverflow do roku 2020 je PostgreSQL druhým nejpopulárnějším dostupným systémem pro správu databází, a to není bez dobrého důvodu. Od svého počátečního vydání v roce 1996 se PostgreSQL nebo Postgres značně zlepšil a přidal několik užitečných funkcí, včetně uživatelsky definovaných typů, dědičnosti tabulek, řízení více verzí souběžnosti a dalších.

PostgreSQL je také velmi lehký, snadno nastavitelný a lze jej nainstalovat na několik platforem, jako jsou kontejnery, virtuální počítače nebo fyzické systémy. Kromě svého výchozího grafického uživatelského rozhraní, pgAdmin, Postgres podporuje také více než 50 dalších IDE, z nichž třetina je zdarma k použití. Tento článek se bude zabývat některými z nejčastěji kladených otázek (FAQ) o PostgreSQL.

Je PostgreSQL zdarma?

PostgreSQL je bezplatný produkt, který byl vydán pod licencí PostgreSQL schválenou OSI. To znamená, že za používání PostgreSQL se nevyžaduje žádný poplatek, a to ani pro komerční účely, ačkoli existují některá rozšíření a služby třetích stran, které vyžadují předplatné nebo jednorázový poplatek.

Je PostgreSQL otevřený zdroj?

Ano, PostgreSQL je open-source. PostgreSQL začínal jako projekt University of Berkeley v roce 1986 a pro veřejnost byl vydán 8. července 1996 jako bezplatný a otevřený systém správy relačních databází.

PostgreSQL rozlišuje velká a malá písmena?

PostgreSQL ve výchozím nastavení rozlišuje velká a malá písmena, ale v určitých situacích může být rozlišována malá a velká písmena. Například při vytváření tabulky v PostgreSQL se názvy sloupců a tabulek automaticky převedou na malá písmena, aby se nerozlišovala malá a velká písmena. Totéž se děje i pro dotazy; tímto způsobem se shodují s již převedenými názvy sloupců a tabulek.

Upozorňujeme, že pokud použijete uvozovky pro název sloupce nebo tabulky, například „Částka“, nedojde k převodu. Ve svých dotazech také budete muset použít uvozovky, abyste zabránili PostgreSQL v převádění dotazů na malá písmena. V hodnotách sloupců můžete také rozlišovat velká a malá písmena pomocí klíčového slova specifického pro PostgreSQL CITEXT při vytváření sloupců. Toto klíčové slovo také umožňuje sloupec deklarovaný jako UNIKÁTNÍ nebo PRIMÁRNÍ KLÍČ nerozlišovat velká a malá písmena.

Je PostgreSQL relační?

PostgreSQL byl původně navržen jako systém správy relačních databází. Od té doby se rozrostla daleko za svůj původní design, protože PostgreSQL nyní podporuje některé funkce NoSQL, jako je ukládání a načítání dat v JSON (JSONB) a páry klíč – hodnota (HSTORE). Na rozdíl od mnoha databází pouze pro NoSQL jsou funkce NoSQL PostgreSQL kompatibilní s ACID a lze je propojit s SQL, jako jakýkoli jiný datový typ podporovaný PostgreSQL.

Proč bych měl používat PostgreSQL?

Než si vyberete systém správy databáze pro tento produkt, musíte pochopit potřeby svého produktu. Tato volba obvykle závisí na tom, zda použít relační databázi DBMS nebo NoSQL. Pokud máte co do činění se strukturovanými a předvídatelnými daty se statickým počtem uživatelů nebo aplikací přistupujících k systému, zvažte použití relační databáze, například PostgreSQL.

Kromě výběru PostgreSQL, protože se jedná o RDBMS, existuje několik dalších funkcí tohoto systému pro správu databází, díky nimž je jedním z nejpopulárnějších systémů, které jsou dnes k dispozici. Mezi tyto funkce patří:

A ještě mnohem víc. Úplný seznam funkcí, které nabízí PostgreSQL, můžete vidět zde.

PostgreSQL vs MySQL: Je PostgreSQL lepší než MySQL?

MySQL je dnes nejpopulárnější systém pro správu databází. Je lehký, snadno srozumitelný a nastavitelný a velmi rychlý, zejména při práci s vysoce souběžnými funkcemi jen pro čtení. Snadné použití MySQL usnadňuje hledání správců databází pro tento systém správy databází.

MySQL však postrádá několik funkcí, které přicházejí s databázemi PostgreSQL. Za prvé, PostgreSQL není jen systém pro správu relačních databází, je to také systém pro správu objektově-relačních databází. To znamená, že PostgreSQL podporuje jedinečné funkce, jako je dědičnost tabulek a přetížení funkcí.

Lepší výkon při řešení složitých dotazů při velkém zatížení. Při práci s operacemi jen pro čtení se však zpomalí.

PostgreSQL má také k dispozici širší škálu datových typů a umožňuje vám vytvářet vlastní datové typy pro vaši databázi. Snad jeho největší výhodou oproti MySQL je rozšiřitelnost PostgreSQL. Můžete si vytvořit rozšíření PostgreSQL, aby vyhovovaly vašemu případu použití.

PostgreSQL je z větší části lepší DBMS než MySQL. Ale nakonec to všechno závisí na vašem případu použití. Pokud vytváříte jednoduchý web nebo webovou aplikaci a potřebujete pouze ukládat data, je lepší použít MySQL. Ale pokud máte co do činění se složitějšími velkoobjemovými operacemi, zvažte přechod na PostgreSQL.

PostgreSQL vs MongoDB: Je PostgreSQL lepší než MongoDB?

Srovnání mezi PostgreSQL a MongoDB je jednoduše srovnání mezi systémy pro správu relačních databází a databázemi NoSQL. A odpověď, která je lepší, závisí na vašem případu použití; jak chcete používat a strukturovat svá data. Každý DBMS obsahuje vlastnosti, které jsou užitečné v různých situacích.

Pokud vytváříte aplikaci s nepředvídatelnou a dynamickou datovou strukturou, budete chtít použít databázi NoSQL, jako je MongoDB. Systémy pro správu databází NoSQL jsou známé svými schématy bez databází, což znamená, že při vytváření není nutné definovat strukturu databáze. Díky tomu jsou databáze NoSQL velmi flexibilní a snadno škálovatelné.

PostgreSQL je vhodnější, pokud pracujete s daty s pevnou statickou strukturou, která se mění jen zřídka. PostgreSQL má také výhodu SQL, mocného a dobře zavedeného dotazovacího jazyka. Systémy pro správu relačních databází jsou vhodnější pro aplikace, které vyžadují referenční integritu, jako jsou aplikace Fintech.

V posledních letech oba typy DBMS přijímají klíčové funkce od druhého. Například, jak je vysvětleno výše, PostgreSQL podporuje páry klíč – hodnota a datové typy JSON, klíčové vlastnosti systémů pro správu databází NoSQL (DBMS). MongoDB nyní tvrdí, že je kompatibilní s ACID, což je klíčová vlastnost systémů pro správu relačních databází (RBDMS).

Ani jedna funkce však nefunguje jako v původním typu DBMS, který ji podporuje. Například podle tohoto článku má MongoDB stále několik problémů s dodržováním ACID. I když PostgreSQL podporuje datové typy JSON a páry klíč – hodnota, tento systém není bez schémat. Po vytvoření jste stále povinni deklarovat strukturu.

PostgreSQL: Jak se připojit k databázovému serveru

Před připojením k databázi se ujistěte, že jste si stáhli a nainstalovali PostgreSQL do svého operačního systému. Dále spusťte psql aplikace. Tím se otevře vyhrazený program rozhraní příkazového řádku pro propojení s databázovým serverem PostgreSQL.

Po spuštění serveru budete vyzváni k postupnému vyplnění následujících polí: server, databáze, port, uživatelské jméno a heslo. Výchozí možnosti, které byly nastaveny při instalaci PostgreSQL, můžete ponechat stiskem klávesy Enter pro každý dotaz.

Když se dostanete do pole pro zadání hesla, zadejte heslo, které jste nastavili během instalace pro uživatele „postgres“. Jakmile to provedete a vaše identita bude úspěšně ověřena, budete připojeni k databázovému serveru.

Dalším způsobem, jak se připojit k databázi, je použití pgAdmin. pgAdmin je GUI PostgreSQL pro propojení s jeho databázovými servery. Použít pgAdmin, spusťte aplikaci. To by mělo otevřít webovou aplikaci ve vašem prohlížeči. Klikněte pravým tlačítkem myši Servery v levém horním rohu webové aplikace, poté najeďte myší Vytvořit a vyberte Server… z nabídky, která se objeví.

Můžete také kliknout Přidat nový server pod Rychlé odkazy. Bez ohledu na to, jakou možnost vyberete, mělo by se nyní zobrazit dialogové okno vyžadující nějaké informace.

Zadejte název serveru a přejděte na Spojení záložka. Pod Spojení karta, zadejte „localhost“ jako svůj Jméno / adresa hostitele, poté zadejte postgres heslo uživatele, které bylo nastaveno během instalace. Klepněte na Uložit pro uložení serveru. Dialogové okno se zavře a budete automaticky připojeni k databázovému serveru.

Kde jsou uloženy databáze PostgreSQL?

Ve výchozím nastavení jsou databáze PostgreSQL uloženy v data složky, ale umístění této složky se liší podle operačního systému. V systému Windows jej obvykle najdete v některém z následujících umístění: C: \ Program Files (x86) \ PostgreSQL \\data nebo C: \ Program Files \ PostgreSQL \\data.

Pokud jste na počítači Mac nainstalovali PostgreSQL přes homebrew, najdete jej v / usr / local / var / postgres / data. Jinak bude umístěn v / Library / PostgreSQL //data.

U Linuxu se umístění liší podle příchuti Linuxu. Někdy se nachází v / usr / local / pgsql / data nebo / var / lib / postgresql / [verze] / data.

Chcete-li přesněji určit umístění databází, zadejte do pole následující příkaz psql:

ZOBRAZIT datový adresář;

PostgreSQL: Jak spustit databázový server

Spuštění serveru PostgreSQL se pro každý operační systém mírně liší. Chcete-li spustit server v systému Windows, nejprve vyhledejte adresář databáze. To je obvykle něco jako „C: \ Program Files \ PostgreSQL \ 10.4 \ data.„Zkopírujte cestu k adresáři, protože ji budete za chvíli potřebovat. Poté spusťte Příkazový řádek a spusťte následující příkaz.

pg_ctl -D "C: \ Program Files \ PostgreSQL \ 13 \ data" start

Cesta by měla být cesta k adresáři databáze, kterou jste zkopírovali. Chcete-li server zastavit, jednoduše ve výše uvedeném příkazu nahraďte „start“ slovem „stop“. Můžete jej také restartovat nahrazením slova „start with“ restart.

Při pokusu o spuštění tohoto příkazu se může zobrazit následující chyba: „Pg_ctl není rozpoznán jako interní nebo externí příkaz. Chcete-li tento problém vyřešit, přidejte „C: \ Program Files \ PostgreSQL \ 9.5 \ bin "a" C: \ Program Files \ PostgreSQL \ 9.5 \ lib “do proměnné prostředí PATH vašeho systému.

Pokud jste v systému macOS nainstalovali PostgreSQL s homebrew, použijte následující příkazy:

Chcete-li databázový server spustit ručně, spusťte následující příkaz:

pg_ctl -D / usr / local / var / postgres start

Ujistěte se, že cesta k adresáři odpovídá vaší databázi.

Chcete-li nyní spustit databázový server a znovu se spustit při přihlášení, spusťte následující příkaz:

brew services start postgresql

Chcete-li zastavit server pro oba scénáře, jednoduše nahraďte „start“ slovem „stop.“

V systému Linux musíte před spuštěním databázového serveru nejprve nastavit heslo pro server postgres uživatel. Při instalaci není ve výchozím nastavení nastaveno žádné heslo. Heslo můžete nastavit pomocí následujícího příkazu:

sudo -u postgres psql -c "ZMĚNIT UŽIVATELE postgres HESLO 'postgres';"

Vaše heslo může být samozřejmě cokoli, co si vyberete. Jakmile je heslo nastaveno, pro spuštění serveru zadejte do terminálu následující příkaz:

sudo služba postgresql start

Chcete-li server zastavit, nahraďte „start“ v příkazu „stop“, stejně jako u Windows a macOS.

PostgreSQL: Jak vytvořit databázi

Chcete-li vytvořit databázi, ujistěte se, že jste již připojeni k databázovému serveru. Postupujte podle výše uvedených pokynů. Pokud jste se k serveru připojili pomocí psql, zadejte následující příkaz k vytvoření databáze:

VYTVOŘIT DATABÁZE new_database;

Chcete-li se připojit k nedávno vytvořené databázi, zadejte následující příkaz:

\ c nová_databáze

Nyní byste k tomu měli být připojeni.

Pokud jste se k serveru připojili přes pgAdmin, klikněte ve webové aplikaci pravým tlačítkem na Databáze, vznášet se nad Vytvořit, a vyberte Databáze…

Mělo by se zobrazit dialogové okno požadující určité podrobnosti k vytvoření databáze. K vytvoření databáze budete muset zadat alespoň název databáze. Do pole zadejte název Databáze pole a klikněte na Uložit. Nyní byste měli vidět svou nedávno vytvořenou databázi pod Databáze.

Kde jsou protokoly PostgreSQL?

Standardně jsou protokoly PostgreSQL uloženy v log složka pod data složka, výchozí umístění pro databáze PostgreSQL. Chcete-li to potvrdit, spusťte následující příkaz v psql:

ZOBRAZIT log_directory;

Tento příkaz zobrazí pouze relativní cestu, ale cesta by měla být umístěna v souboru data složku.

Má PostgreSQL uložené procedury?

Ačkoli PostgreSQL vždy podporoval funkce definované uživatelem, bylo to až v jeho verzi 11.0 vydání, které zahrnovalo podporu pro uložené procedury. Chcete-li vytvořit uloženou proceduru v PostgreSQL, použijte VYTVOŘIT POSTUP prohlášení. Chcete-li provést uloženou proceduru, použijte VOLÁNÍ prohlášení.

Závěr

PostgreSQL zaznamenává aktivní vývoj již více než 30 let, protože byl vytvořen v 80. letech. Během této doby PostgreSQL významně dospěl a podle průzkumu StackOverflow pro rok 2020 pro vývojáře je v současné době druhým nejpopulárnějším systémem správy databází na světě.

Dva hlavní důvody popularity PostgreSQL jsou jeho rozšiřitelnost a nesčetné množství užitečných funkcí, které mají uživatelé k dispozici. Pokud pro svůj projekt vybíráte DBMS a rozhodli jste se, že upřednostňujete RDBMS před databází NoSQL, bude PostgreSQL vynikající volbou pro vaši aplikaci.

Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...
Emulace kliknutí myší vznášením pomocí myši Clickless Mouse ve Windows 10
Používání myši nebo klávesnice ve špatném držení těla nadměrného používání může mít za následek mnoho zdravotních problémů, včetně napětí, syndromu ka...
Přidejte gesta myši do Windows 10 pomocí těchto bezplatných nástrojů
V posledních letech se počítače a operační systémy značně vyvinuly. Bývaly doby, kdy uživatelé museli procházet správci souborů pomocí příkazů. Stejně...