<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="cs">
  <siteinfo>
    <sitename>PostgreSQL</sitename>
    <dbname>pgwiki2</dbname>
    <base>http://postgres.cz/wiki/PostgreSQL</base>
    <generator>MediaWiki 1.43.3</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Média</namespace>
      <namespace key="-1" case="first-letter">Speciální</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Diskuse</namespace>
      <namespace key="2" case="first-letter">Uživatel</namespace>
      <namespace key="3" case="first-letter">Diskuse s uživatelem</namespace>
      <namespace key="4" case="first-letter">Czech PostgreSQL wiki</namespace>
      <namespace key="5" case="first-letter">Diskuse k Czech PostgreSQL wiki</namespace>
      <namespace key="6" case="first-letter">Soubor</namespace>
      <namespace key="7" case="first-letter">Diskuse k souboru</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">Diskuse k MediaWiki</namespace>
      <namespace key="10" case="first-letter">Šablona</namespace>
      <namespace key="11" case="first-letter">Diskuse k šabloně</namespace>
      <namespace key="12" case="first-letter">Nápověda</namespace>
      <namespace key="13" case="first-letter">Diskuse k nápovědě</namespace>
      <namespace key="14" case="first-letter">Kategorie</namespace>
      <namespace key="15" case="first-letter">Diskuse ke kategorii</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>PostgreSQL</title>
    <ns>0</ns>
    <id>386</id>
    <revision>
      <id>1501</id>
      <parentid>1500</parentid>
      <timestamp>2026-03-27T06:48:29Z</timestamp>
      <contributor>
        <username>PavelStehule</username>
        <id>1</id>
      </contributor>
      <origin>1501</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="13894" sha1="s1eoj7n4k9m6iafdla9lz0d1xrignky" xml:space="preserve">{{Infobox_Software |                                                                                                                                                   
  name = PostgreSQL |                                                                                                                                                  
  logo = |                                                                                                                                                             
  screenshot = [[Image:Logo180.jpg]] |                                                                                                                                 
  caption = The '''PostgreSQL''' Logo |                                                                                                                                
  developer = PostgreSQL&lt;br&gt;Global Development Group |                                                                                                           
  latest_release_version = [https://www.postgresql.org/docs/release/18.3/ 18.3] |                                                                                                                      
  latest_release_date = 26. únor 2026 |                                                                                                                            
  operating_system = Unix, Microsoft Windows |                                                                                                                         
  license = PostgreSQL licence |                                                                                                                                              
  website = [http://www.postgresql.org/ www.postgresql.org] |                                                                                                          
}}
{{#seo:
|title=PostgreSQL
|titlemode=append
|keywords=Postgres, PostgreSQL, Czech, česky
|description=Informace o databázi PostgreSQL pro začátečníky i pokročilé
}}
[[PostgreSQL]] (nebo zkráceně Postgres) je plnohodnotným relačním databázovým systémem s otevřeným zdrojovým kódem. Má za sebou téměř třicet let aktivního vývoje a má vynikající pověst pro svou spolehlivost a bezpečnost. Běží nativně na všech rozšířených operačních systémech (Linux, BSD, MacOS, Windows) včetně některých dnes už méně rozšířených systémů (AIX, Solaris). Stoprocentně splňuje podmínky [[Slovník#ACID|ACID]], plně podporuje cizí klíče, operace JOIN, pohledy, spouště a uložené procedury. Obsahuje většinu SQL92 a SQL99 datových typů, např. INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL a TIMESTAMP. Nechybí ani podpora moderních datových typů jako je JSON nebo XML.
 
Vývojáři PostgreSQL se snaží o [http://www.postgresql.org/docs/current/static/features.html respektování a implementaci standardu ANSI SQL] - k dispozici jsou vlastnosti popsané v ANSI/SQL 200x (např. rekurzivní a analytické dotazy), ANSI/SQL 201x a ANSI/SQL 202x. K systému existuje kvalitní volně [http://www.postgresql.org/docs/9.4/interactive/index.html dostupná dokumentace] včetně českých překladů [[Frequently Asked Questions|FAQ]] a [[Instalace a provoz nativní PostgreSQL v Microsoft Windows|FAQ]] pro o.s. fy. Microsoft. Výkonnostně nezaostává za srovnatelnými komerčními systémy a v [[Postgres MSSQL|častokrát je i předčí]]. [[Desatero|'''Deset rad jak efektivně používat PostgreSQL''']]

&lt;blockquote style="background-color: #eeeee0; border: solid thin lightgrey; padding:15px;  width:70%;"&gt;
''"U našich klientů provozujeme tisíce instalací PostgreSQL na často pochybných strojích. Provozujeme je od malých netboocích až výkonných clusterech. A ještě jsme nezaznamenali jediný případ ztráty dat, který by byl způsobený PostgreSQL" - Petr Ferschmann, CEO, Internetové ekonomické systémy FlexiBee, [https://www.abra.eu/flexi/ FlexiBee Systems s.r.o.]''
&lt;br&gt;&lt;br&gt;''"Večer trávený nad PL/PgSQL, které se dá používat a je k němu dobrá dokumentace, což o psaní stored procedur ve FirebirdSQL napsat nemohu ani omylem.﻿" - MaReK Olšavský''
&lt;/blockquote&gt;

PostgreSQL lze jednoduše [[Instalace PostgreSQL|nainstalovat]] ze všech veřejných depozitářů linuxových distribucí (případně [https://www.postgresql.org/download/ repozitáře vyhrazeného pro PostgreSQL]). Vždy aktuální instalační soubor pro Microsoft Windows lze PostgreSQL stáhnout z [http://www.enterprisedb.com/products-services-training/pgdownload#windows archivu EnterpriseDB].

PostgreSQL je šířen pod [[1.03 Pod jakou licencí je PostgreSQL|BSD]] licencí, která je nejliberálnější ze všech open source licencí. &lt;b&gt;Tato licence umožňuje neomezené bezplatné používání, modifikaci a distribuci PostgreSQL a to ať pro komerční nebo nekomerční využití.&lt;/b&gt; PostgreSQL můžete šířit se zdrojovými kódy nebo bez nich, zdarma nebo komerčně. 

&lt;htmlet2&gt;postgresql&lt;/htmlet2&gt; 

PostgreSQL umožňuje běh uložených procedur napsaných v několika programovacích jazycích, v [[PL/Perlu - Untrusted Perl|Perlu]], v Pyhon, v jazyku [[Návrh a realizace UDF v c pro PostgreSQL|C]] nebo v speciálním [[PL/pgSQL]], jazyku vycházejícím z PL/SQL fy. Oracle. Existují PostgreSQL varianty [https://jdbc.postgresql.org/ JDBC], ODBC, dbExpress, [http://dba.openoffice.org/drivers/postgresql/index.html Open Office], PHP, [https://www.npgsql.org/ .NET], [http://search.cpan.org/~turnstep/DBD-Pg/Pg.pm Perl] nativních rozhraní. K PostgreSQL existuje překladač Embedded SQL pro C a C++.

Předchůdcem systému PostgreSQL byl systém [http://en.wikipedia.org/wiki/Ingres_(database) Ingres (Interactive Graphics and Retrieval System)], vyvinutý na kalifornské univerzitě v Berkeley v letech 1977 - 1985. Jeho nástupce byl vyvíjen pod vedením [http://en.wikipedia.org/wiki/Michael_Stonebraker Prof. Michaela Stonebrakera] jako objektově-relační databázový server pod názvem [[Historie projektu PostgreSQL#POSTGRES|Postgres]]. Z toho později firma Illustra vytvořila komerční produkt, který byl později převzat Informixem. Původní Postgres byl doplněn o podporu jazyka [[Úvod do PostgreSQL SQL|SQL]] a byl označen Postgres95. V létě 1996 Marc Fournier, Bruce Momjian a Vadim B. Mikheev pokračovali na vývoji Postgres95 už jako open source a nezávisle na univerzitě. Systém byl postupně opravován a po odstranění nejhorších problémů začala implementace nových vlastností. Na konci roku 1996 byl projekt přejmenován na PostgreSQL a byla uvolněna verze 6.0. 

Počínaje osmičkovou řadou PostgreSQL obsahuje vlastnosti, které očekáváme od tzv. enterprise produktů: stabilní výkon, [[Slovník#MVCC|MVCC]], [[Slovník#TOAST|TOAST]], [[Slovník#WAL|WAL]], Save Points, Point In Time Recovery, dvoufázové potvrzování, Partitioning, podporu SMP, informační schémata, částečné a funkcionální indexy, [[Slon nezapomíná (co nás čeká v PostgreSQL 8.3)#Podpora_SQL.2FXML|podporu SQL/XML]], [[Slon nezapomíná (co nás čeká v PostgreSQL 8.3)#Integrace_TSearch2|integrovaný fulltext]], integrovanou autentifikaci v prostředí MS Windows. [http://www.pgsql.cz/files/postgresql84.pdf verze 8.4.] (více  v článku [[PostgreSQL v roce 2009 (PostgreSQL 8.4)]]), přináší funkce funkce na které jsme zvyklí z nejlepších komerčních databázových systémů - namátkou [[Aktuality#V_8.4_je_ji.C5.BE_implementov.C3.A1na_podpora_rekurzivn.C3.ADch_dotaz.C5.AF|Common Table Expressions]], podporu locales pro každou databázi, některé stávající funkce jsou rozšířeny, optimalizovány (podpora SEMIJOINu, ANTIJOINu, statistik pro fulltext). 

&lt;blockquote style="background-color: #eeeee0; border: solid thin lightgrey; padding:20px;  width:400px; float: left;"&gt;
''"Zkušenosti s PostgreSQL jsou zatím výborné. Odpadly nám problémy s pády SQL serveru a s neaktivitou serveru při odpoledním zálohování. Také se výrazně zrychlila odezva programů, zejména díky rychlejšímu provádění SELECT příkazů." - zkušenosti vývojářů ekonomického systému po migraci na PostgreSQL.'' 
&lt;/blockquote&gt;

[[PostgreSQL 9.0 - nový začátek|Verze 9.0]] přináší integrovanou replikaci, podmíněné a sloupcové triggery, klauzuli ORDER BY v agregačních funkcích, JOIN removal (odstranění nepotřebnách relací z prováděcích plánů). [[PostgreSQL 9.1 - aneb stále vpřed|verze 9.1]] obsahuje podporu COLLATEs, integraci s SE-Linuxem, synchronní replikaci, upravený režim SERIALIZABLE, podporu cizích tabulek dle standardu SQL/MED, cyklus FOREACH v PL/pgSQL a řadu dalších funkcí.Ve [[PostgreSQL 9.2 (2012)|verzi 9.2]] se setkáme s index only scanem, datovým typem range, datovým typem JSON, podporou SP_GIST indexů. Ve [[PostgreSQL 9.3 (2013)|verzi 9.3]] je k dispozici např. podpora DDL triggerů, klauzule LATERAL, kontrolní součty datových stránek. [[PostgreSQL 9.4 (2014): transakční sql json databáze|Verze 9.4]] přináší podmíněné agregační funkce a agregační funkce na seřazených datech (median), nerelační datový typ jsonb (další generace typu HStore), možnost konfigurace pomocí SQL příkazů (ALTER SYSTEM).  [[PostgreSQL 9.5 (2015) držte si klobouky, zrychlujeme|Verze 9.5]] přináší GROUPING SETS, UPSERT, práva na úrovni řádku (Row Level Security), vyšší výkon pod extrémní zátěží, online komprimaci transakčního logu. [[PostgreSQL 9.6 (2016) odteď paralelně|verze 9.6]] umožňuje využít pro jeden dotaz více CPU. [[PostgreSQL 10 (2017) - drsně rozběhnutý slon|Verze 10]] přináší zlepšení partitioningu, integraci logické replikace, podpoře více sloupcových statistik. Ve [[PostgreSQL 11 (2018)|verzi 11]] můžeme používat příkaz CALL a v procedurách explicitně commitovat. V této verzi díky paralelnímu hashjoinu dosáhneme rychlejších analytických výpočtů. Přínosem je i dynamičtější partitioning. [[PostgreSQL 12 (2019)|Verze 12]] přináší podporu JSONPath, podporu nedeterministických locales (např. case insensitive) a další způsob práce s více sloupcovými statistikami. [[PostgreSQL 13 (2020)|Verze 13]] pak přináší přepsanou hash agregaci, efektivnější ukládání klíčů v indexu (deduplikace), a výrazně rychlejší vykonávání výrazů v PLpgSQL. Ve [[PostgreSQL 14 (2021)|verzi 14]]  jsou  na statistiky nad výrazy, je efektivnější vyhledávání hodnoty v dlouhém seznamu hodnot, je menší bloatingu indexů, a konečně je i úplná podpora výrazů na levé straně přiřazovacího příkazu (v PL/pgSQL). [[PostgreSQL 15 (2022)|Verze 15]] přidává ANSI SQL příkaz MERGE a další možnosti nastavení přístupových práv. [[PostgreSQL 16 (2023)|Verze 16]] přináší řadu optimalizací a pokračuje v implementaci SQL/JSON. [[PostgreSQL 17 (2024)|Verze 17]] přináší podporu inkrementálního backupu a finišuje podporu SQL/JSON. [[PostgreSQL 18 (2025)|Verze 18]] podporuje index skip skan a vyšší redukci zbytečných spojení (joinů) v dotazech. Aktuálně se dokončuje verze 19, která zavádí příkaz REPACK, přínáší podporu SQL/PGQ (jazyk pro operace nad grafy) a extenzi pg_plan_advice (alternativa plan hintů z Oracle). Díky tomu je PostgreSQL solidní a bezpečnou platformou pro vývoj aplikací (informační, řídící a monitorovací systémy, výzkum, aplikace pro státní a komunální správu).

viz [https://www.postgresql.org/about/featurematrix/ Feature Matrix] 

Předností systému PostgreSQL je rozšiřitelnost. Systém může být bezproblémově rozšiřován o nové datové typy, funkce operátory, agregační funkce, procedurální jazyky. Díky tomu mohly vzniknout následující rozšíření: [http://postgis.refractions.net/ PostGIS] - podpora pro geografické informační systémy, [https://www.timescale.com/ Timescale] - podpora pro data časových řad nebo [https://www.citusdata.com/ Citus] - umožní používat Postgres jako distribuovanou databázi. Na serverech [https://github.com/topics/postgresql-extension GitHub] nebo [http://pgxn.org/ PGXN] je k dispozici několik desítek doplňků včetně doplňků rozšířující o funkcionalitu  MySQL, SQL Serveru a [[Oracle functionality|Oraclu]]. Uživatelé také [[Postgres_Informix|oceňují vynikající uživatelskou podporu]] (ať začátečníků nebo pokročilých uživatelů).

Za vývojem PostgreSQL stojí skupina nezávislých vývojářů a uživatelů, ke které se kdokoliv může připojit. A to přihlášením do diskusního fóra a následnou participací na projektu: patche, podporou uživatelů, psaním a překladem dokumentace atd. 

PostgreSQL je faktickým ''průmyslovým standardem'' - existují komerční databáze postavené nad komunitním PostgreSQL - [http://en.wikipedia.org/wiki/Netezza Netezza],[http://en.wikipedia.org/wiki/Greenplum GreenPlum], [http://en.wikipedia.org/wiki/EnterpriseDB EnterpriseDB], [https://www.timescale.com/ Timescale], [https://blog.yugabyte.com/ YugabyteDB]. Můžeme se setkat s databázemi, které používají protokol kompatibilní s PostgreSQL - H2 nebo databáze, které přebírají interface PostgreSQL - např. [http://en.wikipedia.org/wiki/Vertica Vertica]. Analytická souborová databáze [https://duckdb.org/ DuckDB] - příbírá SQL gramatiku (syntax) z PostgreSQL.

=CSPUG - Czech and Slovak PostgreSQL Users Group=
Za účelem podpory sdružování uživatelů PostgreSQL vznikla v roce 2010 obecně prospěšná společnost (dle zákona č. 634/2004 Sb. o správních poplatcích) Sdružení českých a slovenských uživatelů PostgreSQL.

-----
Autorem zde uložených dokumentů (a&amp;nbsp;překladatelem FAQ) je [[Pavel Stěhule]].</text>
      <sha1>s1eoj7n4k9m6iafdla9lz0d1xrignky</sha1>
    </revision>
  </page>
</mediawiki>
