PostgreSQL

databázový systém

PostgreSQL, často jednoduše Postgres, je svobodný a otevřený objektově-relační databázový systém.[5] Na jeho vývoji se podílí globální komunita vývojářů a firem, stejně jako v případě mnoha dalších otevřených programů, jelikož PostgreSQL není vlastněn jedinou firmou.

PostgreSQL
Logo
VývojářPostgreSQL Global Development Group
První vydání8. července 1996[1]
Aktuální verze17.2 (21. listopadu 2024)
Operační systémmultiplatformní, GNU/Linux a další UN*Xy (macOS, rodina BSD, AIX, Solaris atd.), MS Windows
Vyvíjeno vC
Typ softwaruRDBMS, ORDBMS
LicencePostgreSQL licence[2][3][4]
Webpostgresql.org
Český webpostgres.cz/PostgreSQL
Některá data mohou pocházet z datové položky.

Funkce PostgreSQL zahrnují databázové transakce s atomicitou, konzistencí, izolovaností a trvalostí (ACID), automaticky aktualizovatelné pohledy, materializované pohledy, triggery, cizí klíče a uložené procedury.[6] Je navržen pro zpracování celé řady vytížení, od jednotlivých strojů po datové sklady nebo webové služby s mnoha souběžnými uživateli.

PostgreSQL je primárně vyvíjen pro Linux, dále je dostupný pro macOS server, FreeBSD, OpenBSD a Microsoft Windows a je vydáván pod licencí MIT.

Název produktu

editovat

Velká a malá písmena v názvu PostgreSQL může při prvním setkání mnoho lidí mást, k čemuž může ještě přispět několik způsobů vyslovování slova „SQL“. Zkráceně se používá forma „Postgres“, tedy původní jméno. Vzhledem k všeobecné podpoře SQL standardu ve většině relačních databází, komunita uvažovala nad změnou jména zpět na Postgres. Avšak v roce 2007 PostgreSQL Core Team oznámil, že se produkt i nadále bude nazývat PostgreSQL.[7] Název odkazuje na začátky projektu jako „post-Ingres“ (po Ingres) databáze, protože původní autoři vyvíjeli také databázi Ingres.

Historie

editovat

PostgreSQL se vyvinul z projektu Ingres na Kalifornské univerzitě v Berkeley. V roce 1982 opustil Michael Stonebraker, vedoucí projektu, univerzitu v Berkeley, aby vytvořil proprietární verzi Ingres. V roce 1985 se do Berkeley vrátil a začal pracovat na post-Ingres projektu s cílem vyřešit problémy tehdejších databázových systémů, které se začaly projevovat na začátku osmdesátých let. Cílem nového projektu nazvaného Postgres byla implementace vlastností, potřebných pro kompletní podporu typů. Mezi tyto vlastnosti patřila schopnost definovat nové typy a plně popsat vztahy – což již bylo dříve široce používáno, ale implementace byla plně ponechána na uživateli. V Postgresu databáze „rozuměla“ vztahům a mohla přirozeným způsobem načítat informace ze souvisejících tabulek pomocí „pravidel“. Postgres stavěl na mnoha myšlenkách Ingresu, ne však na jeho kódu.

Od roku 1986 publikoval vývojářský tým mnoho článků popisujících základy systému a v roce 1988 měl připravený prototyp. V červnu 1989 uvolnil pro několik uživatelů verzi 1 a v červnu 1990 verzi 2 s přepsaným systémem pravidel. Verze 3, vydaná v roce 1991, opět obsahovala přepsaný systém rules a přidávala podporu pro více „správců úložišť“ a vylepšený dotazovací stroj (engine). Od roku 1993 začalo velké množství uživatelů zahlcovat projekt požadavky na podporu a vlastnosti. Po vydání verze 4, jejímž cílem byl zejména úklid, projekt skončil.

Vývojáři otevřeného software mohli ovšem získat kopii a dále systém vyvíjet, protože Berkeley uvolnil Postgres pod MIT licencí. V roce 1995 dva absolventi Berkeley, Andrew Yu a Jolly Chen, nahradili interpretr dotazovacího jazyka QUEL, pocházející z Ingresu, interpretrem jazyka SQL, díky čemuž vznikl Postgres95. Kód byl zveřejněn na webu.

