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ří:
- Podpora různých datových typů, jako jsou JSON / JSONB, XML, páry klíč – hodnota (HSTORE), bod, čára, kruh a mnohoúhelník. Můžete také vytvořit vlastní datové typy.
- Zahraniční datové obaly, které umožňují připojení k jiným databázím nebo streamům, jako jsou Neo4j, CouchDB, Cassandra, Oracle a další, se standardním rozhraním SQL.
- Schopnost vytvářet vlastní funkce.
- Procedurální jazyky, jako jsou PL / PGSQL, Perl, Python a další.
- Přístup k mnoha rozšířením, která poskytují další funkce, například PostGIS.
- Řízení více verzí souběžnosti.
- Vícefaktorové ověřování s certifikáty a další metodou.
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 \
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 /
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" startCesta 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 startUjistě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 postgresqlChcete-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 startChcete-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ázeNyní 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.