<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL_17_%282024%29</id>
	<title>PostgreSQL 17 (2024) - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL_17_%282024%29"/>
	<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;action=history"/>
	<updated>2026-05-20T15:48:35Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1344&amp;oldid=prev</id>
		<title>PavelStehule v 22. 7. 2025, 16:17</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1344&amp;oldid=prev"/>
		<updated>2025-07-22T16:17:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 22. 7. 2025, 16:17&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l705&quot;&gt;Řádek 705:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 705:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;DPL&amp;gt;category=Verze PostgreSQL&amp;lt;/DPL&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;DPL&amp;gt;category=Verze PostgreSQL&amp;lt;/DPL&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Články]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Články]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Verze PostgreSQL]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1343:rev-1344:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1343&amp;oldid=prev</id>
		<title>PavelStehule v 22. 7. 2025, 16:17</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1343&amp;oldid=prev"/>
		<updated>2025-07-22T16:17:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 22. 7. 2025, 16:17&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l705&quot;&gt;Řádek 705:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 705:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;DPL&amp;gt;category=Verze PostgreSQL&amp;lt;/DPL&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;DPL&amp;gt;category=Verze PostgreSQL&amp;lt;/DPL&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Články]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Články]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Verze PostgreSQL]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1229:rev-1343:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1229&amp;oldid=prev</id>
		<title>PavelStehule: /* Pelmel */</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1229&amp;oldid=prev"/>
		<updated>2025-02-23T06:13:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Pelmel&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 23. 2. 2025, 06:13&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l571&quot;&gt;Řádek 571:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 571:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===login trigger===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===login trigger===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Novinkou v uložených procedurách je možnost vytvářet &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt; triggery. Některé konkurenční databáze tuto funkcionalitu měly desetiletí, a pokud se z těchto databází migrovalo do Postgresu, tak to byl trochu problém (mimo cloud relativně jednoduše řešitelný extenzí např. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;a href=&quot;&lt;/del&gt;https://github.com/okbob/session_exec&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&amp;gt;&lt;/del&gt;&amp;lt;code&amp;gt;session_exec&amp;lt;/code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/a&amp;gt;&lt;/del&gt;). S vestavěnou podporou extenze nejsou potřeba. Pozor, i integrované řešení má režii, a zpomalí connect. Ale s tím se musí počítat. V rámci login triggeru (patří do kategorie event triggerů) můžete dynamicky nastavit práva, vytvořit dočasné tabulky pro session, nastavit GUC proměnné:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Novinkou v uložených procedurách je možnost vytvářet &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt; triggery. Některé konkurenční databáze tuto funkcionalitu měly desetiletí, a pokud se z těchto databází migrovalo do Postgresu, tak to byl trochu problém (mimo cloud relativně jednoduše řešitelný extenzí např. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/ins&gt;https://github.com/okbob/session_exec &amp;lt;code&amp;gt;session_exec&amp;lt;/code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;). S vestavěnou podporou extenze nejsou potřeba. Pozor, i integrované řešení má režii, a zpomalí connect. Ale s tím se musí počítat. V rámci login triggeru (patří do kategorie event triggerů) můžete dynamicky nastavit práva, vytvořit dočasné tabulky pro session, nastavit GUC proměnné:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CREATE OR REPLACE FUNCTION public.init_session()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CREATE OR REPLACE FUNCTION public.init_session()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1166:rev-1229:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1166&amp;oldid=prev</id>
		<title>PavelStehule: /* Partitioning */</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1166&amp;oldid=prev"/>
		<updated>2024-08-24T18:21:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Partitioning&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 24. 8. 2024, 18:21&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l511&quot;&gt;Řádek 511:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 511:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Partitioning===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Partitioning===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;V PostgreSQL 17 můžeme partišny rozdělit příkazem &amp;lt;code&amp;gt;ALTER TABLE SPLIT PARTITION&amp;lt;/code&amp;gt; nebo sloučit příkazem &amp;lt;code&amp;gt;ALTER TABLE MERGE PARTITIONS&amp;lt;/code&amp;gt;. Příkazy vyžadují exkluzivní zámek &amp;lt;code&amp;gt;ACCESS EXCLUSIVE&amp;lt;/code&amp;gt; nad partitiovanou tabulkou, tudíž pro vykonání těchto příkazů je nutná servisní odstávka aplikace. Dá se předpokládat, že v ne úplně vzdálené budoucnosti, dojde k podpoře paralelismu a k snížení úrovně zamykání.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;V PostgreSQL 17 můžeme partišny rozdělit příkazem &amp;lt;code&amp;gt;ALTER TABLE SPLIT PARTITION&amp;lt;/code&amp;gt; nebo sloučit příkazem &amp;lt;code&amp;gt;ALTER TABLE MERGE PARTITIONS&amp;lt;/code&amp;gt;. Příkazy vyžadují exkluzivní zámek &amp;lt;code&amp;gt;ACCESS EXCLUSIVE&amp;lt;/code&amp;gt; nad partitiovanou tabulkou, tudíž pro vykonání těchto příkazů je nutná servisní odstávka aplikace. Dá se předpokládat, že v ne úplně vzdálené budoucnosti, dojde k podpoře paralelismu a k snížení úrovně zamykání &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(poznámka - patch implementující tuto funkcionalitu byl revertnut před vydáním - důvodem je problém s bezpečností)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1124:rev-1166:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1124&amp;oldid=prev</id>
		<title>PavelStehule v 11. 7. 2024, 07:26</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1124&amp;oldid=prev"/>
		<updated>2024-07-11T07:26:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 11. 7. 2024, 07:26&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Řádek 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;i&amp;gt;Autor: Pavel Stěhule, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2023&lt;/del&gt;&amp;lt;/i&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;i&amp;gt;Autor: Pavel Stěhule, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2024&lt;/ins&gt;&amp;lt;/i&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=PostgreSQL 17 (2024)=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=PostgreSQL 17 (2024)=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1116:rev-1124:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1116&amp;oldid=prev</id>
		<title>PavelStehule v 21. 5. 2024, 18:13</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1116&amp;oldid=prev"/>
		<updated>2024-05-21T18:13:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 21. 5. 2024, 18:13&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Řádek 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tento vývojový cyklus byl bez jakýchkoliv kontroverzí. Je vidět snaha o dotáhnutí velkých patchů (jako např. SQL/JSON), a zároveň si nepodrazit zbytečně nohy rychlou integrací nového kódu. Neotevírají se nová velké témata (v rámci komunitního Postgresu). Výjimkou byl návrh Heikkiho Linnakangase na přechod z architektury postavené na procesech na architekturu používající vlákna. To je dost kontroverzní téma, které mělo přijít na přetřes před 10 roky. Architekturu Postgres přebírá ještě z databáze [https://en.wikipedia.org/wiki/Ingres_(database) INGRES&amp;lt;/i&amp;gt;], což znamená, že je pomalu 50 let stará. V Postgresu je proces spojen s konkrétní databází a s konkrétním přihlášeným uživatelem. Bez ukončení procesu (a vytvoření nového) nejde změnit uživatele, nejde změnit databázi. Když máte intenzivně využívané aplikace se vyššími stovkami uživatelů, připojujících se do vyšších stovek databází, tak s Postgresem můžete mít problém. Řešení by mohla přinést změna architektury (využívání vláken). Před implementací podpory využití více CPU pro jeden dotaz by ale tento přechod byl o dost jednodušší, a také by se asi dost ušetřilo práce při implementaci komunikace mezi procesy workerů dotazu. Myslím si, že Postgres na vlákna přejde, ale bude to trvat roky. Problém není vlastní implementace (existují dva prototypy). Problém je, jak tuto velkou změnu rozložit v čase, a zároveň každý rok vydat verzi v očekávané kvalitě (a zároveň aby byl Postgres funkční a stabilní na všech systémech, které jsou podporovány).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tento vývojový cyklus byl bez jakýchkoliv kontroverzí. Je vidět snaha o dotáhnutí velkých patchů (jako např. SQL/JSON), a zároveň si nepodrazit zbytečně nohy rychlou integrací nového kódu. Neotevírají se nová velké témata (v rámci komunitního Postgresu). Výjimkou byl návrh Heikkiho Linnakangase na přechod z architektury postavené na procesech na architekturu používající vlákna. To je dost kontroverzní téma, které mělo přijít na přetřes před 10 roky. Architekturu Postgres přebírá ještě z databáze [https://en.wikipedia.org/wiki/Ingres_(database) INGRES&amp;lt;/i&amp;gt;], což znamená, že je pomalu 50 let stará. V Postgresu je proces spojen s konkrétní databází a s konkrétním přihlášeným uživatelem. Bez ukončení procesu (a vytvoření nového) nejde změnit uživatele, nejde změnit databázi. Když máte intenzivně využívané aplikace se vyššími stovkami uživatelů, připojujících se do vyšších stovek databází, tak s Postgresem můžete mít problém. Řešení by mohla přinést změna architektury (využívání vláken). Před implementací podpory využití více CPU pro jeden dotaz by ale tento přechod byl o dost jednodušší, a také by se asi dost ušetřilo práce při implementaci komunikace mezi procesy workerů dotazu. Myslím si, že Postgres na vlákna přejde, ale bude to trvat roky. Problém není vlastní implementace (existují dva prototypy). Problém je, jak tuto velkou změnu rozložit v čase, a zároveň každý rok vydat verzi v očekávané kvalitě (a zároveň aby byl Postgres funkční a stabilní na všech systémech, které jsou podporovány).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hikkiho &lt;/del&gt;iniciativa pravděpodobně souvisí s projektem [https://neon.tech/docs/introduction/about &amp;lt;i&amp;gt;Neon&amp;lt;/i&amp;gt;], v jehož týmu pracuje, a který spolu založil. Jde o open source velmi zajímavou alternativu Amazoního Aurora Postgresu. Jedná se o fork PostgreSQL upravený pro běh v cloudu. Oproti běžnému Postgresu, kde server řeší jak manipulaci s daty a správu cache (storage), tak vykonávaní dotazů (compute), jsou v Neonu storage a compute striktně odděleny, a běží v nezávislých VM. Management compute nody pak může být výrazně dynamičtější než s klasickým Postgresem (protože tam není ta část, která se stará o storage). Pro storage se používá speciální cloud multi-tenant storage systém, který podporuje i zálohování a archivaci.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Heikkiho &lt;/ins&gt;iniciativa pravděpodobně souvisí s projektem [https://neon.tech/docs/introduction/about &amp;lt;i&amp;gt;Neon&amp;lt;/i&amp;gt;], v jehož týmu pracuje, a který spolu založil. Jde o open source velmi zajímavou alternativu Amazoního Aurora Postgresu. Jedná se o fork PostgreSQL upravený pro běh v cloudu. Oproti běžnému Postgresu, kde server řeší jak manipulaci s daty a správu cache (storage), tak vykonávaní dotazů (compute), jsou v Neonu storage a compute striktně odděleny, a běží v nezávislých VM. Management compute nody pak může být výrazně dynamičtější než s klasickým Postgresem (protože tam není ta část, která se stará o storage). Pro storage se používá speciální cloud multi-tenant storage systém, který podporuje i zálohování a archivaci.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Datové typy==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Datové typy==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1115:rev-1116:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1115&amp;oldid=prev</id>
		<title>PavelStehule v 21. 5. 2024, 18:12</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1115&amp;oldid=prev"/>
		<updated>2024-05-21T18:12:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 21. 5. 2024, 18:12&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Řádek 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tento vývojový cyklus byl bez jakýchkoliv kontroverzí. Je vidět snaha o dotáhnutí velkých patchů (jako např. SQL/JSON), a zároveň si nepodrazit zbytečně nohy rychlou integrací nového kódu. Neotevírají se nová velké témata (v rámci komunitního Postgresu). Výjimkou byl návrh Heikkiho Linnakangase na přechod z architektury postavené na procesech na architekturu používající vlákna. To je dost kontroverzní téma, které mělo přijít na přetřes před 10 roky. Architekturu Postgres přebírá ještě z databáze [https://en.wikipedia.org/wiki/Ingres_(database) INGRES&amp;lt;/i&amp;gt;], což znamená, že je pomalu 50 let stará. V Postgresu je proces spojen s konkrétní databází a s konkrétním přihlášeným uživatelem. Bez ukončení procesu (a vytvoření nového) nejde změnit uživatele, nejde změnit databázi. Když máte intenzivně využívané aplikace se vyššími stovkami uživatelů, připojujících se do vyšších stovek databází, tak s Postgresem můžete mít problém. Řešení by mohla přinést změna architektury (využívání vláken). Před implementací podpory využití více CPU pro jeden dotaz by ale tento přechod byl o dost jednodušší, a také by se asi dost ušetřilo práce při implementaci komunikace mezi procesy workerů dotazu. Myslím si, že Postgres na vlákna přejde, ale bude to trvat roky. Problém není vlastní implementace (existují dva prototypy). Problém je, jak tuto velkou změnu rozložit v čase, a zároveň každý rok vydat verzi v očekávané kvalitě (a zároveň aby byl Postgres funkční a stabilní na všech systémech, které jsou podporovány).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tento vývojový cyklus byl bez jakýchkoliv kontroverzí. Je vidět snaha o dotáhnutí velkých patchů (jako např. SQL/JSON), a zároveň si nepodrazit zbytečně nohy rychlou integrací nového kódu. Neotevírají se nová velké témata (v rámci komunitního Postgresu). Výjimkou byl návrh Heikkiho Linnakangase na přechod z architektury postavené na procesech na architekturu používající vlákna. To je dost kontroverzní téma, které mělo přijít na přetřes před 10 roky. Architekturu Postgres přebírá ještě z databáze [https://en.wikipedia.org/wiki/Ingres_(database) INGRES&amp;lt;/i&amp;gt;], což znamená, že je pomalu 50 let stará. V Postgresu je proces spojen s konkrétní databází a s konkrétním přihlášeným uživatelem. Bez ukončení procesu (a vytvoření nového) nejde změnit uživatele, nejde změnit databázi. Když máte intenzivně využívané aplikace se vyššími stovkami uživatelů, připojujících se do vyšších stovek databází, tak s Postgresem můžete mít problém. Řešení by mohla přinést změna architektury (využívání vláken). Před implementací podpory využití více CPU pro jeden dotaz by ale tento přechod byl o dost jednodušší, a také by se asi dost ušetřilo práce při implementaci komunikace mezi procesy workerů dotazu. Myslím si, že Postgres na vlákna přejde, ale bude to trvat roky. Problém není vlastní implementace (existují dva prototypy). Problém je, jak tuto velkou změnu rozložit v čase, a zároveň každý rok vydat verzi v očekávané kvalitě (a zároveň aby byl Postgres funkční a stabilní na všech systémech, které jsou podporovány).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Heikkiho &lt;/del&gt;iniciativa pravděpodobně souvisí s projektem [https://neon.tech/docs/introduction/about &amp;lt;i&amp;gt;Neon&amp;lt;/i&amp;gt;], v jehož týmu pracuje, a který spolu založil. Jde o open source velmi zajímavou alternativu Amazoního Aurora Postgresu. Jedná se o fork PostgreSQL upravený pro běh v cloudu. Oproti běžnému Postgresu, kde server řeší jak manipulaci s daty a správu cache (storage), tak vykonávaní dotazů (compute), jsou v Neonu storage a compute striktně odděleny, a běží v nezávislých VM. Management compute nody pak může být výrazně dynamičtější než s klasickým Postgresem (protože tam není ta část, která se stará o storage). Pro storage se používá speciální cloud multi-tenant storage systém, který podporuje i zálohování a archivaci.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hikkiho &lt;/ins&gt;iniciativa pravděpodobně souvisí s projektem [https://neon.tech/docs/introduction/about &amp;lt;i&amp;gt;Neon&amp;lt;/i&amp;gt;], v jehož týmu pracuje, a který spolu založil. Jde o open source velmi zajímavou alternativu Amazoního Aurora Postgresu. Jedná se o fork PostgreSQL upravený pro běh v cloudu. Oproti běžnému Postgresu, kde server řeší jak manipulaci s daty a správu cache (storage), tak vykonávaní dotazů (compute), jsou v Neonu storage a compute striktně odděleny, a běží v nezávislých VM. Management compute nody pak může být výrazně dynamičtější než s klasickým Postgresem (protože tam není ta část, která se stará o storage). Pro storage se používá speciální cloud multi-tenant storage systém, který podporuje i zálohování a archivaci.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Datové typy==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Datové typy==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l363&quot;&gt;Řádek 363:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 363:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Optimalizace dotazů===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Optimalizace dotazů===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Planner nyní vidí statistiky zanořené CTE. Inkrementální řazení (implementováno v PostgreSQL 13) je možné použít i vůči GiST a SP-GiST indexům. To může být užitečné pro KNN dotazy, kde se řadí i podle neoindexovaného sloupce. V případě více sloupcové klauzule &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt; optimalizátor vyzkouší více kombinací řazení, tak aby minimalizoval jeho náročnost (aby bylo možné použít inkrementální řazení).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Implementace &amp;lt;code&amp;gt;UNION&amp;lt;/code&amp;gt;u bude o něco chytřejší - kromě operace &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt; bude možné použít i operaci &amp;lt;code&amp;gt;merge append&amp;lt;/code&amp;gt; (pokud jsou vstupní data již seřazená, tak není nutný další sort a unique). &lt;/ins&gt;Planner nyní vidí statistiky zanořené CTE. Inkrementální řazení (implementováno v PostgreSQL 13) je možné použít i vůči GiST a SP-GiST indexům. To může být užitečné pro KNN dotazy, kde se řadí i podle neoindexovaného sloupce. V případě více sloupcové klauzule &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt; optimalizátor vyzkouší více kombinací řazení, tak aby minimalizoval jeho náročnost (aby bylo možné použít inkrementální řazení).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Postgres nyní podporuje tzv &amp;lt;i&amp;gt;index skip scan&amp;lt;/i&amp;gt;. To znamená, že pokud v indexu vyhledáváte seznam hodnot, tak oproti dřívější implementaci, která n krát vyhledávala konkrétní hodnotu, a n krát opakovala traverzování napříč indexem. Nově se dohledaných listech (koncové uzly indexu) zkouší dohledat další hodnoty ze seznamu.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Postgres nyní podporuje tzv &amp;lt;i&amp;gt;index skip scan&amp;lt;/i&amp;gt;. To znamená, že pokud v indexu vyhledáváte seznam hodnot, tak oproti dřívější implementaci, která n krát vyhledávala konkrétní hodnotu, a n krát opakovala traverzování napříč indexem. Nově se dohledaných listech (koncové uzly indexu) zkouší dohledat další hodnoty ze seznamu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1114:rev-1115:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1114&amp;oldid=prev</id>
		<title>PavelStehule: /* PostgreSQL 17 (2024) */</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1114&amp;oldid=prev"/>
		<updated>2024-05-20T19:25:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;PostgreSQL 17 (2024)&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 20. 5. 2024, 19:25&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Řádek 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tento vývojový cyklus byl bez jakýchkoliv kontroverzí. Je vidět snaha o dotáhnutí velkých patchů (jako např. SQL/JSON), a zároveň si nepodrazit zbytečně nohy rychlou integrací nového kódu. Neotevírají se nová velké témata (v rámci komunitního Postgresu). Výjimkou byl návrh Heikkiho Linnakangase na přechod z architektury postavené na procesech na architekturu používající vlákna. To je dost kontroverzní téma, které mělo přijít na přetřes před 10 roky. Architekturu Postgres přebírá ještě z databáze [https://en.wikipedia.org/wiki/Ingres_(database) INGRES&amp;lt;/i&amp;gt;], což znamená, že je pomalu 50 let stará. V Postgresu je proces spojen s konkrétní databází a s konkrétním přihlášeným uživatelem. Bez ukončení procesu (a vytvoření nového) nejde změnit uživatele, nejde změnit databázi. Když máte intenzivně využívané aplikace se vyššími stovkami uživatelů, připojujících se do vyšších stovek databází, tak s Postgresem můžete mít problém. Řešení by mohla přinést změna architektury (využívání vláken). Před implementací podpory využití více CPU pro jeden dotaz by ale tento přechod byl o dost jednodušší, a také by se asi dost ušetřilo práce při implementaci komunikace mezi procesy workerů dotazu. Myslím si, že Postgres na vlákna přejde, ale bude to trvat roky. Problém není vlastní implementace (existují dva prototypy). Problém je, jak tuto velkou změnu rozložit v čase, a zároveň každý rok vydat verzi v očekávané kvalitě (a zároveň aby byl Postgres funkční a stabilní na všech systémech, které jsou podporovány).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Tento vývojový cyklus byl bez jakýchkoliv kontroverzí. Je vidět snaha o dotáhnutí velkých patchů (jako např. SQL/JSON), a zároveň si nepodrazit zbytečně nohy rychlou integrací nového kódu. Neotevírají se nová velké témata (v rámci komunitního Postgresu). Výjimkou byl návrh Heikkiho Linnakangase na přechod z architektury postavené na procesech na architekturu používající vlákna. To je dost kontroverzní téma, které mělo přijít na přetřes před 10 roky. Architekturu Postgres přebírá ještě z databáze [https://en.wikipedia.org/wiki/Ingres_(database) INGRES&amp;lt;/i&amp;gt;], což znamená, že je pomalu 50 let stará. V Postgresu je proces spojen s konkrétní databází a s konkrétním přihlášeným uživatelem. Bez ukončení procesu (a vytvoření nového) nejde změnit uživatele, nejde změnit databázi. Když máte intenzivně využívané aplikace se vyššími stovkami uživatelů, připojujících se do vyšších stovek databází, tak s Postgresem můžete mít problém. Řešení by mohla přinést změna architektury (využívání vláken). Před implementací podpory využití více CPU pro jeden dotaz by ale tento přechod byl o dost jednodušší, a také by se asi dost ušetřilo práce při implementaci komunikace mezi procesy workerů dotazu. Myslím si, že Postgres na vlákna přejde, ale bude to trvat roky. Problém není vlastní implementace (existují dva prototypy). Problém je, jak tuto velkou změnu rozložit v čase, a zároveň každý rok vydat verzi v očekávané kvalitě (a zároveň aby byl Postgres funkční a stabilní na všech systémech, které jsou podporovány).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hikkiho &lt;/del&gt;iniciativa pravděpodobně souvisí s projektem [https://neon.tech/docs/introduction/about &amp;lt;i&amp;gt;Neon&amp;lt;/i&amp;gt;], v jehož týmu pracuje, a který spolu založil. Jde o open source velmi zajímavou alternativu Amazoního Aurora Postgresu. Jedná se o fork PostgreSQL upravený pro běh v cloudu. Oproti běžnému Postgresu, kde server řeší jak manipulaci s daty a správu cache (storage), tak vykonávaní dotazů (compute), jsou v Neonu storage a compute striktně odděleny, a běží v nezávislých VM. Management compute nody pak může být výrazně dynamičtější než s klasickým Postgresem (protože tam není ta část, která se stará o storage). Pro storage se používá speciální cloud multi-tenant storage systém, který podporuje i zálohování a archivaci.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Heikkiho &lt;/ins&gt;iniciativa pravděpodobně souvisí s projektem [https://neon.tech/docs/introduction/about &amp;lt;i&amp;gt;Neon&amp;lt;/i&amp;gt;], v jehož týmu pracuje, a který spolu založil. Jde o open source velmi zajímavou alternativu Amazoního Aurora Postgresu. Jedná se o fork PostgreSQL upravený pro běh v cloudu. Oproti běžnému Postgresu, kde server řeší jak manipulaci s daty a správu cache (storage), tak vykonávaní dotazů (compute), jsou v Neonu storage a compute striktně odděleny, a běží v nezávislých VM. Management compute nody pak může být výrazně dynamičtější než s klasickým Postgresem (protože tam není ta část, která se stará o storage). Pro storage se používá speciální cloud multi-tenant storage systém, který podporuje i zálohování a archivaci.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Datové typy==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Datové typy==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1113:rev-1114:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1113&amp;oldid=prev</id>
		<title>PavelStehule: /* Optimalizace dotazů */</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1113&amp;oldid=prev"/>
		<updated>2024-05-20T19:23:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Optimalizace dotazů&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;cs&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Starší verze&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Verze z 20. 5. 2024, 19:23&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l363&quot;&gt;Řádek 363:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Řádek 363:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Optimalizace dotazů===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Optimalizace dotazů===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Implementace &amp;lt;code&amp;gt;UNION&amp;lt;/code&amp;gt;u bude o něco chytřejší - kromě operace &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt; bude možné použít i operaci &amp;lt;code&amp;gt;merge append&amp;lt;/code&amp;gt; (pokud jsou vstupní data již seřazená, tak není nutný další sort a unique). &lt;/del&gt;Planner nyní vidí statistiky zanořené CTE. Inkrementální řazení (implementováno v PostgreSQL 13) je možné použít i vůči GiST a SP-GiST indexům. To může být užitečné pro KNN dotazy, kde se řadí i podle neoindexovaného sloupce. V případě více sloupcové klauzule &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt; optimalizátor vyzkouší více kombinací řazení, tak aby minimalizoval jeho náročnost (aby bylo možné použít inkrementální řazení).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Planner nyní vidí statistiky zanořené CTE. Inkrementální řazení (implementováno v PostgreSQL 13) je možné použít i vůči GiST a SP-GiST indexům. To může být užitečné pro KNN dotazy, kde se řadí i podle neoindexovaného sloupce. V případě více sloupcové klauzule &amp;lt;code&amp;gt;GROUP BY&amp;lt;/code&amp;gt; optimalizátor vyzkouší více kombinací řazení, tak aby minimalizoval jeho náročnost (aby bylo možné použít inkrementální řazení).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Postgres nyní podporuje tzv &amp;lt;i&amp;gt;index skip scan&amp;lt;/i&amp;gt;. To znamená, že pokud v indexu vyhledáváte seznam hodnot, tak oproti dřívější implementaci, která n krát vyhledávala konkrétní hodnotu, a n krát opakovala traverzování napříč indexem. Nově se dohledaných listech (koncové uzly indexu) zkouší dohledat další hodnoty ze seznamu.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Postgres nyní podporuje tzv &amp;lt;i&amp;gt;index skip scan&amp;lt;/i&amp;gt;. To znamená, že pokud v indexu vyhledáváte seznam hodnot, tak oproti dřívější implementaci, která n krát vyhledávala konkrétní hodnotu, a n krát opakovala traverzování napříč indexem. Nově se dohledaných listech (koncové uzly indexu) zkouší dohledat další hodnoty ze seznamu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgwiki2-mediawiki-:diff:1.41:old-1108:rev-1113:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
	<entry>
		<id>http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1108&amp;oldid=prev</id>
		<title>PavelStehule: založena nová stránka s textem „&lt;i&gt;Autor: Pavel Stěhule, 2023&lt;/i&gt;  =PostgreSQL 17 (2024)=  Už jsem to psal posledně, tím jak na Postgresu dělá víc a víc vývojářů z různých s…“</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;diff=1108&amp;oldid=prev"/>
		<updated>2024-05-17T04:43:07Z</updated>

		<summary type="html">&lt;p&gt;založena nová stránka s textem „&amp;lt;i&amp;gt;Autor: Pavel Stěhule, 2023&amp;lt;/i&amp;gt;  =PostgreSQL 17 (2024)=  Už jsem to psal posledně, tím jak na Postgresu dělá víc a víc vývojářů z různých s…“&lt;/p&gt;
&lt;a href=&quot;http://postgres.cz/index.php?title=PostgreSQL_17_(2024)&amp;amp;diff=1108&quot;&gt;Ukázat změny&lt;/a&gt;</summary>
		<author><name>PavelStehule</name></author>
	</entry>
</feed>