V roce 1996 poskytl Marc Fournier z Hub.Org Networking Services první neuniverzitní vývojový server pro vývoj svobodného software. Ve spolupráci s Brucem Momjianem a Vadimem B. Mikheevem začaly práce na stabilizaci kódu získaného z Berkeley. První svobodná verze byla vydána 1. srpna 1996.

V roce 1996 byl projekt přejmenován na PostgreSQL, v reakci na podporu SQL. Prvním vydáním PostgreSQL se stala verze 6.0 v lednu 1997. Od té doby je software udržován skupinou databázových vývojářů a dobrovolníků z celého světa, koordinující se pomocí internetu.

Ačkoliv licence umožňovala proprietární řešení postavená na Postgresu, kód se zprvu v proprietární oblasti nerozvíjel – což je poněkud překvapivé, uvážíme-li výhody, které Postgres nabízel. Hlavní odnož vznikla, když Paula Hawthorn (členka původního Ingres týmu, která se přesunula z Ingresu) a Michael Stonebraker založili firmu Illustra Information Technologies s cílem vytvoření proprietárního produktu, založeného na Postgresu.

V roce 2000 založili původní investoři Red Hat společnost Great Bridge s cílem postavit nad PostgreSQL proprietární produkt a soutěžit s ostatními dodavateli proprietárních databázových řešení. Firma Great Bridge sponzorovala několik PostgreSQL vývojářů a věnovala komunitě mnoho zdrojů,[8] ale koncem roku 2001 ukončila svou činnost kvůli tvrdé konkurenci a nepříznivým podmínkám na trhu.[9]

V roce 2001 vydala společnost Command Prompt, Inc. proprietární produkt Mammoth PostgreSQL, založený na PostgreSQL. V roce 2008 tato firma uvolnila zdrojové kódy pod původní licencí. Command Prompt, Inc. pokračuje v aktivní podpoře PostgreSQL komunity prostřednictvím sponzoringu vývojářů a projektů, mezi které patří PL/Perl, PL/php a hosting komunitních projektů, jako je PostgreSQL Build Farm.

V lednu 2005 obdržel PostgreSQL podporu od databázového dodavatele Pervasive Software, známého svým produktem Btrieve, který byl hojně rozšířený na platformě Novell NetWare. Pervasive oznámil komerční podporu a účast v komunitě; dosáhl určitých úspěchů. V červnu 2006 Pervasive opustil trh s podporou projektu PostgreSQL.[10]

V polovině roku 2005 zveřejnily dvě další společnosti plány na vytvoření proprietárních produktů, založených na PostgreSQL a zaměřených na různé oblasti. EnterpriseDB přidala vlastnosti které umožňují aplikacím napsaným pro databázi Oracle snadné fungování s PostgreSQL. Greenplum přispěl vylepšeními směřujícími na datový sklad a systémem pro podporu rozhodování, včetně projektu BizGres.

V říjnu 2005 John Loiacono, výkonný viceprezident pro software v Sun Microsystems, prohlásil: „We're not going to OEM Microsoft but we are looking at PostgreSQL right now“ (Nechceme jít cestou OEM produktů od Microsoftu, ale aktuálně zkoumáme PostgreSQL),[11][nedostupný zdroj] ačkoliv v té době nebyly zveřejněny žádné detaily. V listopadu 2005 Sun oznámil podporu pro PostgreSQL.[12] Od června 2006 zahrnoval operační systém Solaris 10 (vydání 6/06) PostgreSQL.

V srpnu 2007 společnost EnterpriseDB oznámila[13] dostupnost Postgres Resource Center [1] a EnterpriseDB Postgres, což je plnohodnotná distribuce PostgreSQL, zahrnující mnoho contrib modulů a doplňkových komponent. EnterpriseDB Postgres se v březnu 2008 přejmenoval na Postgres Plus. Ten je dostupný ve dvou verzích: Postgres Plus Standard Server, který má všechny vlastnosti PostgreSQL, je dodatečně QA testován, obsahuje integrované komponenty, možnosti ladění a jednoduchou instalaci, a Postgres Plus Advanced Server, který kromě vlastností produktu Postgres Standard Server navíc disponuje i kompatibilitou s Oracle, vlastnostmi pro zlepšení škálovatelnosti a nástroji pro DBA a vývojáře. Obě verze jsou dostupné zdarma a jsou plně podporovány.

PostgreSQL každoročně uvolňuje „hlavní“ vydání a kromě nich také „vedlejší“ verze, jejichž cílem je primárně oprava chyb. Všechny verze jsou dostupné pod stejnou licencí a jsou založeny na příspěvcích od soukromých firem, firem poskytujících podporu a vývojářů otevřeného software.

Vlastnosti

editovat

Funkce umožňují spouštění bloků kódu na serveru. Tyto bloky mohou být sice implementovány v jazyce SQL, ale absence základních programovacích operací, jako jsou například větvení a smyčky, před verzí 8.4 byla důvodem podpory dalších jazyků ve funkcích. Některé jazyky lze dokonce používat v triggerech. Funkce mohou být v PostgreSQL implementovány v následujících jazycích:

PostgreSQL podporuje funkce vracející řádky, kde výstup funkce je množina hodnot se kterou lze v dotazech pracovat jako s tabulkou. Lze definovat také vlastní agregační a window funkce.

Funkce lze definovat tak aby se spouštěly buď s právy volajícího nebo toho kdo funkci definoval. Funkce se někdy označují také jako uložené procedury, ačkoliv jsou mezi nimi určité technické rozdíly.

PostgreSQL obsahuje zabudovanou podporu pro B strom, hašovací tabulky, GiST a GiN indexy. K tomu lze navíc doplnit uživatelské typy indexů, ačkoliv to je poněkud komplikovaný proces. Indexy v PostgreSQL podporují také následující vlastnosti:

  • Indexy nad výrazy označují indexy vytvořené nad výsledky výrazů a funkcí, namísto přímo nad hodnotami sloupců
  • Částečné indexy označující indexy vytvořené pouze nad částí tabulky, lze vytvořit přidáním WHERE klauzule na konec příkazu CREATE INDEX. To umožňuje vytvoření menších indexů.
  • Plánovač je schopen při vyhodnocování dotazů použít několik indexů najednou, a to pomocí využití dočasných bitmap index operací v paměti.

Triggery

editovat

Triggery jsou události spouštěné akcemi ze SQL DML příkazů. Například INSERT příkaz může spustit triggery kontrolující zda hodnoty zadané v příkazů jsou platné. Většina triggerů je spouštěna příkazy INSERT nebo UPDATE.

Triggery jsou plně podporovány a mohou být definovány na tabulkách ale ne na pohledech. Na pohledech lze však definovat pravidla (rules). Pokud je na tabulce definováno několik triggerů, jsou spouštěny v abecedním pořadí. Navíc k volání funkcí psaných přímo v PL/PgSQL, triggery mohou volat také funkce psané dalších jazycích jako je například PL/Perl.

PostgreSQL řeší současný přístup prostřednictvím systému známého jako Multi-Version Concurrency Control (MVCC), který každému uživateli zpřístupňuje „snapshots“ databáze, a umožňuje provádět změny, aniž by je ostatní uživatelé před potvrzením transakce viděli. To do velké míry eliminuje potřebu zamykání, a zajišťuje, že databáze efektivně splňuje ACID principy.

Pravidla

editovat

Pravidla umožňují přepisování „hledacích stromu“ zpracovávaného dotazu. Jedno z běžných použití je implementace pohledů, a to včetně aktualizovatelných. Pravidla, nebo přesněji pravidla pro přepis dotazů jsou přichyceny k tabulce/třídě a „přepisují“ příchozí DML (select, insert, update a/nebo delete) na jeden nebo více dotazů které buď nahrazují původní DML příkaz nebo se spouští společně s ním. K přepisu DML příkazů dochází po parsování, a to před plánováním.

Datové typy

editovat

Podporována je široká škála nativních datových typů, mezi jinými:

K tomu si ještě uživatelé mohou definovat vlastní datové typy které lze většinou plně indexovat pomocí PostgreSQL GiST infrastruktury. Mezi příklady takových datových typů patří datové typy z geografických informačních systémů (GIS) pro PostgreSQL.

Uživatelem definované objekty

editovat

Vytvořit lze nové typy téměř všech objektů v databázi, mezi které patří:

Dědičnost

editovat

Tabulky mohou být vytvořeny tak, že dědí vlastnosti z „rodičovské“ tabulky. Data z podřízených tabulek se budou jevit jako kdyby existovala v rodičovských tabulkách, pokud nejsou data z rodičovské tabulky načítána s využitím klíčového slova ONLY, tj. select * from ONLY PARENT_TABLE. Doplnění sloupce do rodičovské tabulky způsobí že se objeví i v podřízených tabulkách.

Dědičnost lze použít k implementaci partitioningu tabulek, a to buď pomocí triggerů nebo pravidel, nebo pomocí insertů přímo do příslušné podřízené tabulky.

Tato vlastnost není zatím plně podporována – zejména platí, že ne všechna omezení (constraints) se dědí. Od verze 8.4 platí, že všechna CHECK a NOT NULL omezení se dědí z rodičovské tabulky na tabulky podřízené. Další typy omezení (unikátnost, primární a cizí klíč) se stále nedědí.

Dědičnost poskytuje způsob jak mapovat vlastnosti ze zobecněné hierarchie zachycené v Entity Relationship Diagramech (ERD) přímo do PostgreSQL databáze.

Další vlastnosti

editovat
  • Referenční integrita zahrnující cizí klíče, omezení jednotlivých hodnot v tabulkách, a kontroly celých řádek
  • Pohledy. Ačkoliv pohledy jsou standardně neaktualizovatelné, lze to zajistit pomocí insert, update a/nebo delete přepisovacích pravidel na příslušném pohledu.
  • Inner, outer (full, left a right), a cross joiny
  • Sub-selecty
    • Korelované sub-dotazy[14]
  • Transakce
  • Podporuje většinu hlavních vlastností standardu SQL:2008[15]
  • Šifrovaná spojení prostřednictvím SSL
  • Ukládání velkých binárních a textových objektů
  • Domény
  • Tablespaces
  • Savepointy
  • Online backup – zálohování za plného provozu databáze
  • Point-in-time recovery – obnovení databáze ze zálohy do přesně určeného okamžiku v čase
  • Dvoufázový commit – schopnost korektního fungování v rámci distribuované transakce
  • TOAST (The Oversized-Attribute Storage Technique) se používá pro transparentní ukládání velkých atributů v tabulce (jako jsou například MIME přílohy nebo XML dokumenty) do samostatné oblasti, a to s využitím automatické komprese.[16]
  • WAL – Write Ahead Logging, transakční log[17]
  • OID – object identification (způsob jednoznačného globálního očíslování objektů v databázi)[18]
  • Regulární výrazy[19]
  • Common Table Expressions – definice poddotazů jako dočasných tabulek, umožňující věci v obyčejném SQL nemožné[20]
  • Analytické funkce – umožňují obdobné operace jako agregační funkce, nevyžadují ale seskupení řádek do skupin pomocí klíčového slova GROUP BY[21]
  • Embedded SQL je implementováno pomocí preprocessoru. SQL kód je nejdříve zapsán do C zdrojových kódů, a tyto zdrojové kódy jsou následně zpracovány ECPG preprocessorem, který nahradí SQL dotazy voláním knihovny, a kód je poté zkompilován C překladačem. Vkládání funguje také s C , ale nerozpoznává všechny C konstrukce.
  • maximální velikost tabulky: 32 TiB
  • maximální velikost řádku: 400 GiB
  • maximální velikost položky: 1 GiB
  • maximální počet sloupců v tabulce: 250–1 600 (v závislosti na verzi a typu)

Poznámka: platí při použití techniky TOAST.[22]

Doplňky

editovat
  • Performance wizard – zahrnuto ve všech Postgres balíčcích dostupných ke stažení z EnterpriseDB. Zdrojové kódy jsou také dostupné.
  • MySQL migration wizard – zahrnuto ve všech Postgres balíčcích dostupných ke stažení z EnterpriseDB.
  • Geographic objekty pomocí projektu PostGIS. GPL.
  • Shortest-Path-Algorithmy pomocí pgRouting projektu PostGIS. GPL.
  • Fulltextové vyhledávání pomocí projektů Tsearch2 a OpenFTS. (Od verze 8.3 je projekt Tsearch2 zahrnut v PostgreSQL)
  • Existuje několik synchronních multi-master derivátů nebo rozšíření, včetně
  • Několik balíčků pro asynchronní master/slave replikaci, zahrnující například
  • Existují proxy (middleware) nástroje umožňující replikaci, failover (zotavení z chyb) nebo správu a vyvažování zátěže pro PostgreSQL:
    • PGPool-II.
    • Sequoia, což je nástroj dostupný pro mnoho dalších serverů kromě PostgreSQL.

Rozhraní pro správu databáze

editovat

Otevřený formát

editovat

Primární front-end pro PostgreSQL je nástroj psql určený pro příkazovou řádku, který může být použit pro přímé zadávání SQL dotazů, nebo jejich spouštění ze souboru. Kromě toho psql poskytuje mnoho meta-příkazů a různých vlastností připomínajících shell pro zjednodušení psaní skriptů a automatizaci mnoha činností; například automatické doplňování jmen objektů a SQL syntaxe.

pgAdmin

editovat

pgAdmin je free a open source grafické administrační rozhraní pro PostgreSQL, podporovaný na většině populárních platforem. Program je dostupný pro více než tucet jazyků. První prototyp, nazvaný pgManager, byl napsán pro PostgreSQL 6.3.2 v roce 1998, a po několika měsících přepsán a vydán pod GPL licencí jako pgAdmin. Druhá inkarnace (nazvaná pgAdmin II) byla opět kompletním přepsáním, a byla vydána 16. ledna 2002. Aktuální verze je pgAdmin III, původně vydaná pod Artistic License a nyní je vydávána pod stejnou licencí jako PostgreSQL. Na rozdíl od předchozích verzí, psaných v jazyce Visual Basic, je pgAdmin III napsán v C pomocí frameworku wxWidgets pro běh pod nejběžnějšími operačními systémy.

phpPgAdmin

editovat

phpPgAdmin je web-based administrační nástroj pro PostgreSQL napsaný v PHP, založený na populárním rozhraní phpMyAdmin napsaném pro administraci MySQL.[24]

Proprietární

editovat

Mnoho společností nabízí proprietární nástroje pro PostgreSQL. Často se jedná o univerzální jádro adaptované pro různé databázové produkty. Tyto nástroje většinou sdílí administrační vlastnosti s open source nástroji, ale nabízí vylepšení v datovém modelování, importování, exportování a generování reportů.

Benchmarky

editovat

Bylo provedeno mnoho neformálních analýz výkonu PostgreSQL,[25] ale první standardní ověřený (peer-validated) byl dokončen v červnu 2007 s využitím Sun Java System Application Serveru (proprietární verze GlassFish) 9.0 Platform Edition, serveru Sun Fire postaveném na UltraSPARC T1 a Postgres 8.2.[26] Tento výsledek 778,14 SPECjAppServer2004 JOPS@Standard velmi dobře snese srovnání s výsledkem 874 JOPS@Standard databáze Oracle 10 na HP-UX systému poháněném Itanii.[25]

V srpnu 2007, Sun zaslal vylepšené skóre benchmarku 813,73 SPECjAppServer2004 JOPS@Standard. S testovaným systémem za sníženou cenu, se poměr cena/výkon zlepšil z $US 84,98/JOPS na $US 70,57/JOPS.[27]

Prominentní uživatelé

editovat
  • Yahoo! pro analýzu chování uživatelů na webu, obsahuje dva petabyty a předpokládá se, že se jedná o největší datový sklad (data warehouse [ˈdeitə ˈweəˌhaus]) postavený na silně modifikované verzi PostgreSQL se zcela odlišným storage enginem založeným na sloupcích (column-based storage engine) a jiné vrstvě pro zpracování dotazů. Ačkoliv co se týká výkonu, způsobu ukládání dat a způsobu vyhodnocování dotazů toto řešení PostgreSQL podobá jen minimálně, kompatibilita z vnějšku je zachována, takže Yahoo může použít mnoho existujících nástrojů napsaných pro práci s PostgreSQL.[28][29]
  • MySpace, populární sociální síť, používá Aster nCluster Database pro data warehousing, který je postavený na nemodifikované verzi PostgreSQL.[30][31][nedostupný zdroj]
  • OpenStreetMap, projekt pro společné vytváření volné editovatelné mapy světa.[32]
  • Afilias, doménový registr pro .org, .info a další.[33]
  • Sony Online multiplayer online hry.[34]
  • BASF, nákupní platforma pro jejich zemědělský portál.[35]
  • hi5.com, sociální síť.[36]
  • Skype VoIP aplikace, centrální obchodní databáze.[37][nedostupný zdroj]
  • Sun xVM, nástroj firmy Sun pro automatizaci virtualizace a datacenter.[38][nedostupný zdroj]
  • Evergreen, otevřený integrovaný knihovní systém poskytující Online Public Access Catalog a katalogizaci, správu a další funkce pro stovky knihoven ve Spojených státech, Kanadě a jinde.
  • MusicBrainz, otevřená online hudební encyklopedie.
  • Aradiom, společnost poskytující multiplatformní (cross-platform [ˌkros ˈplætfoːm]) mobilní aplikace.

Do roku 2008 PostgreSQL obdržel následující ceny:[39]

  • 1999 LinuxWorld Editor's Choice Award for Best Database
  • 2000 Linux Journal Editors' Choice Awards for Best Database
  • 2002 Linux New Media Editors Choice Award for Best Database
  • 2003 Linux Journal Editors' Choice Awards for Best Database
  • 2004 Linux New Media Award For Best Database
  • 2004 Linux Journal Editors' Choice Awards for Best Database
  • 2004 ArsTechnica Best Server Application Award
  • 2005 Linux Journal Editors' Choice Awards for Best Database
  • 2006 Linux Journal Editors' Choice Awards for Best Database
  • 2008 Developer.com Product of the Year, Database Tool

Reference

editovat
  1. PostgreSQL: Happy Birthday, PostgreSQL! [online]. About. The PostgreSQL Global Development Group, 2008-07-08 [cit. 2017-12-14]. This post has been migrated from a previous version of the PostgreSQL website. Dostupné online. (anglicky) 
  2. NELSON, Russ. [email protected]: 968: Re: PostgreSQL licence - status? [online]. Potsdam, New York: The PostgreSQL Global Development Group, 2010-02-18 [cit. 2017-12-20]. Dostupné v archivu pořízeném dne 2016-08-08. (anglicky) 
  3. Open Source Initiative. The PostgreSQL Licence (PostgreSQL) [online]. 2010-02-20 [cit. 2017-12-20]. Dostupné online. (anglicky) 
  4. PostgreSQL: License [online]. The PostgreSQL Global Development Group [cit. 2017-12-20]. Dostupné online. (anglicky) 
  5. PostgreSQL: Documentation: 10: 1. What is PostgreSQL? [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. Dostupné online. (anglicky) 
  6. PostgreSQL: Documentation: 12: 1.  What Is PostgreSQL?. www.postgresql.org [online]. [cit. 2020-05-25]. Dostupné online. 
  7. Project name - statement from the core team [online]. The PostgreSQL Global Development Group, 2007-11-16 [cit. 2007-11-16]. Dostupné online. (anglicky) 
  8. Maya Tamiya. LWN Interview: Bruce Momjian [online]. Eklektix, Inc., 2001-01-10 [cit. 2017-12-20]. LWN.net. Dostupné online. (anglicky) 
  9. archive.today. Great Bridge Ceases Operations; Open Source Pioneer Closes After Failing to Identify a Qualified Investor or Acquirer [online]. Business Wire. Norfolk: Business Wire/Gale Group, 2001-09-06 [cit. 2018-07-28]. Datum archivace: 29. květen 2012. Dostupné v archivu pořízeném z originálu dne 2012-05-29. (anglicky) 
  10. Wayback Machine. Open letter to the PostgreSQL Community [online]. Pervasive Software Inc., 2006-07-25 [cit. 2018-07-28]. Archivovaná stránka. Dostupné v archivu pořízeném z originálu. (anglicky) 
  11. GEDDA, Rodney. Sun's software chief eyes databases, groupware. Computerworld [online]. IDG Communications, Inc, 2005-10-05 [cit. 2010-04-03]. Dostupné v archivu pořízeném dne 2008-12-08. (anglicky) 
  12. LWN.net. Sun Announces Support for Postgres Database on Solaris 10 [online]. Eklektix, Inc., 2005-11-17 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  13. DANELLA, Christian. EnterpriseDB announces first-ever professional-grade PostgreSQL distribution for Linux [online]. Press Releases. San Francisco: EnterpriseDB Corporation, 2007-08-07 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  14. THAI, Thomas T. PostgreSQL: Introduction and Concepts by Bruce Momjian [online]. The PostgreSQL Global Development Group, 2001-01-24 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  15. Appendix D. SQL Conformance [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. (PostgreSQL 8.4 manual). Dostupné online. (anglicky) 
  16. 53.2. TOAST [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. Dostupné online. (anglicky) 
  17. 30.2. Write-Ahead Logging (WAL) [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. Dostupné online. (anglicky) 
  18. 8.16. Object Identifier Types [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. Dostupné online. (anglicky) 
  19. Stack Overflow. PostgreSQL Regular Expression - Excluding strings with numbers [online]. Stack Exchange Inc, 2014-04 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  20. 7.8. WITH Queries (Common Table Expressions) [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. Dostupné online. (anglicky) 
  21. 3.5. Window Functions [online]. The PostgreSQL Global Development Group [cit. 2018-07-28]. Dostupné online. (anglicky) 
  22. STĚHULE, Pavel. Slovník [online]. Rev. 2014-03-16 [cit. 2018-07-28]. Heslo TOAST. Dostupné online. 
  23. DRAKE, Joshua D. R.I.P. PostgreSQL (Mammoth) Replicator [online]. Blog. Command Prompt, Inc., 2010-12-10 [cit. 2018-07-28]. Stránka nástroje Mammoth replicator firmy Command prompt uvádí dostupnost jako „open source“. Dostupné online. (anglicky) 
  24. SourceForge. What is phpPgAdmin? [online]. Rev. 2013-04-15 [cit. 2018-07-28]. Dostupné v archivu pořízeném dne 2012-01-01. (anglicky) 
  25. a b Toolbox. PostgreSQL publishes first real benchmark [online]. Tech. Ziff Davis, LLC, 2007 [cit. 2018-07-28]. Dostupné online. (anglicky) [nedostupný zdroj]
  26. SPECjAppServer®2004 Result [online]. SPEC.org, 2007-07-07 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  27. SPECjAppServer®2004 Result [online]. SPEC.org, 2007-07-18 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  28. LAI, Eric. Size matters: Yahoo claims 2-petabyte database is world's biggest, busiest. Business Intelligence. Computerworld [online]. IDG Communications, Inc., 22. květen 2008 [cit. 2018-07-28]. Dostupné online. (anglicky) 
  29. CLABURN, Thomas. Yahoo Claims Record With Petabyte Database. S. 1, 2. News. Informationweek [online]. UBM, 20. květen 2008 [cit. 2018-07-28]. S. 1, 2. Dostupné online. (anglicky) 
  30. PGCon 2009. Building PetaByte Warehouses with Unmodified PostgreSQL [online]. The PostgreSQL Conference. 2009-05-21 [cit. 2018-07-28]. Obsahuje přílohu (PDF). Dostupné online. (anglicky) 
  31. MySpace.com scales analytics for all their friends [PDF online]. Case study. [cit. 2010-04-03]. Dostupné v archivu pořízeném dne 2013-09-15. 
  32. OpenStreetMap Wiki. Database [online]. Rev. 2017-03-17 [cit. 2018-07-29]. Dostupné online. (anglicky) 
  33. CAMERON, Nadia. PostgreSQL affiliates .ORG domain. Computerworld [online]. IDG Communications, Inc, 20. leden 2003 [cit. 2018-07-29]. Dostupné online. (anglicky) 
  34. LAI, Eric. Sony Online opts for open-source database over Oracle. Software Development. Computerworld [online]. IDG Communications, Inc., 20. březen 2006 [cit. 2018-07-29]. Dostupné online. (anglicky) 
  35. A Web Commerce Group Case Study on PostgreSQL [PDF online]. Web Commerce Group, 2002-07-17 [cit. 2018-07-29]. Dostupné online. 
  36. GEDDA, Rodney. Open source PostgreSQL hits another Hi5. Software. Network World [online]. IDG Communications, Inc., 30. květen 2007 [cit. 2018-07-29]. Dostupné online. (anglicky) 
  37. PostgreSQL at Skype [online]. Skype Developer Zone, 2006 [cit. 2018-07-29]. Dostupné online. (anglicky) [nedostupný zdroj]
  38. How Much Are You Paying For Your Database? [online]. Sun Microsystems blog, 2007 [cit. 2018-07-29]. Dostupné v archivu pořízeném dne 2009-03-07. (anglicky) 
  39. PostgreSQL, Award Winning Software [online]. About. The PostgreSQL Global Development Group, 2008-01-19 [cit. 2018-07-29]. Dostupné v archivu pořízeném dne 2018-02-12. (anglicky) 

Literatura

editovat

Externí odkazy

editovat