summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2004-07-12 00:22:51 +0000
committerBruce Momjian2004-07-12 00:22:51 +0000
commit233afe6a90ae091e64048528323fe7afb07dfaf7 (patch)
tree57fd34894e6b3aeb9c71dbb3e267d3f1056105a1
parent2bd17a5f52fe3a57569157dd58792c396f9fc5d2 (diff)
New Czech FAQ.
Pavel Stehule
-rw-r--r--doc/src/FAQ/FAQ_czech.html2181
1 files changed, 1130 insertions, 1051 deletions
diff --git a/doc/src/FAQ/FAQ_czech.html b/doc/src/FAQ/FAQ_czech.html
index 9d2c43b5ff3..59806e74874 100644
--- a/doc/src/FAQ/FAQ_czech.html
+++ b/doc/src/FAQ/FAQ_czech.html
@@ -1,1088 +1,1167 @@
-<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
- <meta http-equiv="Content-language" content="cs">
- <meta name="robots" content="index,FOLLOW">
- <meta name="description" lang="en" content="Czech translation of FAQ for PostgreSQL">
- <meta name="description" lang="cs" content="�esk� p�eklad FAQ PostgreSQL"><title>PostgreSQL FAQ cz</title>
-
-
- <style type="text/css">
- A {font-family:helvetica,arial,sans-serif; font-weight:normal; color:#0201FF; text-decoration:none;}
- A:active {color:#0201FF;;}
- A:visited {color:#0F0169;}
- A:hover{text-decoration:underline; color:#020169;}
- body {font-family:helvetica,arial,sans-serif; font-weight:normal;}
- </style></head>
- <body leftmargin="10" topmargin="10" marginwidth="10" marginheight="10" bgcolor="white">
-
-
-<h1>�asto kladen� dotazy (FAQ) PostgreSQL</h1>
-
-<h2>Obecn� ot�zky</h2>
-<a href="#1.1">1.1</a> Co je PostgreSQL? Jak se vyslovuje?<br>
-<a href="#1.2">1.2</a> Jak� je licence na PostgreSQL?<br>
-<a href="#1.3">1.3</a> Na kter�ch Unixex lze spustit PostgreSQL?<br>
-<a href="#1.4">1.4</a> Kter� ne-unixov� platformy jsou podporovan�?<br>
-<a href="#1.5">1.5</a> Kde mohu z�skat PostgreSQL?<br>
-<a href="#1.6">1.6</a> Kde mohu z�skat podporu?<br>
-<a href="#1.7">1.7</a> Kde je posledn� verze?<br>
-<a href="#1.8">1.8</a> Jak� je dostupn� dokumentace?<br>
-<a href="#1.9">1.9</a> Kde najdu seznam zn�m�ch chyb nebo nepodporovan�ch vlastnost�?<br>
-<a href="#1.10">1.10</a> Jak se mohu nau�it SQL?<br>
-<a href="#1.11">1.11</a> Nem� PostgreSQL probl�my s rokem 2000?<br>
-<a href="#1.12">1.12</a> Jak se p�ipojit k v�voj��sk�mu t�mu?<br>
-<a href="#1.13">1.13</a> Kam podat report o chyb�?<br>
-<a href="#1.14">1.14</a> Jak je na tom PostgreSQL v porovn�n� s jin�mi datab�zemi?<br>
-<a href="#1.15">1.15</a> Jak lze finan�n� pomoci PostgreSQL?<br>
-
-<h2>User client dotazy</h2>
-
-<a href="#2.1">2.1</a> Kde naleznu ODBC ovlada�e pro PostgreSQL?<br>
-<a href="#2.2">2.2</a> Jak� n�stroje lze pou��t pro PostgreSQL a web?<br>
-<a href="#2.3">2.3</a> Existuje grafick� rozhran� pro PostgreSQL?<br>
-<a href="#2.4">2.4</a> Kter� programovac� jazyky maj� podporu pro PostgreSQL?<br>
-
-<h2>Administrativn� dotazy</h2>
-<a href="#3.1">3.1</a> Jak nainstalovat PostgreSQL jinam ne� do /usr/local/pgsql?<br>
-<a href="#3.2">3.2</a> P�i startu postmaster, dostanu chybov� hl�en� Bad System Call nebo
-core dump. Pro�?<br>
-<a href="#3.3">3.3</a> P�i startu postmastera dostanu hl�en� o chyb� IpcMemoryCreate. Pro�?<br>
-<a href="#3.4">3.4</a> P�i startu postmastera dostanu hl�en� o chyb�
-IpcSemaphoreCreate. Pro�?<br>
-<a href="#3.5">3.5</a> Jak povolit nebo zak�zat p��stup z jin�ch stanic?<br>
-<a href="#3.6">3.6</a> Jak ladit datab�zov� stroj na lep�� v�kon?<br>
-<a href="#3.7">3.7</a> Jak� jsou mo�nosti lad�n�?<br>
-<a href="#3.8">3.8</a> Pro� dostanu "Sorry, too many clients", kdy� se zkou��m p�ipojit?<br>
-<a href="#3.9">3.9</a> K �emu slou�� adres�� pgsql_tmp?<br>
-<a href="#3.10">3.10</a> Pro� je po�adov�no dump a obnoven� (load) datab�ze b�hem upgrade
-mezi velk�mi verzemi PostgreSQL?<br>
-<h2>Provozn� dotazy</h2>
-<a href="#4.1">4.1</a> ��m se li�� bin�rn� a norm�ln� kurzor?<br>
-<a href="#4.2">4.2</a> Jak z�skat pouze prvn� ��dek dotazu? N�hodn� ��dek?<br>
-<a href="#4.3">4.3</a> Jak z�sk�m seznam tabulek nebo jinak jak jej z�sk� psql?<br>
-<a href="#4.4">4.4</a> Jak odstran�m sloupec tabulky, jak zm�n�m jeho typ?<br>
-<a href="#4.5">4.5</a> Jak� je maxim�ln� velikost ��dku, tabulky a datab�ze?<br>
-<a href="#4.6">4.6</a> Kolik diskov�ho prostoru je pot�eba k ulo�en� dat z norm�ln�ho
-textov�ho souboru? <br>
-<a href="#4.7">4.7</a> Jak z�sk�m seznam vytvo�en�ch tabulek, index�, datab�z�?<br>
-<a href="#4.8">4.8</a> M�j dotaz je pomal� a nepou��v� vytvo�en� indexy. Pro�?<br>
-<a href="#4.9">4.9</a> Jak zjist�m, jak optimizer dotazu vyhodnocuje m�j dotaz?<br>
-<a href="#4.10">4.10</a> Co to je R-tree index?<br>
-<a href="#4.11">4.11</a> Co je Genetic Query Optimizer?<br>
-<a href="#4.12">4.12</a> Jak prov�st vyhled�v�n� regul�rn�ho v�razu case sensitiv,
-insensitiv? Jak pou��t index pro case insensitive vyhled�v�n�?<br>
-<a href="#4.13">4.13</a> Jak v dotazu detekovat, �e polo�ka je NULL?<br>
-<a href="#4.14">4.14</a> Jak� jsou rozd�ly mezi r�zn�mi znakov�mi typy?<br>
-<a href="#4.15.1">4.15.1</a> Jak vytvo�it serial/auto-increment pole?<br>
-<a href="#4.15.2">4.15.2</a> Jak z�skat hodnotu SERIAL po vlo�en� ��dku?<br>
-<a href="#4.15.3">4.15.3</a> Nepovede currval() a nextval() k rozhozen� podm�nek p�i soub�hu s jin�mi u�ivateli?<br>
-<a href="#4.15.4">4.15.4</a> Pro� nen� vygenerovan� ��slo pou�ito p�i p�eru�en�
-transakce? Pro� vznikaj� d�ry v ��slov�n� vlastn� sekvenc�/SERIAL
-sloupce?<br>
-<a href="#4.16">4.16</a> Co to je OID? Co je to TID?<br>
-<a href="#4.17">4.17</a> Jak� je v�znam n�kter�ch v�raz� pou�it�ch v PostgreSQL?<br>
-<a href="#4.18">4.18</a> Pro� jsem z�skal chybov� hl�en� "ERROR: Memory exhausted in
-AllocSetAlloc()"?<br>
-<a href="#4.19">4.19</a> Jak se dozv�m, kterou verzi PostgreSQL pou��v�m?<br>
-<a href="#4.20">4.20</a> Pro� operace s velk�mi objekty kon�� "invalid large obj descriptor"?<br>
-<a href="#4.21">4.21</a> Jak vytvo�it sloupec obsahuj�c� implicitn� aktu�ln� datum?<br>
-<a href="#4.22">4.22</a> Pro� jsou moje vno�en� dotazy pou��vaj�c� IN tak pomal�?<br>
-<a href="#4.23">4.23</a> Jak prov�st vn�j�� spojen� (outer join)?<br>
-<a href="#4.24">4.24</a> Jak prov�st dotaz nap��� n�kolika datab�zemi?<br>
-<a href="#4.25">4.25</a> M��e funkce vr�tit v�ce ��dk� nebo sloupc�?<br>
-<a href="#4.26">4.26</a> Pro� nelze spolehliv� vytv��et a ru�it do�asn� tabulky v
-PL/pgSQL funkc�ch?<br>
-<a href="#4.27">4.27</a> Jak� jsou mo�nosti replikace datab�z�?<br>
-<a href="#4.28">4.28</a> Jak� jsou mo�nosti �ifrov�n� datab�z�?<br>
-<h2>Roz�i�ov�n� PostgreSQL</h2>
-<a href="#5.1">5.1</a> Napsal jsem UDF funkci, PostgreSQL v�ak kon�� dump core?<br>
-<a href="#5.2">5.2</a> Jak mohu p�isp�t n�jak�mi �ikovn�mi datov�mi typy a funkcemi
-do PostgreSQL?<br>
-<a href="#5.3">5.3</a> Jak napsat funkci v C vracej�c� ntici?<br>
-<a href="#5.4">5.4</a> Modifikoval jsem zdrojov� soubory. Tato zm�na nebyla p�i
-rekompilaci vzata v potaz. Pro�?<br>
-
-
-
-
-<hr>
-<h2>Obecn� ot�zky</h2>
-
-<h3><a name="1.1">1.1</a> Co je PostgreSQL? Jak se vyslovuje?</h3>
-
-<p>PostgreSQL se vyslovuje Post-Gres-Q-L.</p>
-
-<p></p>PostgreSQL vych�z� z datab�ze POSTGRES - v�zkumn�ho prototypu DBMS
-nov� generace. Z postgresu byl p�evzat siln� datov� model a bohat�
-soubor datov�ch typ� a jeho dotazovac� jazyk PostQuel byl nahrazen
-roz���enou podmno�inou jazyka SQL. PostgreSQL lze pou��vat bez
-omezen� a jeho zdrojov� k�dy jsou voln� k dispozici.<p></p>
-
-<p>PostgreSQL vyv�j� t�m v�voj��� p�ihl�en�ch do v�voj��sk� konference
-PostgreSQL. Sou�asn�m koordin�torem je Marc G. Fournier. (Odpov��
-1.6. - jak se zapojit). Tento t�m je zodpov�dn� za ve�ker� v�voj
-PostgreSQL.</p>
-
-<p>Autory prvn� verze PostgreSQL 1.01 byli Andrew Yu and Jolly
-Chen. Do portace, testov�n�, lad�n� a
-roz�i�ov�n� k�du se zapojilo mnoho dal��ch v�voj��� . P�vodni k�d Postgresu, ze kter�ho PostgreSQL
-vych�z�, je v�sledkem �sil� mnoha student� a program�tor� pracuj�c�ch
-pod veden�m prof. Michaela Stonebrakera na University of California v
-Berkley.</p>
-
-<p>P�vodn� n�zev software z Berkley byl Postgres. Po p�id�n� jazyka SQL
-se n�zev zm�nil na Postgres95. Koncem roku 1996 byl RDBMS
-p�ejmenov�n na PostgreSQL.</p>
-
-<h3><a name="1.2">1.2</a> Jak� je licence na PostgreSQL?</h3>
-
- <p>PostgreSQL je p�edm�tem n�sleduj�c�ch autorsk�ch pr�v:</p>
-
- <p>D�l�� copyright (c) 1996-2002, PostgreSQL Global Development Group</p>
-
- <p>D�l�� copyright (c) 1994-6, Regents of the University of California</p>
-
-
- <p>Ud�luje se opr�vn�n� k u�it�, rozmno�ov�n�, prov�d�n� �prav a
- roz�i�ov�n� tohoto softwaru a dokumentace k n�mu, pro jak�koli ��ely,
- bez licen�n�ho poplatku a bez p�semn� licen�n� smlouvy, za podm�nky, �e
- na v�ech jeho kopi�ch je uvedeno ozn�men� o v��e uveden�ch pr�vech,
- jako� i obsah tohoto a dvou n�sleduj�c�ch odstavc�.</p>
-
-
- <p>THE UNIVERSITY OF CALIFORNIA ("KALIFORNSK� UNIVERZITA") NEN� V ��DN�M
- P��PAD� ODPOV�DNA ��DN� T�ET� OSOB� ZA P��MOU, NEP��MOU, ZVL��TN�,
- NAHODILOU NEBO V�SLEDNOU �KODU, V�ETN� U�L�HO ZISKU, ZP�SOBENOU U�IT�M
- TOHOTO SOFTWARU A DOKUMENTACE K N�MU, A TO I V P��PAD�, �E THE
- UNIVERSITY OF CALIFORNIA BYLA INFORMOV�NA O MO�NOSTI VZNIKU TAKOV� �KODY.</p>
-
-
- <p>THE UNIVERSITY OF CALIFORNIA ZEJM�NA NEPOSKYTUJE JAK�KOLI Z�RUKY, A TO
- NEJEN Z�RUKY OBCHODOVATELNOSTI A VHODNOSTI TOHOTO V�ROBKU KE SPECIFICK�M
- ��EL�M. NͮE UVEDEN� SOFTWARE JE POSKYTNUT "JAK STOJ� A LE��" A THE
- UNIVERSITY OF CALIFORNIA NEN� POVINNA ZAJISTIT JEHO �DR�BU, PODPORU,
- AKTUALIZACI, VYLEP�EN� NEBO MODIFIKACI.</p>
-
- <p>V��e uveden� je BSD licence, b�n� licence otev�en�ho zdroje. Nen� zde
- ��dn� omezen� ohledn� u�it� k�du zdroje. Jsme s t�m spokojeni a nem�me v
- �myslu na t�to skute�nosti cokoli m�nit.</p>
-
-
-<h3><a name="1.3">1.3</a> Na kter�ch Unixex lze spustit PostgreSQL?</h3>
-
-<p>PostgreSQL b�� na v�ech modern�ch unixov�ch platform�ch. V instala�n�ch
-instrukc�ch naleznete aktu�ln� seznam v�ech platforem na kter�ch byla
-testov�n�m ov��ena funkcionalita PostgreSQL.</p>
-
-<h3><a name="1.4">1.4</a> Kter� ne-unixov� platformy jsou podporovan�?</h3>
-
-<h4>Klient</h4>
-
-<p>Knihovna libpq, psql a n�kter� dal�� moduly byly p�elo�eny pro
-MS Windows. Klienta lze provozovat na MS Windows, ten prost�ednictv�m
-TCP/IP protokolu komunikuje se serverem b��c�m na n�kter� z podporovan�ch
-Unixov�ch platforem. K p�ekladu lze pou��t win32.mak a
-Win32 knihovny libpq a psql. K datab�zi PostgerSQL lze p�istupovat skrze
-rozhran� ODBC.</p>
-
-<h4>Server</h4>
-<p>Server m��e b�t na WindowsNT a Win2k provozov�n pouze s knihovnou Cygwin,
-Cygnus Unix/NT porting library. Na nativn�m portu pro MS Win NT/2000/XP
-se pracuje. Existuj�c� port pro Novell Netware 6 naleznete na
-<a href="http://forge.novell.com/">http://forge.novell.com</a>. </p>
-
-<h3><a name="1.5">1.5</a> Kde mohu z�skat PostgreSQL?</h3>
-
-<p>Prim�rn�m anonymn�m ftp serverem pro PostgreSQL je
-<a href="ftp://ftp.postgresql.org/pub">ftp://ftp.PostgreSQL.org/pub</a>
-. Seznam zrcadel naleznete na na�ich
-webov�ch str�nk�ch.</p><p>
-
-</p><h3><a name="1.6">1.6</a> Kde mohu z�skat podporu?</h3>
-
-<p>Hlavn�m mailov� konference je [email protected]. Slou��
-k diskuz�m ohledn� PostgreSQL. P�ihl�s�te se zasl�n�m mailu
-obsahuj�c� n�sleduj�c� ��dky v t�le dopisu (nikoliv v z�hlav� - subjectu)</p>
-<pre>subscribe
-end
-</pre>
-na adresu <a href="mailto:[email protected]">mailto:[email protected]</a>.<p></p>
-
-<p>M��ete si vy��dat denn� p�ehled (diggest), kter� m� zhruba 30K denn� zpr�v.
-
-</p><p>Konference psql-bugs je ur�ena k zas�l�n� zpr�v o chyb�ch. Pro p�ihl�en�
-po�lete mail se stejn�m obsahem jako v p�edchoz�m p��pad� na adresu
-<href ="mailto:[email protected]">mailto:[email protected].</href></p>
-
-<p>Do v�voj��sk� konference se p�ihl�s�te odesl�n�m dopisu s
-ji� zmi�ovan�m obsahem na <a href="mailto:[email protected]">mailto:[email protected]</a>.</p>
-
-<p>Seznam dal��ch konferenc� naleznete na str�nk�ch PostgreSQL
-<a href="http://www.postgresql.org/">http://www.postgresql.org</a></p>
-
-<h3><a name="1.7">1.7</a> Kde je posledn� verze?</h3>
-
-<p>Posledn� verz� je PostgreSQL 7.4.. Pl�nujeme uvolnit velkou verzi
-ka�d�ch �est a� osm m�s�c�.</p>
-
-<h3><a name="1.8">1.8</a> Jak� je dostupn� dokumentace?</h3>
-
-<p>R�zn� manu�ly, manu�lov� str�nky a n�kolik mal�ch testovac�ch p��klad�
-jsou sou��sti distribuce. Pod�vejte se do adres��e /doc. Manu�ly jsou
-p��stupn� online na <a href="http://www.postgresql.org/docs">http://www.PostgreSQL.org/docs</a>.</p>
-
-<p>Na adres�ch <a href="http://www.postgresql.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a> a
-<a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> naleznezte dv� online knihy o
-PostgreSQL. Seznam dostupn� literatury je na
-<a href="http://techdocs.postgresql.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</a>. Soubor
-technick�ch �l�nk� s tematikou PostgresQL najdete na
-<a href="http://techdocs.postgresql.org/">http://techdocs.PostgreSQL.org/</a>.</p>
-
-<p>psql m� u�ite�n� metap��kaz \d slou��c� k zobrazen� informac�
-o typech, oper�torech, funkc�, agrega�n�ch funkc� atd.</p>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <META name="generator" content="HTML Tidy, see www.w3.org">
+ <META http-equiv="Content-Type" content="text/html; charset="iso-8859-2">
+ <META http-equiv="Content-language" content="cs">
+ <META name="description" lang="en" content="Czech translation of FAQ for PostgreSQL">
+ <META name="description" lang="cs" content="�esk� p�eklad FAQ PostgreSQL">
+
+ <TITLE>PostgreSQL FAQ</TITLE>
+ </HEAD>
+
+ <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000"
+ alink="#0000ff">
+
+
+ <H1>�asto kladen� dotazy (FAQ) PostgreSQL</H1>
+
+ <P>Posledn� aktualizace: St�eda 23. �ervna 21:10:00 EST 2004</P>
+
+ <P>Sou�asn� spr�vce: Bruce Momjian (<A href=
+
+ <P>P�elo�il: Pavel St�hule (<A href=
+
+ <P>Aktu�ln� verzi tohoto dokumentu naleznete na adrese: <A href=
+ "http://www.PostgreSQL.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>.
+ �esk� p�eklad na adrese: <A href="http://www.PostgreSQL.org/docs/faqs/FAQ_czech.html">
+ http://www.PostgreSQL.org/docs/faqs/FAQ_czech.html</A>.</P>
+
+ <P>Odpov�di na dotazy relevantn� ke konkr�tn�m platform�m
+ lze nal�zt na adrese: <A href="http://www.PostgreSQL.org/docs/index.html">
+ http://www.PostgreSQL.org/docs/index.html</A>.</P>
+ <HR>
+ <H2 align="center">Obecn� ot�zky</H2>
+
+ <A href="#1.1">1.1</A>) Co je PostgreSQL? Jak se vyslovuje?<BR>
+ <A href="#1.2">1.2</A>) Jak� je licence na PostgreSQL?<BR>
+ <A href="#1.3">1.3</A>) Na kter�ch Unixex lze spustit PostgreSQL?<BR>
+ <A href="#1.4">1.4</A>) Kter� ne-unixov� platformy jsou podporovan�?<BR>
+ <A href="#1.5">1.5</A>) Kde mohu z�skat PostgreSQL?<BR>
+ <A href="#1.6">1.6</A>) Kde mohu z�skat podporu?<BR>
+ <A href="#1.7">1.7</A>) Kde je posledn� verze?<BR>
+ <A href="#1.8">1.8</A>) Jak� je dostupn� dokumentace?<BR>
+ <A href="#1.9">1.9</A>) Kde najdu seznam zn�m�ch chyb nebo nepodporovan�ch vlastnost�?<BR>
+ <A href="#1.10">1.10</A>) Jak se mohu nau�it SQL?<BR>
+ <A href="#1.11">1.11</A>) Nem� PostgreSQL probl�my s rokem 2000?<BR>
+ <A href="#1.12">1.12</A>) Jak se p�ipojit k v�voj��sk�mu t�mu?<BR>
+ <A href="#1.13">1.13</A>) Kam podat report o chyb�?<BR>
+ <A href="#1.14">1.14</A>) Jak je na tom PostgreSQL v porovn�n� s jin�mi datab�zemi?<BR>
+ <A href="#1.15">1.15</A>) Jak lze finan�n� pomoci PostgreSQL?<BR>
+
+ <H2 align="center">User client dotazy</H2>
+
+ <A href="#2.1">2.1</A>) Kde naleznu ODBC ovlada�e pro PostgreSQL?<BR>
+ <A href="#2.2">2.2</A>) Jak� n�stroje lze pou��t pro PostgreSQL a web?<BR>
+ <A href="#2.3">2.3</A>) Existuje grafick� rozhran� pro PostgreSQL?<BR>
+ <A href="#2.4">2.4</A>) Kter� programovac� jazyky maj� podporu pro PostgreSQL?<BR>
+
+ <H2 align="center">Administrativn� dotazy</H2>
+
+ <A href="#3.1">3.1</A>) Jak nainstalovat PostgreSQL jinam ne� do /usr/local/pgsql?<BR>
+ <A href="#3.2">3.2</A>) P�i startu postmaster, dostanu chybov� hl�en� Bad System Call nebo
+ core dump. Pro�?<BR>
+ <A href="#3.3">3.3</A>) P�i startu postmastera dostanu hl�en� o chyb�
+ IpcMemoryCreate. Pro�?<BR>
+ <A href="#3.4">3.4</A>) P�i startu postmastera dostanu hl�en� o chyb� IpcSemaphoreCreate.
+ Pro�?<BR>
+ <A href="#3.5">3.5</A>) Jak povolit nebo zak�zat p��stup z jin�ch stanic?<BR>
+ <A href="#3.6">3.6</A>) Jak ladit datab�zov� stroj na lep�� v�kon?<BR>
+ <A href="#3.7">3.7</A>) Jak� jsou mo�nosti lad�n�?<BR>
+ <A href="#3.8">3.8</A>) Pro� dostanu "Sorry, too many clients", kdy� se zkou��m p�ipojit?<BR>
+ <A href="#3.9">3.9</A>) K �emu slou�� adres�� pgsql_tmp?<BR>
+ <A href="#3.10">3.10</A>) Pro� je po�adov�no dump a obnoven� (load) datab�ze b�hem upgrade
+ mezi velk�mi verzemi PostgreSQL?<BR>
+
+ <H2 align="center">Provozn� dotazy</H2>
+
+ <A href="#4.1">4.1</A>) ��m se li�� bin�rn� a norm�ln� kurzor?<BR>
+ <A href="#4.2">4.2</A>) Jak z�skat pouze prvn� ��dek dotazu? N�hodn� ��dek?<BR>
+ <A href="#4.3">4.3</A>) Jak z�sk�m seznam tabulek nebo jinak jak jej z�sk� psql?<BR>
+ <A href="#4.4">4.4</A>) Jak odstran�m sloupec tabulky, jak zm�n�m jeho typ?<BR>
+ <A href="#4.5">4.5</A>) Jak� je maxim�ln� velikost ��dku, tabulky a datab�ze?<BR>
+ <A href="#4.6">4.6</A>) Kolik diskov�ho prostoru je pot�eba k ulo�en� dat z norm�ln�ho
+ textov�ho souboru?<BR>
+ <A href="#4.7">4.7</A>) Jak z�sk�m seznam vytvo�en�ch tabulek, index�,
+ datab�z�?<BR>
+ <A href="#4.8">4.8</A>) M�j dotaz je pomal� a nepou��v� vytvo�en� indexy. Pro�?<BR>
+ <A href="#4.9">4.9</A>) Jak zjist�m, jak optimizer dotazu vyhodnocuje m�j dotaz?<BR>
+ <A href="#4.10">4.10</A>) Co to je R-tree index?<BR>
+ <A href="#4.11">4.11</A>) Co je Genetic Query Optimizer?<BR>
+ <A href="#4.12">4.12</A>) Jak prov�st vyhled�v�n� regul�rn�ho v�razu case sensitiv,
+ insensitiv? Jak pou��t index pro case insensitive vyhled�v�n�?<BR>
+ <A href="#4.13">4.13</A>) Jak v dotazu detekovat, �e polo�ka je NULL?<BR>
+ <A href="#4.14">4.14</A>) Jak� jsou rozd�ly mezi r�zn�mi znakov�mi typy?<BR>
+ <A href="#4.15.1">4.15.1</A>) Jak vytvo�it serial/auto-increment pole?<BR>
+ <A href="#4.15.2">4.15.2</A>) Jak z�skat hodnotu SERIAL po vlo�en� ��dku?<BR>
+ <A href="#4.15.3">4.15.3</A>) Nepovede currval() a nextval() k rozhozen� podm�nek p�i soub�hu s
+ jin�mi u�ivateli?<BR>
+ <A href="#4.15.4">4.15.4</A>) Pro� nen� vygenerovan� ��slo pou�ito p�i p�eru�en� transakce?
+ Pro� vznikaj� d�ry v ��slov�n� vlastn� sekvenc�/SERIAL sloupce?<BR>
+ <A href="#4.16">4.16</A>) Co to je OID? Co je to TID?<BR>
+ <A href="#4.17">4.17</A>) Jak� je v�znam n�kter�ch v�raz� pou�it�ch v PostgreSQL?<BR>
+ <A href="#4.18">4.18</A>) Pro� jsem z�skal chybov� hl�en� "ERROR: Memory exhausted in
+ AllocSetAlloc()"?<BR>
+ <A href="#4.19">4.19</A>) Jak se dozv�m, kterou verzi PostgreSQL pou��v�m?<BR>
+ <A href="#4.20">4.20</A>) Pro� operace s velk�mi objekty kon�� "invalid large obj descriptor"?<BR>
+ <A href="#4.21">4.21</A>) Jak vytvo�it sloupec obsahuj�c� implicitn� aktu�ln� datum?<BR>
+ <A href="#4.22">4.22</A>) Pro� jsou moje vno�en� dotazy pou��vaj�c� IN tak pomal�?<BR>
+ <A href="#4.23">4.23</A>) Jak prov�st vn�j�� spojen� (outer join)?<BR>
+ <A href="#4.24">4.24</A>) Jak prov�st dotaz nap��� n�kolika datab�zemi?<BR>
+ <A href="#4.25">4.25</A>) M��e funkce vr�tit v�ce ��dk� nebo sloupc�?<BR>
+ <A href="#4.26">4.26</A>) Pro� nelze spolehliv� vytv��et a ru�it do�asn� tabulky
+ v PL/pgSQL funkc�ch?<BR>
+ <A href="#4.27">4.27</A>) Jak� jsou mo�nosti replikace datab�z�?<BR>
+ <A href="#4.28">4.28</A>) Jak� jsou mo�nosti �ifrov�n� datab�z�?<BR>
+
+ <H2 align="center">Roz�i�ov�n� PostgreSQL</H2>
+
+ <A href="#5.1">5.1</A>) Napsal jsem UDF funkci, PostgreSQL v�ak kon�� dump core?<BR>
+ <A href="#5.2">5.2</A>) Jak mohu p�isp�t n�jak�mi �ikovn�mi datov�mi typy a funkcemi do
+ PostgreSQL?<BR>
+ <A href="#5.3">5.3</A>) Jak napsat funkci v C vracej�c� ntici?<BR>
+ <A href="#5.4">5.4</A>) Modifikoval jsem zdrojov� soubory. Tato zm�na nebyla p�i rekompilaci
+ vzata v potaz. Pro�?<BR>
+
+ <HR>
+
+ <H2 align="center">Obecn� ot�zky</H2>
+
+ <H4><A name="1.1">1.1</A>) Co je PostgreSQL? Jak se vyslovuje?</H2>
+
+ <P>PostgreSQL se vyslovuje <I>Post-Gres-Q-L</I>. Zvukov� z�znam je
+ dostupn� na adrese <A href="http://www.postgresql.org/postgresql.mp3"></A>.</P>
+
+ <P>PostgreSQL vych�z� z datab�ze POSTGRES (a st�le je n�kdy ozna�ov�n
+ zjednodu�en� jako Postgres) - v�zkumn�ho prototypu <SMALL>DBMS</SMALL> nov�
+ generace. Z postgresu byl p�evzat siln� datov� model a bohat� soubor
+ datov�ch typ� a jeho dotazovac� jazyk PostQuel byl nahrazen roz���enou
+ podmno�inou jazyka <SMALL>SQL</SMALL>. PostgreSQL lze pou��vat bez omezen� a jeho
+ zdrojov� k�dy jsou voln� k dispozici.</P>
+
+ <P>PostgreSQL vyv�j� t�m v�voj��� p�ihl�en�ch do v�voj��sk� konference
+ PostgreSQL. Sou�asn�m koordin�torem je Marc G. Fournier (<A href=
+ (viz <A href="#1.6">1.6</A> - jak se zapojit). Tento t�m je zodpov�dn� za ve�ker� v�voj
+ PostgreSQL. Jedn� se o ve�ejn� projekt, kter� nen� ��zen ��dnou firmou.
+ Pokud se chcete zapojit, p�e�t�te si developer's FAQ na adrese <A href=
+ "http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html">http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</A></P>
+
+ <P>Autory prvn� verze PostgreSQL 1.01 byli Andrew Yu and Jolly Chen. Do
+ portace, testov�n�, lad�n� a roz�i�ov�n� k�du se zapojilo mnoho dal��ch
+ v�voj��� . P�vodni k�d Postgresu, ze kter�ho PostgreSQL vych�z�, je
+ v�sledkem �sil� mnoha student� a program�tor� pracuj�c�ch pod veden�m
+ prof. Michaela Stonebrakera na University of California v Berkley.</P>
+
+ <P>P�vodn� n�zev software z Berkley byl Postgres. Po p�id�n� jazyka <SMALL>SQL</SMALL> se
+ n�zev zm�nil na Postgres95. Koncem roku 1996 byl RDBMS p�ejmenov�n na
+ PostgreSQL.</P>
+
+ <H4><A name="1.2">1.2</A>) Jak� je licence na PostgreSQL?</H4>
+
+ <P>PostgreSQL je p�edm�tem n�sleduj�c�ch autorsk�ch pr�v:</P>
+
+ <P>D�l�� copyright (c) 1996-2004, PostgreSQL Global Development Group
+ D�l�� copyright (c) 1994-6, Regents of the University of California</P>
+
+ <P>Ud�luje se opr�vn�n� k u�it�, rozmno�ov�n�, prov�d�n� �prav a
+ roz�i�ov�n� tohoto softwaru a dokumentace k n�mu, pro jak�koli ��ely,
+ bez licen�n�ho poplatku a bez p�semn� licen�n� smlouvy, za podm�nky, �e
+ na v�ech jeho kopi�ch je uvedeno ozn�men� o v��e uveden�ch pr�vech,
+ jako� i obsah tohoto a dvou n�sleduj�c�ch odstavc�.</P>
+
+ <P>THE UNIVERSITY OF CALIFORNIA ("KALIFORNSK� UNIVERZITA") NEN� V ��DN�M
+ P��PAD� ODPOV�DNA ��DN� T�ET� OSOB� ZA P��MOU, NEP��MOU, ZVL��TN�,
+ NAHODILOU NEBO V�SLEDNOU �KODU, V�ETN� U�L�HO ZISKU, ZP�SOBENOU U�IT�M
+ TOHOTO SOFTWARU A DOKUMENTACE K N�MU, A TO I V P��PAD�, �E THE
+ UNIVERSITY OF CALIFORNIA BYLA INFORMOV�NA O MO�NOSTI VZNIKU TAKOV�
+ �KODY.</P>
+
+ <P>HE UNIVERSITY OF CALIFORNIA ZEJM�NA NEPOSKYTUJE JAK�KOLI Z�RUKY, A TO
+ NEJEN Z�RUKY OBCHODOVATELNOSTI A VHODNOSTI TOHOTO V�ROBKU KE SPECIFICK�M
+ ��EL�M. NͮE UVEDEN� SOFTWARE JE POSKYTNUT "JAK STOJ� A LE��" A THE
+ UNIVERSITY OF CALIFORNIA NEN� POVINNA ZAJISTIT JEHO �DR�BU, PODPORU,
+ AKTUALIZACI, VYLEP�EN� NEBO MODIFIKACI.</P>
+
+ <P>V��e uveden� je BSD licence, b�n� licence otev�en�ho zdroje. Nen� zde
+ ��dn� omezen� ohledn� u�it� k�du zdroje. Jsme s t�m spokojeni a nem�me v
+ �myslu na t�to skute�nosti cokoli m�nit.</P>
+
+ <H4><A name="1.3">1.3</A>) Na kter�ch Unixex lze spustit PostgreSQL?</H4>
+
+ <P>PostgreSQL b�� na v�ech modern�ch unixov�ch platform�ch. V instala�n�ch
+ instrukc�ch naleznete aktu�ln� seznam v�ech platforem na kter�ch byla
+ testov�n�m ov��ena funkcionalita PostgreSQL.</P>
+
+ <H4><A name="1.4">1.4</A>) Kter� ne-unixov� platformy jsou podporovan�?</H4>
+
+ <P><STRONG>Klient</STRONG></P>
+
+ <P>Knihovna <I>libpq</I>, psql a n�kter� dal�� moduly byly p�elo�eny pro MS
+ Windows. Klienta lze provozovat na MS Windows, ten prost�ednictv�m
+ TCP/IP protokolu komunikuje se serverem b��c�m na n�kter� z
+ podporovan�ch Unixov�ch platforem. K p�ekladu lze pou��t <I>win32.mak</I> a
+ Win32 knihovny <I>libpq</I> a <I>psql</I>. K datab�zi PostgerSQL lze p�istupovat skrze
+ rozhran� <SMALL>ODBC</SMALL>.</P>
+
+ <P><STRONG>Server</STRONG><P>
+
+ <P>Server m��e b�t na WindowsNT a Win2k provozov�n pouze s knihovnou
+ Cygwin, Cygnus Unix/NT porting library. V�ce <I>pgsql/doc/FAQ_MSWIN</I> v
+ distribuci nebo MS Windows FAQ na adrese
+ <A href="http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN">http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN</A>.
+
+ <P>Na nativn�m portu pro MS Win NT/2000/XP se pracuje. Dal�� informace
+ o aktu�ln�m stavu PostgreSQL pro Windows naleznet na adrese
+ <A href="http://techdocs.postgresql.org/guides/Windows">http://techdocs.postgresql.org/guides/Windows</A> a
+ <A href="http://momjian.postgresql.org/main/writings/pgsql/win32.html">
+ http://momjian.postgresql.org/main/writings/pgsql/win32.html</A>.
+
+ <P>Existuj�c� port pro Novell Netware 6 naleznete na
+ <A href="http://forge.novell.com">http://forge.novell.com</A>.</P>
+
+ <H4><A name="1.5">1.5</A>) Kde mohu z�skat PostgreSQL?</H4>
-<p>V�ce dokumentace naleznete na na�ich webov�ch str�nk�ch.</p>
+ <P>Prim�rn�m anonymn�m ftp serverem pro PostgreSQL je
+ <A href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>.
+ Seznam zrcadel naleznete na na�ich webov�ch str�nk�ch.</P>
-<h3><a name="1.9">1.9</a> Kde najdu seznam zn�m�ch chyb nebo nepodporovan�ch vlastnost�?</h3>
-
-<p>PostgreSQL podporuje roz���enou podmno�inu SQL-92. V na�em <a href="http://developer.postgresql.org/todo.php">TODO</a> najdete
-seznam zn�m�ch chyb, chyb�j�c�ch vlastnost� a seznam vlastnost�,
-kter� budou do syst�mu implementov�ny v budoucnu (v�etn� priorit).</p>
-
-<h3><a name="1.10">1.10</a> Jak se mohu nau�it SQL?</h3>
-
-<p>V knize The PostgreSQL book na <a href="http://www.postgresql.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a>
-je vysv�tlen jazyk SQL (vy�la �esky). Dal�� dostupnou knihou je
-<a href="http://www.commandprompt.com/ppbook">http://www.commandprompt.com/ppbook</a>. Kvalitn� n�vody naleznete na
-<a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a>, na
-<a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://www.intermedia.net/support/sql/sqltut.shtm</a>,
-a na <a href="http://sqlcourse.com/">http://sqlcourse.com</a>.</p>
-
-<p>Dal�� je Teach Yourself SQL in 21 days, Second Edition na
-<a href="http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</a>.</p>
-
-<p>Mnoho u�ivatel� doporu�uje The Practical SQL Handbook, Bowman, Judith
-S., et al., Addison-Wesley. Jin� preferuj� The Complete Reference SQL,
-Groff et al., McGraw-Hill.</p>
-
-<h3><a name="1.11">1.11</a> Nem� PostgreSQL probl�my s rokem 2000?</h3>
-
-<p>Nem�, m��eme pracovat s datumy po roce 2000 na�eho letopo�tu i p�ed
-rokem 2000 p�.n.l. </p>
-
-<h3><a name="1.12">1.12</a> Jak se p�ipojit k v�voj��sk�mu t�mu?</h3>
-
-<p>Nejd��ve si st�hn�te nejnov�j�� zdroje a p�e�t�te si v�voj��skou
-dokumentaci na na�em webu nebo v distribuci. Pak se p�ihla�te do
-konferenc� pgsql-hackers a pgsql-patches. Kvalitn� z�platy
-pos�lejte do pgsql-patches.</p>
-
-<p>Pr�vo commit m� v cvs archivu asi t�in�cti lid�. Ka�d� z nich
-poslal mnoho kvalitn�ch z�plat, tak�e tehdej�� commiters m�li
-jistotu, �e budou p�edkl�dat jenom kvalitn� z�platy a mohli jim
-p�ed�lit v�t�� pr�va.</p>
-
-<h3><a name="1.13">1.13</a> Kam podat report o chyb�?</h3>
-
-<p>Nav�tivte na�i PostgreSQL BugTool str�nku na
-<a href="http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</a>, kter� obsahuje n�vod a
-sm�rnice jak podat chybov� report. </p>
-
-<p>Ov��te si na na�em ftp serveru <a href="ftp://ftp.postgresql.org/pub">ftp://ftp.PostgreSQL.org/pub</a>, zda-li
-m�te nejnov�j�� verzi PostgreSQL a zda-li k n� neexistuj� n�jak� z�platy.</p>
-
-<h3><a name="1.14">1.14</a> Jak je na tom PostgreSQL v porovn�n� s jin�mi datab�zemi?</h3>
-
-<p>Existuje n�kolik hledisek jak porovn�vat software: vlastnosti, v�kon,
-spolehlivost, podpora a cena.</p>
-
-<h4>Vlastnosti</h4>
- <p>PostgreSQL m� hodn� spole�n�ch vlastnost� s velk�mi komer�n�mi
- DBMS, nap�. transakce, vno�en� dotazy, spou�t�, pohledy,
- kontrolu referen�n� integrity a sofistikovan�
- zamyk�n�. Podporuje n�kter� vlastnosti, kter� tyto syst�my
- nemaj�, u�ivatelem definovan� typy, d�di�nost, pravidla, MVCC
- redukuj�c� zamyk�n�.</p>
-
-<h4>V�kon</h4>
- <p>V�konnostn� je na tom PostgreSQL podobn� jako dal�� komer�n�
- ale i open source datab�ze, v n��em je rychlej��, jindy
- pomalej��. V porovn�n� s MySQL a podobn�mi datab�zov�mi
- syst�my je PostgreSQL rychlej�� p�i v�ceu�ivatelsk�m
- p��stupu, slo�it�j��ch dotazech a zat��en� read/write dotazy. MySQL
- je rychlej�� v jednodu���ch dotazech s mal�m po�tem
- u�ivatel�. Nav�c, MySQL nepodporuje mnoh� vlatnosti zm�n�n� v
- sekci vlastnosti. Zapracovali jsme na spolehlivosti a podporovan�ch
- vlastnostech, a v�kon zvy�ujeme v ka�d�
- verzi. Zaj�mavou str�nku porovn�vaj�c� PostgreSQL a MySQL
- naleznete na
- <a href="http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html</a>. Za v�vojem MySQL
- nen� Open Source komunita, ale komer�n� spole�nost, p�esto�e
- svoje produkty distribuuje jako Open Source.</p>
-
-<h4>Spolehlivost</h4>
- <p>Jsme si v�domi, �e datab�ze mus� b�t spolehliv�, jinak je
- nepou�iteln�. Sna��me se zve�ej�ovat dob�e otestovan�, stabiln� k�d s
- minimem chyb. Ka�d� verze je v�ce ne� m�s�c v beta testov�n�,
- a na�e historie verz� ukazuje, �e m��eme nab�dnout stabiln�,
- solidn� verze, kter� jsou p�ipraveny pro re�ln� nasazen�. V
- t�to oblasti jsme srovnateln� s dal��mi datab�zemi. </p>
-
-<h4>Podpora</h4>
- <p>Na na�� mailov� konferenci m��ete kontaktovat velkou skupinu
+ <H4><A name="1.6">1.6</A>) Kde mohu z�skat podporu?</H4>
+
+ <P>Hlavn� mailov� konference je: <A href="mailto:[email protected]">
+ [email protected]</A>. Slou�� k
+ diskuz�m ohledn� PostgreSQL. P�ihl�s�te se zasl�n�m mailu obsahuj�c�
+ n�sleduj�c� ��dky v t�le dopisu (nikoliv v z�hlav� - subjectu):</P>
+<PRE>
+ subscribe
+ end
+</PRE>
+ na adresu <A href="mailto:[email protected]">
+
+ <P>M��ete si vy��dat denn� p�ehled (diggest), kter� m� zhruba 30K denn�
+ zpr�v.</P>
+
+ <P>Konference psql-bugs je ur�ena k zas�l�n� zpr�v o chyb�ch. Pro
+ p�ihl�en� po�lete mail se stejn�m obsahem jako v p�edchoz�m p��pad� na
+ adresu <A href="mailto:[email protected]">
+
+ <P>Do v�voj��sk� konference se p�ihl�s�te odesl�n�m dopisu s ji� zmi�ovan�m
+ obsahem na mailto:[email protected].</P>
+
+ <P>Seznam dal��ch konferenc� naleznete na str�nk�ch PostgreSQL:</P>
+ <BLOCKQUOTE>
+ <A href="http://www.postgresql.org">http://www.postgresql.org</A>
+ </BLOCKQUOTE>
+ <H4><A name="1.7">1.7</A>) Jak� je posledn� verze?</H4>
+
+ <P>Posledn� verze PostgreSQL je 7.4.3. Pl�nujeme uvolnit v�znamnou verzi
+ ka�d�ch �est a� osm m�s�c�.</P>
+
+ <H4><A name="1.8">1.8</A>) Jak� je dostupn� dokumentace?</H4>
+
+ <P>R�zn� manu�ly, manu�lov� str�nky a n�kolik mal�ch testovac�ch p��klad�
+ jsou sou��sti distribuce. Pod�vejte se do adres��e <I>/doc</I>. Manu�ly jsou
+ p��stupn� online na <A href="http://www.PostgreSQL.org/docs">http://www.PostgreSQL.org/docs</A>.</P>
+
+ <P>Na adres�ch <A href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A> a
+ <A href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</A>
+ naleznezte dv� online knihy o PostgreSQL. Seznam dostupn� literatury je na
+ <A href="http://techdocs.PostgreSQL.org/techdocs/bookreviews.php">
+ http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</A>. Soubor
+ technick�ch �l�nk� s tematikou PostgresQL najdete na <A href=
+ "http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</A>.</P>
+
+ <P><I>psql</I> m� u�ite�n� metap��kaz \d slou��c� k zobrazen� informac� o typech,
+ oper�torech, funkc�, agrega�n�ch funkc� atd.</P>
+
+ <P>V�ce dokumentace naleznete na na�ich webov�ch str�nk�ch.</P>
+
+ <H4><A name="1.9">1.9</A>) Kde najdu seznam zn�m�ch chyb nebo nepodporovan�ch vlastnost�?</H4>
+
+ <P>PostgreSQL podporuje roz���enou podmno�inu <SMALL>SQL-92</SMALL>. V na�em
+ <A href="http://developer.PostgreSQL.org/todo.php">TODO</A>
+ najdete seznam zn�m�ch chyb, chyb�j�c�ch vlastnost� a seznam vlastnost�,
+ kter� budou do syst�mu implementov�ny v budoucnu (v�etn� priorit).</P>
+
+ <H4><A name="1.10">1.10</A>) Jak se mohu nau�it SQL?</H4>
+
+ <P>V knize The PostgreSQL book na <A href=
+ "http://www.PostgreSQL.org/docs/awbook.html">
+ http://www.PostgreSQL.org/docs/awbook.html</A> je vysv�tlen jazyk SQL (vy�la
+ �esky). Dal�� dostupnou knihou je <A href=
+ "http://www.commandprompt.com/ppbook">http://www.commandprompt.com/ppbook</A>.
+ Kvalitn� n�vody naleznete na <A href=
+ "http://www.intermedia.net/support/sql/sqltut.shtm">
+ http://www.intermedia.net/support/sql/sqltut.shtm</A>, a na
+ <A href="http://sqlcourse.com">http://sqlcourse.com</A>.</P>
+
+ <P>Dal�� je Teach Yourself SQL in 21 days, Second Edition na <A href=
+ "http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</A>.</P>
+
+ <P>Mnoho u�ivatel� doporu�uje <I>The Practical SQL Handbook</I>, Bowman, Judith
+ S., et al., Addison-Wesley. Jin� preferuj� <I>The Complete Reference SQL</I>,
+ Groff et al., McGraw-Hill.</P>
+
+ <H4><A name="1.11">1.11</A>) Nem� PostgreSQL probl�my s rokem 2000?</H4>
+
+ <P>Nem�, m��eme pracovat s datumy po roce 2000 na�eho letopo�tu i p�ed
+ rokem 2000 p�.n.l.</P>
+
+ <H4><A name="1.12">1.12</A>) Jak se p�ipojit k v�voj��sk�mu t�mu?</H4>
+
+ <P>Nejd��ve si st�hn�te nejnov�j�� zdroje a p�e�t�te si v�voj��skou
+ dokumentaci na na�em webu nebo v distribuci. Pak se p�ihla�te do
+ konferenc� <I>pgsql-hackers</I> a <P>pgsql-patches</I>. Kvalitn� z�platy pos�lejte do
+ pgsql-patches.</P>
+
+ <P>Pr�vo commit m� v <SMALL>CVS</SMALL> archivu asi t�in�cti lid�. Ka�d� z nich poslal
+ mnoho kvalitn�ch z�plat, tak�e tehdej�� commiters m�li jistotu, �e budou
+ p�edkl�dat jenom kvalitn� z�platy a mohli jim p�ed�lit v�t�� pr�va.</P>
+
+ <H4><A name="1.13">1.13</A>) Kam podat report o chyb�?</H4>
+
+ <P>Nav�tivte na�i PostgreSQL BugTool str�nku na <A href=
+ "http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>,
+ kter� obsahuje n�vod a sm�rnice jak podat chybov� report.</P>
+
+ <P>Ov��te si na na�em ftp serveru <A href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>,
+ zda-li m�te nejnov�j�� verzi PostgreSQL a zda-li k n� neexistuj� n�jak� z�platy.</P>
+
+ <H4><A name="1.14">1.14</A>) Jak je na tom PostgreSQL v porovn�n� s jin�mi datab�zemi?</H4>
+
+ <P>Existuje n�kolik hledisek jak porovn�vat software: vlastnosti, v�kon,
+ spolehlivost, podpora a cena.</P>
+ <DL>
+ <DT><B>Vlastnosti</B></DT>
+ <DD>PostgreSQL m� hodn� spole�n�ch vlastnost� s velk�mi komer�n�mi
+ <SMALL>DBMS</SMALL>, nap�. transakce, vno�en� dotazy, spou�t�, pohledy, kontrolu
+ referen�n� integrity a sofistikovan� zamyk�n�. Podporuje n�kter�
+ vlastnosti, kter� tyto syst�my nemaj�, u�ivatelem definovan� typy,
+ d�di�nost, pravidla, MVCC redukuj�c� zamyk�n�.</BR></BR></DD>
+
+ <DT><B>V�kon</B></DT>
+ <DD>V�konnostn� je na tom PostgreSQL podobn� jako dal�� komer�n� ale
+ i open source datab�ze, v n��em je rychlej��, jindy pomalej��.
+ V porovn�n� s MySQL a podobn�mi datab�zov�mi syst�my je PostgreSQL
+ rychlej�� p�i v�ceu�ivatelsk�m p��stupu, slo�it�j��ch dotazech
+ a zat��en� read/write dotazy. MySQL je rychlej�� v jednodu���ch
+ dotazech s mal�m po�tem u�ivatel�. Nav�c, MySQL nepodporuje mnoh�
+ vlatnosti zm�n�n� v sekci <I>vlastnosti</I>. Zapracovali jsme na
+ spolehlivosti a podporovan�ch vlastnostech, a v�kon zvy�ujeme
+ v ka�d� verzi. Zaj�mavou str�nku porovn�vaj�c� PostgreSQL a MySQL
+ naleznete na <A href="http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html</A>.
+ Za v�vojem MySQL nen� Open Source komunita, ale komer�n� spole�nost,
+ p�esto�e svoje produkty distribuuje jako Open Source.<BR><BR></DD>
+
+ <DT><B>Spolehlivost</B></DT>
+ <DD>Jsme si v�domi, �e datab�ze mus� b�t spolehliv�, jinak je
+ nepou�iteln�. Sna��me se zve�ej�ovat dob�e otestovan�, stabiln�
+ k�d s minimem chyb. Ka�d� verze je v�ce ne� m�s�c v beta testov�n�,
+ a na�e historie verz� ukazuje, �e m��eme nab�dnout stabiln�, solidn�
+ verze, kter� jsou p�ipraveny pro re�ln� nasazen�. V t�to oblasti
+ jsme srovnateln� s dal��mi datab�zemi.</BR></BR></DD>
+
+ <DT><B>Podpora</B></DT>
+ <DD>Na na�� mailov� konferenci m��ete kontaktovat velkou skupinu
v�voj��� a u�ivatel�.probl�m�. Nem��eme garantovat opravu,
- nicm�n� komer�n� datab�ze tak� ne v�dy nab�dnou opravu. Podle ohlas�
- je na�e podpora hodnocena l�pe ne� u jin�ch DBMS a to d�ky
- p��m�mu kontaktu s v�voj��i, velkou komunitou u�ivatel�,
+ nicm�n� komer�n� datab�ze tak� ne v�dy nab�dnou opravu. Podle
+ ohlas� je na�e podpora hodnocena l�pe ne� u jin�ch <SMALL>DBMS</SMALL> a to
+ d�ky p��m�mu kontaktu s v�voj��i, velkou komunitou u�ivatel�,
kvalitn�mi manu�ly a p��stupn�m zdrojov�m k�dem. Pro u�ivatele,
- kte�� vy�aduj� podporu ke konkr�tn�m p��pad�m, existuje placen� podpora
- (FAQ sekce 1.6).</p>
+ kte�� vy�aduj� podporu ke konkr�tn�m p��pad�m, existuje placen�
+ podpora (<A href="#1.6">FAQ sekce 1.6</A>).<BR><BR></DD>
-<h4>Cena</h4>
- <p>PosgreSQL lze voln� pou��vat pro nekomer�n� i komer�n�
- pou�it�. M��ete do sv�ch produkt� p�idat n� k�d bez omezen�,
- respektive v souladu s podm�nkami na�� licen�n� smlouvy (v duchu BSD
- licence).</p>
+ <DT><B>Cena</B><DT>
+ <DD>PosgreSQL lze voln� pou��vat pro nekomer�n� i komer�n� pou�it�.
+ M��ete do sv�ch produkt� p�idat n� k�d bez omezen�, respektive
+ v souladu s podm�nkami na�� licen�n� smlouvy (v duchu BSD licence).<BR>
+ <BR></DD>
+ </DL>
-<h3><a name="1.15">1.15</a> Jak lze finan�n� pomoci PostgreSQL?</h3>
+ <H4><A name="1.15">1.15</A>) Jak lze finan�n� pomoci PostgreSQL?</H4>
-<p>PosgreSQL m� prvot��dn� infrastrukturu od na�eho za��tku v roce
-1996. Vd���me za to Marku Fournierovi, kter� zalo�il a spravoval tuto
-infrastrukturu n�kolik let.</p>
+ <P>PosgreSQL m� prvot��dn� infrastrukturu od na�eho za��tku v roce 1996.
+ Vd���me za to Marku Fournierovi, kter� zalo�il a spravoval tuto
+ infrastrukturu n�kolik let.</P>
-<p>Kvalitn� infrastruktura je velice d�le�it� pro ka�d� open source
-projekt. P�edch�z� nedorozum�n�m, kter� velice zdr�uj� pokrok v projektu.</p>
+ <P>Kvalitn� infrastruktura je velice d�le�it� pro ka�d� open source
+ projekt. P�edch�z� nedorozum�n�m, kter� velice zdr�uj� pokrok v
+ projektu.</P>
-<p>Tato infrastruktura nen� lacin�. K jej�mu zaji�t�n� je t�eba st�le hradit ur�it�
-m�s��n� a jednor�zov� ��stky. Pokud m�te Vy nebo Va�e spole�nost
-pen�ze, kter� n�m m��ete darovat, obra�e se na <a href="http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</a> a darujte je.</p>
+ <P>Tato infrastruktura nen� lacin�. K jej�mu zaji�t�n� je t�eba st�le
+ hradit ur�it� m�s��n� a jednor�zov� ��stky. Pokud m�te Vy nebo Va�e
+ spole�nost pen�ze, kter� n�m m��ete darovat, obra�e se na <A href=
+ "http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</A> a darujte je.</P>
-<p>A�koliv webov� str�nka zmi�uje PostgreSQL, Inc. vklady jsou ur�eny
-pouze k podpo�e projektu PostgreSQL a nepodporuj� ��dnou existuj�c�
-spole�nost. Pokud to vy�adujete, m��ete poslat kontrolu na na�i kontaktn�
-adresu.</p>
+ <P>A�koliv webov� str�nka zmi�uje PostgreSQL, Inc. vklady jsou ur�eny pouze
+ k podpo�e projektu PostgreSQL a nepodporuj� ��dnou existuj�c�
+ spole�nost. Pokud to vy�adujete, m��ete poslat kontrolu na na�i
+ kontaktn� adresu.</P>
+ <HR>
-<p>Pokud m�te p��klad �sp�n�ho nasazen� PostgreSQL, p�ihla�t� se na n�
-advocacy site na <a href="http://advocacy.postgresql.org/">http://advocacy.postgresql.org</a>.</p>
-<hr>
+ <P>Pokud m�te p��klad �sp�n�ho nasazen� PostgreSQL, p�ihla�t� se na n�
+ advocacy site na <A href="http://advocacy.postgresql.org">http://advocacy.postgresql.org</A>.</P>
-<h2>User client dotazy</h2>
+ <H2 align="center">User client dotazy</H2>
-<h3><a name="2.1">2.1</a> Kde naleznu ODBC ovlada�e pro PostgreSQL?</h3>
+ <H4><A name="2.1">2.1</A>) Kde naleznu <SMALL>ODBC</SMALL> ovlada�e pro PostgreSQL?</H4>
-<p>Pro PostgreSQL existuj� dva ODBC ovlada�e - PsqlODBC a OpenLink ODBC.</p>
+ <P>Pro PostgreSQL existuj� dva <SMALL>ODBC</SMALL> ovlada�e - PsqlODBC a OpenLink ODBC.</P>
-<p>PsqlODBC je ke sta�en� na <a href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</a>.</p>
+ <P>PsqlODBC je ke sta�en� na <A href=
+ "http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">
+ http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</A>.</P>
-<p>OpenLink m��ete z�skat na <a href="http://www.openlinksw.com/">http://www.openlinksw.com</a>. Spolupracuje
-s jejich klientsk�m programov�m vybaven�m a je dostupn� pro v�echny jimi
-podporovan� platformy (Win, Mac, Unix, VMS).</p>
+ <P>OpenLink m��ete z�skat na <A href="http://www.openlinksw.com">http://www.openlinksw.com</A>.
+ Spolupracuje s jejich klientsk�m programov�m vybaven�m a je dostupn� pro v�echny jimi
+ podporovan� platformy (Win, Mac, Unix, VMS).</P>
-<p>Tento ovlada� je ur�en pro ty, kte�� vy�aduj� podporu komer�n� kvality,
-nicm�n� freeware verze je dostupn� a funk�n�. Dotazy zas�lejte
+ <P>Tento ovlada� je ur�en pro ty, kte�� vy�aduj� podporu komer�n� kvality,
+ nicm�n� freeware verze je dostupn� a funk�n�. Dotazy zas�lejte na <A href=
-<h3><a name="2.2">2.2</a> Jak� n�stroje lze pou��t pro PostgreSQL a web?</h3>
+ <H4><A name="2.2">2.2</A>) Jak� n�stroje lze pou��t pro PostgreSQL a web?</H4>
-<p>P�kn� �vod do datab�zov�ch technologi� zabezpe�uj�c�ch chod
-webov�ch str�nek najdete na <a href="http://www.webreview.com/">http://www.webreview.com</a>.</p>
+ <P>P�kn� �vod do datab�zov�ch technologi� zabezpe�uj�c�ch chod webov�ch
+ str�nek najdete na <A href="http://www.webreview.com">http://www.webreview.com</A>.</P>
-<p>Pro tvorbu webu existuje excelentn� rozhran� PHP, kter� naleznete na
-<a href="http://www.php.net/">http://www.php.net</a>.</p>
+ <P>Pro tvorbu webu existuje excelentn� rozhran� PHP, kter� naleznete na
+ <A href="http://www.php.net">http://www.php.net</A>.</P>
-<p>Pro slo�it�j�� p��pady se �asto pou��v� Perl a CGI.pm nebo mod_perl.</p>
+ <P>Pro slo�it�j�� p��pady se �asto pou��v� Perl a CGI.pm nebo mod_perl.</P>
-<h3><a name="2.3">2.3</a> Existuje grafick� rozhran� pro PostgreSQL?</h3>
+ <H4><A name="2.3">2.3</A>) Existuje grafick� rozhran� pro PostgreSQL?</H4>
-<p>Pro PostgreSQL existuje n�kolik grafick�ch rozhran�:
-PgAccess (<a href="http://www.php.net/">http://www.php.net</a>), PgAdmin (<a href="http://www.php.net/">http://www.php.net</a>), RHDB
-Admin (<a href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</a>) a Rekall
-(<a href="http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</a>). D�le existuje
-PHPPgAdmin (<a href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/</a>) rozhran�
-PostgreSQL zalo�en� na web technologii.</p>
+ <P>Pro PostgreSQL existuje n�kolik grafick�ch rozhran�: PgAccess
+ (<A href="http://www.php.net">http://www.php.net</A>), PgAdmin III
+ (<A href="http://www.php.net">http://www.php.net</A>), RHDB Admin
+ (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>) a Rekall (
+ <A href="http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</A>).
+ D�le je�t� PhpPgAdmin
+ (<A href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/</A>) co� je rozhran� PostgreSQL
+ zalo�en� na web technologii.</P>
-<p>�pln�j�� seznam najdete na <a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a>.</p>
+ <P>�pln�j�� seznam najdete na <A href=
+ "http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</A>.</P>
-<h3><a name="2.4">2.4</a> Kter� programovac� jazyky maj� podporu pro PostgreSQL?</h3>
+ <H4><A name="2.4">2.4</A>) Kter� programovac� jazyky maj� podporu pro PostgreSQL?</H4>
-<p>V�t�ina programovac�ch jazyk� obsahuje rozhran� pro
-PostgreSQL. Pod�vejte se do roz�i�uj�c�ch modul� Va�eho programovac�ho
-jazyka.</p>
+ <P>V�t�ina programovac�ch jazyk� obsahuje rozhran� pro PostgreSQL.
+ Pod�vejte se do roz�i�uj�c�ch modul� Va�eho programovac�ho jazyka.</P>
-<p>Distribuce PostgreSQL obsahuje tato rozhran�:
- </p><ul>
- <li> C (libpq)
- </li><li> Embbedded C (ecpg)
- </li><li> Java (jdbc)
- </li><li> Python (PyGreSQL)
- </li><li> TCL (libpgtcl)
-</li></ul>
-<p>Dal�� rozhran� jsou dostupn� na <a href="http://gborg.postgresql.org/">http://gborg.postgresql.org</a> v sekci
-Drivers/Interfaces. </p>
-<hr>
+ <P>Distribuce PostgreSQL obsahuje tato rozhran�:</P>
+ <UL>
+ <LI>C (libpq)</LI>
+ <LI>Embbedded C (ecpg)</LI>
+ <LI>Java (jdbc)</LI>
+ <LI>Python (PyGreSQL)</LI>
+ <LI>TCL (libpgtcl)</LI>
+ </UL>
+ <P>Dal�� rozhran� jsou dostupn� na <A href="http://gborg.postgresql.org">http://gborg.postgresql.org</A>
+ v sekci <I>Drivers/Interfaces</I>.</P>
+ <HR>
-<h2>Administrativn� dotazy</h2>
+ <H2 align="center">Administrativn� dotazy</H2>
-<h3><a name="3.1">3.1</a> Jak nainstalovat PostgreSQL jinam ne� do /usr/local/pgsql?</h3>
+ <H4><A name="3.1">3.1</A>) Jak nainstalovat PostgreSQL jinam ne� do /usr/local/pgsql?</H4>
-<p>Pou�ijte volbu --prefix p�i spu�t�n� configure</p>
+ <P>Pou�ijte volbu <I>--prefix</I> p�i spu�t�n� configure.</P>
-<h3><a name="3.2">3.2</a> P�i startu postmaster, dostanu chybov� hl�en� Bad System Call nebo
-core dump. Pro�?</h3>
+ <H4><A name="3.2">3.2</A>) P�i startu postmaster, dostanu chybov� hl�en� Bad System Call
+ nebo core dump. Pro�?</H4>
+
+ <P>D�vody mohou b�t r�zn�, ale nejprve zkontrolujte, zda V� syst�m
+ podporuje System V extensions. PostgreSQL vy�aduje v j�d�e podporu
+ sd�len� pam�ti a semafor�.</P>
+
+ <H4><A name="3.3">3.3</A>) P�i startu postmastera dostanu hl�en� o chyb� IpcMemoryCreate. Pro�?</H4>
-<p>D�vody mohou b�t r�zn�, ale nejprve zkontrolujte, zda V� syst�m
-podporuje System V extensions. PostgreSQL vy�aduje v j�d�e podporu
-sd�len� pam�ti a semafor�.</p>
+ <P>Bu�to nem�te spr�vn� nakonfigurovanou sd�lenou pam� v j�d�e nebo musite
+ zv�t�it jej� velikost. Pot�ebn� velikost je z�visl� na architektu�e a na
+ tom, kolik pam�ov�ch buffer� a backend� m�te povoleno pro postmastera.
+ Pro v�t�inu syst�m� s p�eddefinovan�m po�tem backend� a pam�ov�ch
+ buffer� je minimum zhruba 1MB. V PostgreSQL Administrator's Guide
+ naleznete podrobn�j�� informace o sd�len� pam�ti a semaforech.</P>
-<h3><a name="3.3">3.3</a> P�i startu postmastera dostanu hl�en� o chyb� IpcMemoryCreate. Pro�?</h3>
+ <H4><A name="3.4">3.4</A>) P�i startu postmastera dostanu hl�en� o chyb� IpcSemaphoreCreate.
+ Pro�?</H4>
-<p>Bu�to nem�te spr�vn� nakonfigurovanou sd�lenou pam� v j�d�e nebo
-musite zv�t�it jej� velikost. Pot�ebn� velikost je z�visl� na
-architektu�e a na tom, kolik pam�ov�ch buffer� a backend� m�te povoleno
-pro postmastera. Pro v�t�inu syst�m� s
-p�eddefinovan�m po�tem backend� a pam�ov�ch buffer� je
-minimum zhruba 1MB. V <a href="http://postgresql.ok.cz/PostgreSQL%20Administrator%27sGuide">http://www.postgresql.org/docs/view.php?version=current&amp;idoc=1&amp;file=kernel-resources.html</a>
-naleznete podrobn�j�� informace o sd�len� pam�ti a semaforech.</p>
+ <P>Pokud dostane chybovou zpr�vu IpcSemaphoreCreate: semget failed (No
+ space left on device), pak va�e j�dro nem� dost voln�ch semafor�.
+ PostgreSQL vy�aduje jeden semafor pro ka�d� backend v pozad�. Do�asn�m
+ �e�en�m je start <I>postmaster</I> s limitem backend�. Pou�ijte p�ep�na� <I>-N</I> s
+ hodnotou men�� ne� 32. �pln�m �e�en�m je zv��en� hodnot <SMALL>SEMMNS</SMALL>
+ a <SMALL>SEMMNI</SMALL> jadra.</P>
-<h3><a name="3.4">3.4</a> P�i startu postmastera dostanu hl�en� o chyb�
-IpcSemaphoreCreate. Pro�?</h3>
+ <P>Nefunk�n� semafory mohou zp�sobit p�d b�hem intenzivn�ch datab�zov�ch
+ operac�.</P>
+
+ <P>Pokud se tato chyba vyskytuje je�t� n�kde jinde, mo�n� nem�te v�bec
+ nakonfigurov�ny semafory ve va�em j�d�e. V PostgreSQL Administrator's
+ Guide najdete podrobn�j�� popis po�adavk� na sd�lenou pam�t a semafory.</P>
+
+ <H4><A name="3.5">3.5</A>) Jak povolit nebo zak�zat p��stup z jin�ch stanic?</H4>
-<p>Pokud dostane chybovou zpr�vu IpcSemaphoreCreate: semget failed (No
-space left on device), pak va�e j�dro nem� dost voln�ch semafor�. PostgreSQL
-vy�aduje jeden semafor pro ka�d� backend v pozad�. Do�asn�m
-�e�en�m je start postmastera s limitem backend�. Pou�ijte
-p�ep�na� -N s hodnotou men�� ne� 32. �pln�m �e�en�m je zv��en� hodnot
-SEMMNS a SEMMNI jadra.</p>
-
-<p>Nefunk�n� semafory mohou zp�sobit p�d b�hem intenzivn�ch datab�zov�ch
-operac�.</p>
-
-<p>Pokud se tato chyba vyskytuje je�t� n�kde jinde, mo�n� nem�te v�bec
-nakonfigurov�ny semafory ve va�em j�d�e. V PostgreSQL
-Administrator's Guide najdete podrobn�j�� popis po�adavk� na sd�lenou
-pam�t a semafory.</p>
-
-<h3><a name="3.5">3.5</a> Jak povolit nebo zak�zat p��stup z jin�ch stanic?</h3>
-
-<p>P�i v�choz�m nastaven� PostgreSQL odep�e p��stup z jin�ch stanic ne�
-lok�ln� s pou�it�m UDP. Datab�ze se zp��stupn� jin�m stanic�m
-nastaven�m p�ep�na�e -i postmastera a povolen�m stanice a ur�en�m
-re�imu autentifikace v $PGDATA/pg_hba.conf. T�m se povol� TCP/IP
-spojen�. ZASTARAL�</p>
-
-<h3><a name="3.6">3.6</a> Jak ladit datab�zov� stroj na lep�� v�kon?</h3>
-
-<p>Ur�it� pomohou indexy. P��kaz EXPLAIN zobraz� zp�sob interpretace
-Va�eho dotazu a pou�it� index�.</p>
-
-<p>P�i v�t�� d�vce INSERT� uva�ujte o n�hrad� p��kazem COPY. Ten je
-mnohem rychlej�� ne�li samotn� INSERT. Ka�d� p��kaz mimo blok
-BEGIN WORK/COMMIT se prov�d� ve vlastn� transakci. Zva�te, zda-li by
-se nedalo n�kolik p��kaz� spojit do jedn� transakce. T�m se sn���
-re�ie na transakce. P�ed proveden�m rozs�hl�ch zm�n zru�te indexy,
-kter� po dokon�en� zm�n op�t vytvo�te.</p>
-
-<p>M�te n�kolik dal��ch mo�nost�, jak zlep�it v�kon. M��ete zak�zat fsyn()
-p�i startu postmastera p�ep�na�i -o -F. Tyto p�ep�na�e zabr�n�
-fsync(), tj. z�pisu na disk po ka�d� transakci.</p>
-
-<p>M��ete zv��it velikost pam�ov�ch buffer� pou�it�ch backendy
-tj. parametr -B postmasteru. Pokud ale tato hodnota bude p��li�
-velk�, tak mo�n� nespust�te postmastera jeliko� dos�hnete limitu
-sd�len� pam�ti. Ka�d� buffer m� 8K a implicitn� je 64 buffer�.</p>
-
-<p>D�le m��ete pou��t p�ep�na� -S k zv��en� limitu pam�ti pro backendy
-na do�asn� t��d�n�. Hodnota je m�n�na v kilobytech a v�choz�
-nastaven� je 512, tj. 512K. </p>
-
-<p>M��ete pou��t p��kaz CLUSTER, kter� uspo��d� fyzicky data v
-tabulk�ch podle indexu. V�ce na manu�lov�ch str�nk�ch p��kazu
-CLUSTER.</p>
-
-<h3><a name="3.7">3.7</a> Jak� jsou mo�nosti lad�n�?</h3>
-
-<p>M�te n�kolik mo�nost� jak se dostat k u�ite�n�m stavov�m informac�m.</p>
-
-<p>Zaprv�, p�i p�ekladu pou�ijte p�ep�na� --enable-cassert, t�m se zapne
-monitorov�n� a n�sledn� zastaven� aplikace, kdy� se proces v backendu
-dostane do neo�ek�van�ho stavu.</p>
-
-<p>Jak postmaster tak postgres m� n�kolik p�ep�na�� umo��uj�c�ch
-lad�n�. Postmaster nastartujte tak, abyste si byli jisti, �e je
-standartn� v�stup a standartn� chybov� v�stup p�esm�rov�n do souboru
-logu, nap��klad:</p>
-<pre>cd /usr/local/pgsql
-./bin/postmaster &gt; server.log 2&gt;&amp;1 &amp;
-</pre>
-<p>T�m se vytvo�� log v adres��i PostgreSQL, Tento soubor obsahuje
-u�ite�n� informace o probl�mech a chyb�ch vyskytl�ch se na
-serveru. Postmaster m� p�ep�na� -d ur�uj�c�, jak podrobn� maj� b�t
-reportovan� informace, tj. debug level. Pozor, p�i velk� hodnot� debug
-levelu rychle roste velikost souboru logu.</p>
-
-<p>Pokud neb�� postmaster, m��ete spustit backend PostgreSQL z p��kazov�
-��dky a napsat sv�j SQL dotaz p��mo v backendu (doporu�eno pouze pro
-lad�n�). Dotaz je v tomto p��pad� ukon�en novou ��dkou, nikoliv
-st�edn�kem. Pokud m�te aplikaci p�elo�enou s lad�c�mi symboly, m��ete
-pou��t debbuger k monitorov�n� procesu. Pokud nen� backend spu�t�n
-postmasterem, pak neb�� ve sv�m obvykl�m prost�ed� a tud�� n�kter� probl�my
-dan� interakc� mezi backendy nemohou b�t nasimulov�ny.</p>
-
-<p>Pokud b�� postmaster, spus�e psql v jednom okn� a pak si zjist�te PID
-procesu postgres pou�it�ho psql. V debuggeru sep�ipojte k postgresql
-PID. Pak nastavte breakpointy v debuggeru a zadejte dotaz v
-psql. Pokud lad�te startup postgresu, pak nastavte PGOPTIONS="-W n" a
-spus�e psql. Tento p�ep�na� zp�sob� pauzu n sekund, tak�e budete m�t
-�as se p�ipojit k procesu, a nastavit breakpointy a pokra�ovat v
-startup posloupnosti.</p>
-
-<p>Pro lad�n� a m��en� v�konu mohou b�t u�ite�n� p�ep�na�e -s, -A a -t
-programu postgres (backend).</p>
-
-<p>M��ete prov�st p�eklad s profilac�, tak abyste vid�li kolik �asu
-zab�raj� jednotliv� funkce. Soubory s profily backend� jsou ulo�eny v
-adres��i pgsql/data/base/dbname. Profil klienta pak v jeho aktu�ln�m
-adres��i. Korektn� profilace v prost�ed� Linux po�aduje konfiguraci
-syst�mu s parametrem -DLINUX_PROFILE.</p>
-
-<h3><a name="3.8">3.8</a> Pro� dostanu "Sorry, too many clients", kdy� se zkou��m p�ipojit?</h3>
-
-<p>Zvy�te limit postmastera na maxim�ln� po�et sou�asn� spu�t�n�ch backend�.</p>
-
-<p>V�choz� hodnota je 32 backend�. Tuto hodnotu zv���te zastaven�m a
-op�tovn�m spu�t�n�m postmastera s parametrem -N nebo �pravou postgresql.conf.</p>
-
-<p>P�i zv��en� hodnoty -N nad 32 mus�te zv��it hodnotu -B nad v�choz� 64,
--B mus� b�t minim�ln� dvakr�t v�t��, nebo je�t� l�pe v�ce. Pravd�podobn�
-zjist�te, �e pro velk� po�et proces� backendu je nutn� zv��it n�kter�
-parametry j�dra. Jsou to p�edev��m maxim�ln� velikost sd�len� pam�ti SHMMAX,
-maxim�ln� po�et semaf�r� SEMMNS a SEMMNI, maxim�ln� po�et proces� NPROC,
-maxim�ln� po�et proces� u�ivatele MAXUPRC a maxim�ln� po�et otev�en�ch soubor�
-NFILE a NINODE. D�vod pro omezen� maxim�ln�ho po�tu backend� je fakt,
-�e by mohlo doj�t k vy�erp�n� zdroj� Va�eho syst�mu.</p>
-
-<h3><a name="3.9">3.9</a> K �emu slou�� adres�� pgsql_tmp?</h3>
-
-<p>Tento adres�� obsahuje do�asn� soubory vytvo�en� exekutorem
-dotaz�. Nap��klad, kdy� je nutn� t��d�n� k zaji�t�n� ORDER BY a
-t��d�n� m� v�t�� n�roky na prostor ne� povoluje parametr -S
-backendu, pak je vytvo�en do�asn� soubor k ulo�en� extra �daj�.</p>
-
-<p>Do�asn� soubory jsou obvykle maz�ny automaticky, ale m��e se st�t, �e
-b�hem t��d�n� server spadne. Zastaven� a dal�� start postmastera zajist�
-odstran�n� soubor� s t�chto adres���.</p>
-
-<h3><a name="3.10">3.10</a> Pro� je po�adov�no dump a obnoven� (load) datab�ze b�hem upgrade
-mezi velk�mi verzemi PostgreSQL?</h3>
-
-<p>PostgreSQL se minim�ln� m�n� b�hem mal�ch verz�, tak�e nap�. p�i upgrade z
-7.2 na 7.2.1 nen� nutn� dump a load datab�ze. Ale velk� verze �asto m�n�
-intern� form�t syst�mov�ch tabulek a datov�ch soubor�. Tyto zm�ny jsou
-natolik rozs�hl�, �e nelze zajistit zp�tnou kompatibilitu pro datov�
-soubory. Dump ulo�� data v obecn�m form�tu, tak�e mohou b�t na�tena a
-pou��v�na v nov�m intern�m form�tu.</p>
-<hr>
-
-<h2>Provozn� dotazy</h2>
-
-<h3><a name="4.1">4.1</a> ��m se li�� bin�rn� a norm�ln� kurzor?</h3>
-
-<p>Popis najdete v manu�lov� str�nce DECLARE</p>
-
-<h3><a name="4.2">4.2</a> Jak z�skat pouze prvn� ��dek dotazu? N�hodn� ��dek?</h3>
-
-<p>Pod�vejte se do man. str�nky p��kazu FETCH, nebo pou�ijte SELECT ...
-LIMIT ... </p>
-
-<p>Nen� nutn� zpracov�vat cel� dotaz, kdy� pot�ebujete pouze n�kolik prvn�ch
-��dk�. Pokud existuje index ORDER BY, PostgreSQL je schopen p�eru�it
-zpracov�n� dotazu po z�sk�n� po�adovan�ho po�tu ��dk�.</p>
-
-<p>K z�sk�n� n�hodn�ho ��dku pou�ijte:</p>
-<pre>SELECT col FROM tab
- ORDER BY random() LIMIT 1;
-</pre>
-<h3><a name="4.3">4.3</a> Jak z�sk�m seznam tabulek nebo jinak jak jej z�sk� psql?</h3>
-
-<p>Pod�vejte se do zdrojov�ch k�d� psql do souboru
-pgsql/src/bin/psql/describe.c. Ten obsahuje SQL p��kazy, kter� se
-pou��vaj� v psql metap��kazech. D�le m��ete spustit psql s p�ep�na�em
--E, kter� zp�sob� zobrazen� ka�d�ho dotazu, kter� zpracov�n�
-metap��kazu vyvol�.</p>
-
-<h3><a name="4.4">4.4</a> Jak odstran�m sloupec tabulky, jak zm�n�m jeho typ?</h3>
-
-<p>Po��naje verz� 7.3 m��ete pou��t p��kaz ALTER TABLE DROP COLUMN. Ve
-star��ch verz�ch m��ete pou��t n�sleduj�c� postup:</p>
-<pre>BEGIN;
-LOCK TABLE old_table;
-SELECT ... -- mimo sloupec, kter� chceme odstranit
- INTO TABLE new_table;
-DROP TABLE old_table;
-ALTER TABLE new_table RENAME TO old_table;
-COMMIT;
-</pre>
-<p>Pro zm�nu typu sloupce je t�eba prov�st:</p>
-<pre>BEGIN;
-ALTER TABLE tab ADD COLUMN new_col new_data_type;
-UPDATE tab SET new_col = CAST(old_col AS new_data_type;
-ALTER TABLE tab DROP COLUMN old_col;
-COMMIT;
-</pre>
-<p>Pot� prove�te VACUUM FULL tab - uvoln�te t�m diskov� prostor zabran�
-nyn� ji� neplatn�mi ��dky.</p>
-
-<h3><a name="4.5">4.5</a> Jak� je maxim�ln� velikost ��dku, tabulky a datab�ze?</h3>
-
-<p>PostgreSQL m� tato omezen�:</p>
-<table>
-<tbody><tr><td>Maxim�ln� velikost datab�ze:</td><td> neomezena (existuj� 32TB db)
-</td></tr><tr><td>Maxim�ln� velikost tabulky:</td><td> 32 TB
-</td></tr><tr><td>Maxim�ln� velikost ��dky:</td><td> 1.6 TB
-</td></tr><tr><td>Maxim�ln� velikost polo�ky</td><td> 1 GB
-</td></tr><tr><td>Maxim�ln� po�et ��dk� v tabulce:</td><td> neomezeno
-</td></tr><tr><td>Maxim�ln� po�et sloupc� v tabulce:</td><td> 250-1600 podle typ�
-</td></tr><tr><td>Maxim�ln� po�et index� na tabulce:</td><td> neomezeno
-</td></tr></tbody></table>
-<p>Ve skute�nosti nic nen� neomezeno, limitem b�v� v�dy dostupn� diskov�
-pam� nebo velikost opera�n� pam�ti. Pokud m�te n�kterou z t�chto
-hodnot neobvykle velkou, m��e doj�t ke sn��en� v�konu.</p>
-
-<p>Maxim�ln� velikost tabulky je 32 TB a nevy�aduje podporu velk�ch soubor�
-opera�n�m syst�mem. Velk� tabulky se ukl�daj� do n�kolika 1 GB soubor�
-tak�e limity souborov�ho syst�mu nejsou podstatn�.</p>
-
-<p>Maxim�ln� velikost tabulky a maxim�ln� po�et sloupc� m��eme
-ze�ty�n�sobit nastaven�m velikosti bloku na 32K.</p>
-
-<h3><a name="4.6">4.6</a> Kolik diskov�ho prostoru je pot�eba k ulo�en� dat z norm�ln�ho
-textov�ho souboru? </h3>
-
-<p>PostgreSQL vy�aduje a� p�tin�sobek diskov�ho prostoru k ulo�en� dat z
-textov�ho souboru.</p>
-
-<p>Nap��klad, uva�ujme soubor se 100 tis�ci ��dky obsahuj�c� na ka�d�
-��dce cel� ��slo a textov� popis. Text je v pr�m�ru dvacet byt�
-dlouh�. Textov� soubor bude 2.8 MB dlouh�. Velikost
-datab�ze obsahuj�c� odpov�daj�c� data bude zhruba 6.4 MB.</p>
-<pre> 36 byt�: hlavi�ka ��dku (p�ibli�n�)
- 24 byt�: jedna celo��seln� polo�ka a jedna textov�
- 4 byty: ukazatel na str�nku k ntici
-------------------------------------------------------
- 64 byt� na ��dek
-</pre>
-<p>Velikost datov� str�nky PostgreSQL je 8KB</p>
-<pre> 8192 byt� na str�nce
----------------------- = 128 ��dek na str�nku
- 64 byt� za ��dek
-
-100000 ��dek
--------------------- = 782 str�nek (zaokrouhleno nahoru)
-128 ��dek na str�nce
-
-782 * 8192 = 6, 406, 144 byt� (6.4 MB)
-</pre>
-<p>Indexy nemaj� tak velkou re�ii, ale mohou b�t tak� velk�,
-proto�e obsahuj� indexovan� data.</p>
-
-<p>Hodnoty NULL jsou ulo�eny v bitmap�ch, tak�e spot�ebuj� jen velmi m�lo
-diskov�ho prostoru.</p>
-
-<h3><a name="4.7">4.7</a> Jak z�sk�m seznam vytvo�en�ch tabulek, index�, datab�z�?</h3>
-
-<p>psql m� sadu metap��kaz� k zobrazen� t�chto informac�. Jejich seznam
-z�sk�te p��kazem \?. D�le se m��ete pod�vat na obsah syst�mov�ch
-tabulek za��naj�c�ch pg_. Spu�t�n� psql s parametrem -l provede
-v�pis n�zv� v�ech datab�z�.</p>
-
-<p>Soubor pgsql/src/tutorial/syscat.source obsahuje SELECTy p�istupuj�c�
-k syst�mov�m tabulk�mm.</p>
-
-<h3><a name="4.8">4.8</a> M�j dotaz je pomal� a nepou��v� vytvo�en� indexy. Pro�?</h3>
-
-<p>Ka�d� dotaz nemus� nutn� pou��t existuj�c� indexy. Index se pou�ije tehdy,
-kdy� je tabulka v�t�� ne� ur�it� minim�ln� velikost, a dotaz vyb�r�
-pouze procentu�ln� malou ��st ��dk� tabulky. To proto, �e n�hodn�
-p��stup k disku dan� �ten�m indexu m��e b�t pomalej�� ne� line�rn�
-�ten� tabulky nebo sekven�n� �ten�,</p>
-
-<p>PostgreSQL rozhoduje o pou�it� index� na z�klad� statistiky p��stup� k
-tabulce. Tyto statistiky se shroma��uj� p��kazy VACUUM ANALYZE nebo
-ANALYZE. D�ky statistik�m m� optimizer informaci o po�tu ��dek v
-tabulce a m��e l�pe rozhodnout o pou�it� index�. Statistiky se uplatn�
-p�i ur�en� optim�ln�ho po�ad� a metody spojen� tabulek. Statistiky by
-se m�li aktualizovat opakovan�, tak jak se m�n� obsah tabulek.</p>
-
-<p>Indexy nejsou oby�ejn� pou�ity pro set��d�n� nebo spojen�
-tabulek. Sekven�n� zpracov�n� n�sledovan� explicitn�m t��d�n�m je
-oby�ejn� rychlej�� ne� indexn� �ten� na velk� tabulce.</p>
-
-<p>Jinak je tomu v p��pad� pou�it� LIMIT a ORDER BY, p�i kter�m se
-v�t�inou index pou�ije, v�sledkem je pouze mal� ��st tabulky. Funkce
-MAX() a MIN() nepou��vaj� indexy, ale je mo�n� tut� hodnotu z�skat </p>
-<pre>SELECT col FROM tab
- ORDER BY col [ DESC ] LIMIT 1;
-</pre>
-<p>Pokud si mysl�te, �e optimizer myln� zvolil sekven�n� prohled�v�n�
-tabulky, pou�ijte p��kaz SET enable_seqscan TO 'off' a zkuste zda je
-indexn� prohled�v�n� rychlej��.</p>
-
-<p>P�i vyhled�v�n� na z�klad� vzoru jako je nap�. oper�tor LIKE nebo ~ se
-indexy pou��j� pouze za ur�it�ch skute�nost�:</p>
-<ul>
- <li> za��tek hledan�ho vzoru mus� b�t ukotven k za��tku, tj.
- <ul>
- <li>vzor LIKE nesm� za��nat %
- </li><li>regul�rn� v�raz mus� za��nat ^
- </li></ul>
- </li><li>vzor nesm� za��nat intervalem, nap�. [a-e]
- </li><li>vyhled�van�, kter� nen� Case sensitiv nepou��v� indexy. M��ete ale
- pou��t funkcion�ln� indexy, kter� jsou pos�ny v sekci 4.12
- </li><li>p�i inicializaci datab�ze (initdb) mus� b�t pou�ito C locale
- (pozn. p�ekladatele - tud�� v na�ich podm�nk�ch nepou�iteln�,
- nepracovalo by �esk� t��d�n�).
-</li></ul>
-
-<h3><a name="4.9">4.9</a> Jak zjist�m, jak optimizer dotazu vyhodnocuje m�j dotaz?</h3>
-
-<p>Pod�vejte se do manu�lov� str�nky p��kazu EXPLAIN.</p>
-
-<h3><a name="4.10">4.10</a> Co to je R-tree index?</h3>
-
-<p>R-tree index se pou��v� pro indexov�n� prostorov�ch dat. Hash index
-nem��e obslou�it prohled�v�n� oblast�. B-tree index m��e ��dit
-vyhled�n� oblast� v jedn� dimenzi. R-tree index m��e podporovat hled�n� v
-multidimenzion�ln�ch datech. Pou�ijeme-li nap��klad R-tree index na
-atributy typu point, pak syst�m m��e efektivn� odpov�d�t na dotaz -
-vyber v�echny body uvnit� obd�ln�k�.</p>
-
-<p>P�vodn� n�vrh R-tree je Guttman, A. "R-trees: A Dynamic Index
-Structure for Spatial Searching." Proceedings of the 1984 ACM SIGMOD
-Int'l Conf on Mgmt of Data, 45-57</p>
-
-<p>Tyto materi�ly naleznete v Stonebraker's "Readings in Database Systems".</p>
-
-<p>Vestav�n� R-tree m��e slou�it k indexaci polygon� a
-oblast�. Teoreticky m��eme R-tree pou��t i pro v�ce dimenz� (jin� ne� 3D).
-Ve skute�nosti ale takov� roz���en� R-tree vy�aduje trochu pr�ce a
-ve sou�astnosti chyb� dokumentace jak na to.</p>
-
-<h3><a name="4.11">4.11</a> Co je Genetic Query Optimizer?</h3>
-
-<p>GEQO modul urychluje optimalizaci dotaz� p�i spojov�n� mno�stv�
-tabulek metodou Genetick�ch algoritm� (GA). To umo��uje z�skat
-velk�ho mno�stv� variant spojen� p�i ne�pln�m prohled�v�n�m.</p>
-
-<h3><a name="4.12">4.12</a> Jak prov�st vyhled�v�n� regul�rn�ho v�razu case sensitiv,
-insensitiv? Jak pou��t index pro case insensitive vyhled�v�n�?</h3>
-
-<p>Oper�tor ~ slou�� k porov�n� s regul�rn�m v�razem, jeho modifikace *~
-p�edstavuje case insensitive vyhled�v�n�. Jedn� se o obdobu LIKE a
-ILIKE.</p>
-
-<p>Pro vyhled�v�n� bez ohledu na velk� mal� p�smena pou�ijeme</p>
-<pre>SELECT * FROM tab
- WHERE lower(col) = 'abc';
-</pre>
-<p>V tomto p��pad� se nepou�ije standardn� index. Nicm�n�, pou�ije se
-funkcion�ln� index, pokud jej vytvo��te </p>
-<pre>CREATE INDEX tabindex ON tab (lower(col));
-</pre>
-<h3><a name="4.13">4.13</a> Jak v dotazu detekovat, �e polo�ka je NULL?</h3>
-
-<p>Ur��te pomoc� IS NULL nebo IS NOT NULL</p>
-
-<h3><a name="4.14">4.14</a> Jak� jsou rozd�ly mezi r�zn�mi znakov�mi typy?</h3>
-<pre>Typ Intern� n�zev Pozn�mka
+ <P>P�i v�choz�m nastaven� PostgreSQL odep�e p��stup z jin�ch stanic ne�
+ lok�ln� s pou�it�m UDP. P��stup z jin�ch stroj� nen� mo�n� dokud
+ jej nepovol�te nastaven�m tcpip_socket v postgresql.conf <B>a</B> ur�en�m
+ zp�sobu autentifikace v <I>$PGDATA/pg_hba.conf</I>.</P>
+
+ <H4><A name="3.6">3.6</A>) Jak ladit datab�zov� stroj na lep�� v�kon?</H4>
+
+ <P>Ur�it� pomohou indexy. P��kaz <SMALL>EXPLAIN ANALYZE</SMALL> V�m umo�n� sledovat
+ jak PostgreSQL interpretuje V� dotaz a kter� indexy pou��v�.</P>
+
+ <P>P�i v�t�� d�vce INSERT� uva�ujte o n�hrad� p��kazem <SMALL>COPY</SMALL>. Ten je mnohem
+ rychlej�� ne�li samotn� <SMALL>INSERT</SMALL>. Ka�d� p��kaz mimo blok <SMALL>BEGIN WORK/COMMIT</SMALL>
+ se prov�d� ve vlastn� transakci. Zva�te, zda-li by se nedalo n�kolik
+ p��kaz� spojit do jedn� transakce. T�m se sn��� re�ie na transakce. P�ed
+ proveden�m rozs�hl�ch zm�n zru�te indexy, kter� po dokon�en� zm�n op�t
+ vytvo�te.</P>
+
+ <P>M�te n�kolik dal��ch mo�nost�, jak zlep�it v�kon. M��ete zak�zat <I>fsyn()</I>
+ p�i startu postmastera p�ep�na�i <I>-o -F</I>. Tyto p�ep�na�e zabr�n� <I>fsync()</I>,
+ tj. z�pisu na disk po ka�d� transakci.</P>
+
+ <P>M��ete zv��it velikost pam�ov�ch buffer� pou�it�ch backendy tj.
+ parametr <I>-B</I> postmasteru. Pokud ale tato hodnota bude p��li� velk�, tak
+ mo�n� nespust�te postmastera jeliko� dos�hnete limitu sd�len� pam�ti.
+ Ka�d� buffer m� 8K a implicitn� je 64 buffer�.</P>
+
+ <P>D�le m��ete pou��t p�ep�na� <I>-S</I> k zv��en� limitu pam�ti pro backendy na
+ do�asn� t��d�n�. Hodnota je m�n�na v kilobytech a v�choz� nastaven� je
+ 512, tj. 512K.</P>
+
+ <P>M��ete pou��t p��kaz <SMALL>CLUSTER</SMALL>, kter� uspo��d� fyzicky data v tabulk�ch
+ podle indexu. V�ce na manu�lov�ch str�nk�ch p��kazu <SMALL>CLUSTER</SMALL>.</P>
+
+ <H4><A name="3.7">3.7</A>) Jak� jsou mo�nosti lad�n�?</H4>
+
+ <P>M�te n�kolik mo�nost� jak se dostat k u�ite�n�m stavov�m informac�m.</P>
+
+ <P>Zaprv�, p�i p�ekladu pou�ijte p�ep�na� <I>--enable-cassert</I>, t�m se zapne
+ monitorov�n� a n�sledn� zastaven� aplikace, kdy� se proces v backendu
+ dostane do neo�ek�van�ho stavu.</P>
+
+ <P>Jak postmaster tak postgres m� n�kolik p�ep�na�� umo��uj�c�ch lad�n�.
+ Postmaster nastartujte tak, abyste si byli jisti, �e je standartn�
+ v�stup a standartn� chybov� v�stup p�esm�rov�n do souboru logu,
+ nap��klad:</P>
+<PRE>
+ cd /usr/local/pgsql
+ ./bin/postmaster > server.log 2>&1 &
+</PRE>
+ <P>T�m se vytvo�� log v adres��i PostgreSQL, Tento soubor obsahuje u�ite�n�
+ informace o probl�mech a chyb�ch vyskytl�ch se na serveru. Postmaster m�
+ p�ep�na� <I>-d</I> ur�uj�c�, jak podrobn� maj� b�t reportovan� informace, tj.
+ debug level. Pozor, p�i velk� hodnot� debug levelu rychle roste velikost
+ souboru logu.</P>
+
+ <P>Pokud neb�� postmaster, m��ete spustit backend PostgreSQL z p��kazov�
+ ��dky a napsat sv�j <SMALL>SQL</SMALL> dotaz p��mo v backendu (doporu�eno <B>pouze</B> pro
+ lad�n�). Dotaz je v tomto p��pad� ukon�en novou ��dkou, nikoliv
+ st�edn�kem. Pokud m�te aplikaci p�elo�enou s lad�c�mi symboly, m��ete
+ pou��t debbuger k monitorov�n� procesu. Pokud nen� backend spu�t�n
+ postmasterem, pak neb�� ve sv�m obvykl�m prost�ed� a tud�� n�kter�
+ probl�my dan� interakc� mezi backendy nemohou b�t nasimulov�ny.</P>
+
+ <P>Pokud b�� <I>postmaster</I>, spus�e <I>psql</I> v jednom okn� a pak si zjist�te <SMALL>PID</SMALL>
+ procesu postgres pou�it�ho psql. V debuggeru sep�ipojte k postgresql
+ <SMALL>PID</SMALL>. Pak nastavte breakpointy v debuggeru a zadejte dotaz v psql. Pokud
+ lad�te startup postgresu, pak nastavte PGOPTIONS="-W n" a spus�e <I>psql</I>.
+ Tento p�ep�na� zp�sob� pauzu n sekund, tak�e budete m�t �as se p�ipojit
+ k procesu, a nastavit breakpointy a pokra�ovat v startup posloupnosti.</P>
+
+ <P>Pro lad�n� a m��en� v�konu mohou b�t u�ite�n� p�ep�na�e <I>-s, -A</I> a <I>-t</I>
+ programu postgres (backend).</P>
+
+ <P>M��ete prov�st p�eklad s profilac�, tak abyste vid�li kolik �asu
+ zab�raj� jednotliv� funkce. Soubory s profily backend� jsou ulo�eny v
+ adres��i <I>pgsql/data/base/dbname</I>. Profil klienta pak v jeho aktu�ln�m
+ adres��i. Korektn� profilace v prost�ed� Linux po�aduje konfiguraci
+ syst�mu s parametrem <I>-DLINUX_PROFILE</I>.</P>
+
+ <H4><A name="3.8">3.8</A>) Pro� dostanu "Sorry, too many clients", kdy� se zkou��m p�ipojit?</H4>
+
+ <P>Zvy�te limit postmastera na maxim�ln� po�et sou�asn� spu�t�n�ch
+ backend�.</P>
+
+ <P>V�choz� hodnota je 32 backend�. Tuto hodnotu zv���te zastaven�m a
+ op�tovn�m spu�t�n�m postmastera s parametrem <I>-N</I> nebo �pravou
+ <I>postgresql.conf</I>.</P>
+
+ <P>P�i zv��en� hodnoty <I>-N</I> nad 32 mus�te zv��it hodnotu <I>-B</I> nad v�choz� 64,
+ <I>-B</I> mus� b�t minim�ln� dvakr�t v�t��, nebo je�t� l�pe v�ce. Pravd�podobn�
+ zjist�te, �e pro velk� po�et proces� backendu je nutn� zv��it n�kter�
+ parametry j�dra. Jsou to p�edev��m maxim�ln� velikost sd�len� pam�ti
+ <SMALL>SHMMAX</SMALL>, maxim�ln� po�et semaf�r� <SMALL>SEMMNS</SMALL> a <SMALL>SEMMNI</SMALL>, maxim�ln� po�et
+ proces� <SMALL>NPROC</SMALL>, maxim�ln� po�et proces� u�ivatele <SMALL>MAXUPRC</SMALL> a maxim�ln�
+ po�et otev�en�ch soubor� <SMALL>NFILE</SMALL> a <SMALL>NINODE</SMALL>. D�vod pro omezen� maxim�ln�ho
+ po�tu backend� je fakt, �e by mohlo doj�t k vy�erp�n� zdroj� Va�eho
+ syst�mu.</P>
+
+ <H4><A name="3.9">3.9</A>) K �emu slou�� adres�� pgsql_tmp?</H4>
+
+ <P>Tento adres�� obsahuje do�asn� soubory vytvo�en� exekutorem dotaz�.
+ Nap��klad, kdy� je nutn� t��d�n� k zaji�t�n� <SMALL>ORDER BY</SMALL> a t��d�n� m� v�t��
+ n�roky na prostor ne� povoluje parametr <I>-S</I> backendu, pak je vytvo�en
+ do�asn� soubor k ulo�en� extra �daj�.</P>
+
+ <P>Do�asn� soubory jsou obvykle maz�ny automaticky, ale m��e se st�t, �e
+ b�hem t��d�n� server spadne. Zastaven� a dal�� start postmastera zajist�
+ odstran�n� soubor� s t�chto adres���.</P>
+
+ <H4><A name="3.10">3.10</A>) Pro� je po�adov�no dump a obnoven� (load) datab�ze b�hem
+ upgrade mezi velk�mi verzemi PostgreSQL?</H4>
+
+ <P>PostgreSQL se minim�ln� m�n� b�hem mal�ch verz�, tak�e nap�. p�i upgrade
+ z 7.2 na 7.2.1 nen� nutn� dump a load datab�ze. Ale v�ynamn� verze �asto
+ m�n� intern� form�t syst�mov�ch tabulek a datov�ch soubor�. Tyto zm�ny
+ jsou natolik rozs�hl�, �e nelze zajistit zp�tnou kompatibilitu pro
+ datov� soubory. Dump ulo�� data v obecn�m form�tu, tak�e mohou b�t
+ na�tena a pou��v�na v nov�m intern�m form�tu.</P>
+
+ <HR>
+
+ <H2 align="center">Provozn� dotazy</H2>
+
+ <H4><A name="4.1">4.1</A>) ��m se li�� bin�rn� a norm�ln� kurzor?</H4>
+
+ <P>Popis najdete v manu�lov� str�nce <SMALL>DECLARE</SMALL></P>
+
+ <H4><A name="4.2">4.2</A>) Jak z�skat pouze prvn� ��dek dotazu? N�hodn� ��dek?</H4>
+
+ <P>Pod�vejte se do man. str�nky p��kazu <SMALL>FETCH</SMALL>, nebo pou�ijte <SMALL>SELECT</SMALL> ...
+ <SMALL>LIMIT</SMALL> ...</P>
+
+ <P>I kdy� pot�ebujete z�skat pouze prvn�ch n�kolik ��dk�, je t�eba
+ zpracovat v�echna data, nap�. pokud dotaz m� <SMALL>ORDER BY</SMALL>. Pokud v�ak
+ existuje index, kter� odpov�d� <SMALL>ORDER BY</SMALL>, PostgreSQL m��e z�skat
+ pouze prvn�ch n ��dk� a ukon�it zpracov�n� dotazu.</P>
+
+ <P>K z�sk�n� n�hodn�ho ��dku pou�ijte:</P>
+<PRE>
+ SELECT col
+ FROM tab
+ ORDER BY random()
+ LIMIT 1;
+</PRE>
+ <H4><A name="4.3">4.3</A>) Jak z�sk�m seznam tabulek nebo jinak jak jej z�sk� psql?</H4>
+
+ <P>P��kaz \dt v psql zobraz� seznam tabulek. �pln� seznam p��kaz� <I>psql</I>
+ dostanete p��kazem \?. Tak� se m��ete pod�vat do zdrojov�ch k�d� <I>psql</I>
+ do souboru <I>pgsql/src/bin/psql/describe.c</I>. Ten obsahuje <SMALL>SQL</SMALL> p��kazy,
+ kter� se pou��vaj� v psql metap��kazech. D�le m��ete spustit <I>psql</I>
+ s p�ep�na�em <I>-E</I>, kter� zp�sob� zobrazen� ka�d�ho dotazu, kter�
+ zpracov�n� metap��kazu vyvol�. PostgreSQL nab�z� SQLi INFORMATION
+ SCHEMA s tabulkami obsahuj�c� informace o datab�zi.</P>
+
+ <H4><A name="4.4">4.4</A>) Jak odstran�m sloupec tabulky, jak zm�n�m jeho typ?</H4>
+
+ <P>Po��naje verz� 7.3 m��ete pou��t p��kaz <SMALL>ALTER TABLE DROP COLUMN</SMALL>. Ve
+ star��ch verz�ch m��ete pou��t n�sleduj�c� postup:</P>
+<PRE>
+ BEGIN;
+ LOCK TABLE old_table;
+ SELECT ... -- mimo sloupec, kter� chceme odstranit
+ INTO TABLE new_table;
+ DROP TABLE old_table;
+ ALTER TABLE new_table RENAME TO old_table;
+ COMMIT;
+</PRE>
+ <P>Pro zm�nu typu sloupce je t�eba prov�st:</P>
+<PRE>
+ BEGIN;
+ ALTER TABLE tab ADD COLUMN new_col new_data_type;
+ UPDATE tab SET new_col = CAST(old_col AS new_data_type;
+ ALTER TABLE tab DROP COLUMN old_col;
+ COMMIT;
+</PRE>
+ Pot� prove�te <I>VACUUM FULL tab</I> - uvoln�te t�m diskov� prostor zabran�
+ nyn� ji� neplatn�mi ��dky.
+
+ <H4><A name="4.5">4.5</A>) Jak� je maxim�ln� velikost ��dku, tabulky a datab�ze?</H4>
+
+ <P>PostgreSQL m� tato omezen�:</P>
+<PRE>
+ Maxim�ln� velikost datab�ze: neomezena (existuj� 32TB db)
+ Maxim�ln� velikost tabulky: 32 TB
+ Maxim�ln� velikost ��dky: 1.6 TB
+ Maxim�ln� velikost polo�ky 1 GB
+ Maxim�ln� po�et ��dk� v tabulce: neomezeno
+ Maxim�ln� po�et sloupc� v tabulce: 250-1600 podle typ�
+ Maxim�ln� po�et index� na tabulce: neomezeno
+</PRE>
+ <P>Ve skute�nosti nic nen� neomezeno, limitem b�v� v�dy dostupn� diskov�
+ pam� nebo velikost opera�n� pam�ti. Pokud m�te n�kterou z t�chto hodnot
+ neobvykle velkou, m��e doj�t ke sn��en� v�konu.</P>
+
+ <P>Maxim�ln� velikost tabulky je 32 TB a nevy�aduje podporu velk�ch soubor�
+ opera�n�m syst�mem. Velk� tabulky se ukl�daj� do n�kolika 1 GB soubor�
+ tak�e limity souborov�ho syst�mu nejsou podstatn�.</P>
+
+ <P>Maxim�ln� velikost tabulky a maxim�ln� po�et sloupc� m��eme
+ ze�ty�n�sobit nastaven�m velikosti bloku na 32K.</P>
+
+ <H4><A name="4.6">4.6</A>) Kolik diskov�ho prostoru je pot�eba k ulo�en� dat z </H4>
+ norm�ln�ho textov�ho souboru?
+
+ <P>PostgreSQL vy�aduje a� p�tin�sobek diskov�ho prostoru k ulo�en� dat z
+ textov�ho souboru.</P>
+
+ <P>Nap��klad, uva�ujme soubor se 100 tis�ci ��dky obsahuj�c� na ka�d� ��dce
+ cel� ��slo a textov� popis. Text je v pr�m�ru dvacet byt� dlouh�.
+ Textov� soubor bude 2.8 MB dlouh�. Velikost datab�ze obsahuj�c�
+ odpov�daj�c� data bude zhruba 6.4 MB.</P>
+<PRE>
+ 36 byt�: hlavi�ka ��dku (p�ibli�n�)
+ 24 byt�: jedna celo��seln� polo�ka a jedna textov�
+ + 4 byty: ukazatel na str�nku k ntici
+ ------------------------------------------------------
+ 64 byt� na ��dek
+
+ Velikost datov� str�nky PostgreSQL je 8KB
+
+ 8192 byt� na str�nce
+ ---------------------- = 128 ��dek na str�nku
+ 64 byt� za ��dek
+
+ 100000 ��dek
+ -------------------- = 782 str�nek (zaokrouhleno nahoru)
+ 128 ��dek na str�nce
+
+ 782 * 8192 = 6, 406, 144 byt� (6.4 MB)
+</PRE>
+ <P>Indexy nemaj� tak velkou re�ii, ale mohou b�t tak� velk�, proto�e
+ obsahuj� indexovan� data.</P>
+
+ <P>Hodnoty <SMALL>NULL</SMALL> jsou ulo�eny v bitmap�ch, tak�e spot�ebuj� jen velmi m�lo
+ diskov�ho prostoru.</P>
+
+ <H4><A name="4.7">4.7</A>) Jak z�sk�m seznam vytvo�en�ch tabulek, index�, datab�z�?</H4>
+
+ <P><I>psql</I> m� sadu metap��kaz� k zobrazen� t�chto informac�. Jejich seznam
+ z�sk�te p��kazem \?. D�le se m��ete pod�vat na obsah syst�mov�ch tabulek
+ za��naj�c�ch <I>pg_</I>. Spu�t�n� <I>psql</I> s parametrem <I>-l</I> provede v�pis n�zv�
+ v�ech datab�z�.</P>
+
+ <P>Soubor <I>pgsql/src/tutorial/syscat.source</I> obsahuje <SMALL>SELECT</SMALL>y p�istupuj�c� k
+ syst�mov�m tabulk�mm.</P>
+
+ <H4><A name="4.8">4.8</A>) M�j dotaz je pomal� a nepou��v� vytvo�en� indexy. Pro�?</H4>
+
+ <P>Ka�d� dotaz nemus� nutn� pou��t existuj�c� indexy. Index se pou�ije
+ tehdy, kdy� je tabulka v�t�� ne� ur�it� minim�ln� velikost, a dotaz
+ vyb�r� pouze procentu�ln� malou ��st ��dk� tabulky. To proto, �e n�hodn�
+ p��stup k disku dan� �ten�m indexu m��e b�t pomalej�� ne� line�rn� �ten�
+ tabulky nebo sekven�n� �ten�.</P>
+
+ <P>PostgreSQL rozhoduje o pou�it� index� na z�klad� statistiky p��stup� k
+ tabulce. Tyto statistiky se shroma��uj� p��kazy <SMALL>VACUUM ANALYZE</SMALL> nebo
+ <SMALL>ANALYZE</SMALL>. D�ky statistik�m m� optimizer informaci o po�tu ��dek v tabulce
+ a m��e l�pe rozhodnout o pou�it� index�. Statistiky se uplatn� p�i
+ ur�en� optim�ln�ho po�ad� a metody spojen� tabulek. Statistiky by se
+ m�li aktualizovat opakovan�, tak jak se m�n� obsah tabulek.</P>
+
+ <P>Indexy nejsou oby�ejn� pou�ity pro set��d�n� nebo spojen� tabulek.
+ Sekven�n� zpracov�n� n�sledovan� explicitn�m t��d�n�m je oby�ejn�
+ rychlej�� ne� indexn� �ten� na velk� tabulce.</P>
+
+ <P>Jinak je tomu v p��pad� pou�it� <SMALL>LIMIT</SMALL> a <SMALL>ORDER BY</SMALL>, p�i kter�m se v�t�inou
+ index pou�ije, v�sledkem je pouze mal� ��st tabulky. Funkce MAX() a
+ MIN() nepou��vaj� indexy, ale je mo�n� tut� hodnotu z�skat:
+<PRE>
+ SELECT col
+ FROM tab
+ ORDER BY col [ DESC ]
+ LIMIT 1;
+</PRE>
+ <P>Pokud si mysl�te, �e optimizer myln� zvolil sekven�n� prohled�v�n�
+ tabulky, pou�ijte p��kaz <CODE>SET enable_seqscan TO 'off'</CODE> a zkuste zda je
+ indexn� prohled�v�n� rychlej��.</P>
+
+ <P>P�i vyhled�v�n� na z�klad� vzoru jako je nap�. oper�tor <SMALL>LIKE</SMALL> nebo <I>~</I> se
+ indexy pou��j� pouze za ur�it�ch skute�nost�:</P>
+ <UL>
+ <LI>za��tek hledan�ho vzoru mus� b�t ukotven k za��tku, tj.
+ <UL>
+ <LI>vzor <SMALL>LIKE</SMALL> nesm� za��nat <I>%</I></LI>
+ <LI><I>~</I> regul�rn� v�raz mus� za��nat <I>^</I></LI>
+ </UL>
+ <LI>vzor nesm� za��nat intervalem, nap�. [a-e]</LI>
+ <LI>vyhled�van�, kter� nen� Case sensitiv jako je <SMALL>ILIKE</SMALL> nebo <I>~*</I>
+ nepou��v� indexy. M��ete ale pou��t funkcion�ln� indexy, kter� jsou
+ pos�ny v sekci <A href="#4.12">4.12</A></LI>
+ <LI>p�i inicializaci datab�ze (<I>initdb</I>) mus� b�t pou�ito C locale
+ (pozn. p�ekladatele - tud�� v na�ich podm�nk�ch nepou�iteln�,
+ nepracovalo by �esk� t��d�n�).</LI>
+ </UL>
+ <H4><A name="4.9">4.9</A>) Jak zjist�m, jak optimizer dotazu vyhodnocuje m�j dotaz?</H4>
+
+ Pod�vejte se do manu�lov� str�nky p��kazu <SMALL>EXPLAIN</SMALL>.
+
+ <H4><A name="4.10">4.10</A>) Co to je R-tree index?</H4>
+
+ <P>R-tree index se pou��v� pro indexov�n� prostorov�ch dat. Hash index
+ nem��e obslou�it prohled�v�n� oblast�. B-tree index m��e ��dit vyhled�n�
+ oblast� v jedn� dimenzi. R-tree index m��e podporovat hled�n� v
+ multidimenzion�ln�ch datech. Pou�ijeme-li nap��klad R-tree index na
+ atributy typu <I>point</I>, pak syst�m m��e efektivn� odpov�d�t na dotaz -
+ vyber v�echny body uvnit� obd�ln�k�.</P>
+
+ <P>P�vodn� n�vrh R-tree je Guttman, A. "R-trees: A Dynamic Index Structure
+ for Spatial Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on
+ Mgmt of Data, 45-57</P>
+
+ <P>Tyto materi�ly naleznete v Stonebraker's "Readings in Database Systems".</P>
+
+ <P>Vestav�n� R-tree m��e slou�it k indexaci polygon� a oblast�. Teoreticky
+ m��eme R-tree pou��t i pro v�ce dimenz� (jin� ne� 3D). Ve skute�nosti
+ ale takov� roz���en� R-tree vy�aduje trochu pr�ce a ve sou�astnosti
+ chyb� dokumentace jak na to.</P>
+
+ <H4><A name="4.11">4.11</A>) Co je Genetic Query Optimizer?</H4>
+
+ <P><SMALL>GEQO</SMALL> modul urychluje optimalizaci dotaz� p�i spojov�n� mno�stv� tabulek
+ metodou Genetick�ch algoritm� (GA). To umo��uje z�skat velk�ho mno�stv�
+ variant spojen� p�i ne�pln�m prohled�v�n�m.</P>
+
+ <H4><A name="4.12">4.12</A>) Jak prov�st vyhled�v�n� regul�rn�ho v�razu case sensitiv,
+ insensitiv? Jak pou��t index pro case insensitive vyhled�v�n�?</H4>
+
+ <P>Oper�tor <I>~</I> slou�� k porov�n� s regul�rn�m v�razem, jeho modifikace <I>*~</I>
+ p�edstavuje case insensitive vyhled�v�n�. Jedn� se o obdobu <SMALL>LIKE</SMALL> a
+ <SMALL>ILIKE</SMALL>.</P>
+
+ <P>Pro vyhled�v�n� bez ohledu na velk� mal� p�smena pou�ijeme:</P>
+<PRE>
+ SELECT *
+ FROM tab
+ WHERE lower(col) = 'abc';
+</PRE>
+ V tomto p��pad� se nepou�ije standardn� index. Nicm�n�, pou�ije se
+ funkcion�ln� index, pokud jej vytvo��te:
+<PRE>
+ CREATE INDEX tabindex ON tab (lower(col));
+</PRE>
+ <H4><A name="4.13">4.13</A>) Jak v dotazu detekovat, �e polo�ka je NULL?</H4>
+
+ <P>Ur��te pomoc� <SMALL>IS NULL</SMALL> nebo <SMALL>IS NOT NULL</SMALL></P>
+
+ <H4><A name="4.14">4.14</A>) Jak� jsou rozd�ly mezi r�zn�mi znakov�mi typy?</H4>
+<PRE>
+Typ Intern� n�zev Pozn�mka
--------------------------------------------------------------------------
-VARCHAR(n) varchar omezeno maxim�ln� d�lkou, bez dopln�n� mezerami
-CHAR(n) bpchar �et�zec je dopln�n mezerami do dan� d�lky
-TEXT text bez horn�ho limitu na d�lku
-BYTEA bytea pole byt� (bezpe�n� lze ulo�it i znak NULL)
-"char" char jeden znak
-</pre>
-<p>S intern�mi n�zvy se setk�te v syst�mov�m katalogu a v n�kter�ch
-chybov�ch hl�en�ch.</p>
-
-<p>Prvn� �ty�i uveden� typy jsou tzv. varlena typy (tj. prvn� �ty�i byty
-na disku nesou �daj o d�lce, n�sleduj� samotn� data). Proto skute�n�
-pou�it� prostor je v�dy o n�co m�lo v�t�� ne� deklarovan� d�lka. Naopak,
-tyto datov� typy jsou komprimov�nty TOASTem, tak�e prostor na disku
-m��e b�t ni��� ne� je o�ek�v�no.</p>
-
-<p>VARCHAR(n) je vhodn� pro ukl�d�n� text� promm�n� d�lky s pevn�
-stanovenou maxim�ln� d�lkou. TEXT je pro �et�zce bez omezen� d�lky s
-maximem jeden gigabajt.</p>
-
-<p>CHAR(n) slou�� k ukl�d�n� �et�zc� stejn� d�lky. CHAR(n) dopln� pr�zdn�
-znaky do specifikovan� d�lky, zat�mco VARCHAR(n) ulo�� pouze p�edan�
-znaky. BYTEA je ur�eno pro ukl�d�n� bin�rn�ch dat, v�etn� NULL
-byte. V�echny zde popsan� typy maj� podobn� v�konnostn�
-charakteristiky.</p>
-
-<h3><a name="4.15.1">4.15.1</a> Jak vytvo�it serial/auto-increment pole?</h3>
-
-<p>PostgreSQL podporuje typ SERIAL. P�i jeho pou�it� se automaticky
-vytvo�� SEQUENCE a index na sloupci (Pro vy��� verze to neplat�
-OV��IT). Nap��klad:</p>
-<pre>CREATE TABLE person (
- id SERIAL,
- name TEXT
-);
-</pre>
-je automaticky p�evedeno do
-<pre>CREATE SEQUENCE person_id_seq;
-CREATE TABLE person (
- id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
- name TEXT
-);
-CREATE UNIQUE INDEX person_id_key ON person(id);
-</pre>
-<p>Viz dokumentace create_sequence v manu�lov�ch str�nk�ch. D�le m��ete pou��t
-unik�tn� hodnotu OID ka�d�ho ��dku. Potom ale mus�te spou�t�t pg_dump
-s p�ep�na�em -o, tak aby z�staly zachov�ny hodnoty OID (u p��kazu
-copy COPY WITH OIDS).</p>
-
-<h3><a name="4.15.2">4.15.2</a> Jak z�skat hodnotu SERIAL po vlo�en� ��dku?</h3>
-
-<p>Jednou z mo�nost� je z�skat budouc� hodnotu SERIAL funkc� nextval p�ed
-samotn�m vlo�en�m a pak ji vlo�it explicitn�. Nap��klad v jak�msi
-pseudojazyku</p>
-<pre>newid = execute("SELECT nextval('person_id_seq')");
-execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
-</pre>
-<p>M��ete pak je�t� pou��t hodnotu newid v dal��ch dotazech, nap�. jako
-hodnotu ciz�ho kl��e. N�zev automaticky vytvo�en� sekvence je
-tabulka_sloupec_seq.</p>
-
-<p>Alternativn� m��ete z�skat hodnotu posledn� generovou sekvenc� funkc�
-currval() po vlo�en�</p>
-<pre>execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
-new_id = execute("SELECT currval('person_id_seq')");
-</pre>
-<p>Kone�n� m��ete pou��t OID hodnotu vr�cenou p��kazem INSERT, ale to je
-pravd�podobn� nejm�n� p�enositeln� �e�en�. V Perlu p�i pou�it� DBI
-modulu Edmunda Mergleho DBD:Pg oid hodnotu z�sk�me
-$sth-&gt;{pg_oid_status} po ka�d�m $sth-&gt;execute().</p>
-
-<h3><a name="4.15.3">4.15.3</a> Nepovede currval() a nextval() k rozhozen� podm�nek p�i soub�hu s jin�mi u�ivateli?</h3>
-
-<p>Nikoliv, currval() vrac� hodnotu naposledy generovanou ve va�em
-backendu, a ta tud�� nen� spole�n� v�em u�ivatel�m.</p>
-
-<h3><a name="4.15.4">4.15.4</a> Pro� nen� vygenerovan� ��slo pou�ito p�i p�eru�en�
-transakce? Pro� vznikaj� d�ry v ��slov�n� vlastn� sekvenc�/SERIAL
-sloupce?</h3>
-
-<p>K zaji�t�n� efektivnosti soub�hu, jsou hodnoty posloupnosti, kdy� se o n�
-po��d�, a sekvence nen� zam�ena do ukon�en� transakce. To zp�sobuje
-d�ry v ��slov�n� ze zru�en�ch transakc�.</p>
-
-<h3><a name="4.16">4.16</a> Co to je OID? Co je to TID?</h3>
-
-<p>Ka�d� ��dek vytvo�en� v PostgreSQL z�sk� jedine�n� OID. V�echna OID
-generovan� b�hem inicializace datab�ze jsou men�� ne� 16384
-(include/access/transam.h). V�echna OID generovan� na po�adavek
-u�ivatele jsou rovna nebo vy��� t�to hodnot�. Norm�ln�, v�echna OID
-jsou jedine�n� nejen uvnit� tabulky nebo datab�ze, ale v r�mci cel�
-instalace PostgreSQL</p>
-
-<p>PostgreSQL pou��v� OID ve sv�m intern�m syst�mu tabulek k vytvo�en�
-relac�. Tato OID mohou b�t pou�ita k identifikaci konkr�tn�ho
-u�ivatele a pou�ita v spojen�. Pro OID hodnoty je doporu�en typ
-OID. Nad t�mto sloupcem m��ete vytvo�it index pro urychlen� p��stupu.</p>
-
-<p>OID jsou d�na v�em ��dk�m z centr�ln� oblasti a jsou pou�ita v ka�d�
-datab�zi. Pokud pot�ebujete zm�nit OID, nebo chcete zkop�rovat tabulku
-s p�vodn�mi OID, lze pou��t</p>
-<pre>CREATE TABLE new_table(old_oid oid, mycol int);
-SELECT old_oid, mycol INTO new FROM old;
-COPY new TO '/tmp/pgtable';
-DELETE FROM new;
-COPY new WITH OIDS FROM '/tmp/pgtable';
-</pre>
-<p>OID jsou ulo�ena jako 4bajtov� integer a p�ete�ou po �ty�ech
-miliard�ch. Nebylo hl�eno, �e by se tak n�kdy stalo, p�esto ale pl�nujeme
-odstranit tento limit d��v ne� se tak stane.</p>
-
-<p>TID se pou��vaj� i identifikaci fyzick�ch ��dk� s hodnotou bloku a
-offsetu. TIDs se m�n� modifikac� ��dk� (pou��v� se jako ukazatel
-indexu fyzick�ho ��dku).</p>
-
-<h3><a name="4.17">4.17</a> Jak� je v�znam n�kter�ch v�raz� pou�it�ch v PostgreSQL?</h3>
-
-<p>V n�kter�ch zdrojov�ch k�dech nebo star�� dokumentaci se m��ete setkat
-s n�sleduj�c�mi v�razy, kter� maj� �ir�� v�znam. Zde je p��klad
-nekter�ch:</p>
-<ul>
-<li>tabulka, relace, t��da (table, relation, class)
-</li><li>��dek, z�znam, ntice (row, record, tuple)
-</li><li>sloupec, polo�ka, atribut (column, field, attribute)
-</li><li>vyhled�n�, v�b�r (retrieve, select)
-</li><li>n�hrada, �prava (replace, update)
-</li><li>p�id�n�, vkl�d�n� (append, insert)
-</li><li>OID, serial value (OID, serial value)
-</li><li>portal, kurzor (portal, cursor)
-</li><li>range variable, jm�no tabulky, alias tabulky (range variable, table name, table alias)
-</li></ul>
-<p>seznam t�chto v�raz� m��ete nal�zt na
-<a href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a>.</p>
-
-<h3><a name="4.18">4.18</a> Pro� jsem z�skal chybov� hl�en� "ERROR: Memory exhausted in
-AllocSetAlloc()"?</h3>
-
-<p>Pravd�podobn� do�lo k vy�erp�n� virtu�ln� pam�i na Va�em syst�mu, nebo
-j�dro m� n�zk� limit pro ur�it� zdroje. Vyzkou�ejte p�ed startem
-posmatera</p>
-<pre>ulimit -d 262144
-limit datasize 256m
-</pre>
-<p>Z�le�� na Va�em shellu, zda budou tyto p��kazy �sp�n�, m�ly by zv��it
-limit datov�ho segmentu pro Va�e procesy a umo�nit tak dokon�en�
-dotazu. Tyto p��kazy se aplikuj� na aktu�ln� proces a v�echny synovsk�
-procesy vytvo�en� po proveden� p��kazu. Pokud m�te probl�my s SQL
-klientem proto�e backend vrac� p��li� mnoho dat, zkuste zv��it limity
-p�ed startem klienta.</p>
-
-<h3><a name="4.19">4.19</a> Jak se dozv�m, kterou verzi PostgreSQL pou��v�m?</h3>
-
-<p>V psql spus�te</p>
-<pre>SELECT version();
-</pre>
-<h3><a name="4.20">4.20</a> Pro� operace s velk�mi objekty kon�� "invalid large obj descriptor"?</h3>
-
-<p>V�echny operace s velk�mi objekty - lo_open, lo_close, ... mus�te
-spou�t�t v transakci, tj. mezi p��kazy BEGIN WORK a COMMIT.</p>
-
-<p>PostgreSQL uvol�uje handle velk�ch objekt� p�i skon�en� transakce. Pokud
-budete pracovat s velk�mi objekty mimo transakci, pravd�podobn� dostanete
-toto chybov� hl�en�, proto�e handle ji� budou neplatn�.</p>
-
-<p>Pokud pou��v�te interface podobn� ODBC mus�te nastavit set auto_commit off</p>
-
-<h3><a name="4.21">4.21</a> Jak vytvo�it sloupec obsahuj�c� implicitn� aktu�ln� datum?</h3>
-
-<p>Pou�ijte CURRENT_TIMESTAMP</p>
-<pre>CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
-</pre>
-<h3><a name="4.22">4.22</a> Pro� jsou moje vno�en� dotazy pou��vaj�c� IN tak pomal�?</h3>
-
-<p>Aktu�ln� spojujeme tabulky se sekven�n�m skenov�n�m v�sledku pro ka�d�
-��dek vn�j��ho dotazu. Pokud vno�en� dotaz m� pouze n�kolik ��dk� a
-vn�j�� dotaz vrac� hodn� ��dek, IN je rychl�. V jin�ch p��padech
-nahra�te IN EXISTS:</p>
-<pre>SELECT * FROM tab
- WHERE col IN (SELECT subcol FROM subtab);
-</pre>
-takto
-<pre>SELECT * FROM tab
- WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
-</pre>
-<p>Pro urychlen� vytvo�ete index pro subcol. Tento v�konnostn� probl�m
-byl odstran�n ve verzi 7.4.</p>
-
-<h3><a name="4.23">4.23</a> Jak prov�st vn�j�� spojen� (outer join)?</h3>
-
-<p>PostgreSQL podporuje vn�j�� spojen� tabulek standardn�mi SQL
-p��kazy. Zde jsou dva p��klady:</p>
-<pre>SELECT * FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
-</pre>
-nebo
-<pre>SELECT * FROM t1 LEFT OUTER JOIN USING (col);
-</pre>
-<p>Tyto identick� dotazy napoj� t1.col na t2.col a je�t� p�id�
-nep�ipojen� ��dky z t1 (kter� nemaj� obdoby v t2). Prav� spojen�
-(RIGHT JOIN) p�id� nep�ipojen� ��dky z t2. FULL JOIN vr�t� v�echny
-��dky, v�etn� nep�ipojen�ch z tbulek t1 a t2. Kl��ov� slovo OUTER je
-nepovinn� a v�e se na LEFT, RIGHT a FULL join. B�n� spojen� se
-naz�v� INNER JOIN.</p>
-
-<p>V d��v�j��ch verz�ch se vn�j�� spojen� tabulek mohlo simulovat pomoc�
-UNION a NOT IN. Nap��klad pro spojen� tabulek tab1 a tab2, je
-n�sleduj�c� dotaz ekvivalentn� k vn�j��mu spojen� dvou tabulek:</p>
-<pre>SELECT tab1.col2, tab2.col2 FROM tab1, tab2
- WHERE tab1.col1 = tab2.col1
-UNION ALL
-SELECT tab1.col2, NULL FROM tab1
- WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
-ORDER BY col1;
-</pre>
-<h3><a name="4.24">4.24</a> Jak prov�st dotaz nap��� n�kolika datab�zemi?</h3>
-
-<p>PostgreSQL nenab�z� ��dn� zp�sob, jak se dot�zat do jin� datab�ze ne�
-do aktu�ln�. Dopln�k contrib/dblink umo��uje dotaz do ciz� datab�ze
-prost�ednictv�m funkce. Na stran� klienta nen� probl�m si otev��t v�ce
-simult�ln�ch p��stup� do r�zn�ch datab�z� a spojovat v�sledek na
-stran� klienta.</p>
-
-<h3><a name="4.25">4.25</a> M��e funkce vr�tit v�ce ��dk� nebo sloupc�?</h3>
-
-<p>V PostgreSQL 7.3 m��ete jednodu�e vracet v�ce ��dk� nebo sloupc� z
-funkce, viz:
-<a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.</p>
-
-<h3><a name="4.26">4.26</a> Pro� nelze spolehliv� vytv��et a ru�it do�asn� tabulky v
-PL/pgSQL funkc�ch?</h3>
-
-P�elo�en� k�d PL/pgSQL funkce je ulo�en ve vyrovn�vac� pam�ti, tj. funkce
-je p�ekl�d�na pouze p�i zm�n� k�du, nikoliv p�ed ka�d�m vol�n�m funkce.
-Necht�n�m vedlej��m efektem je, �e vol�n� funkce sel�e, kdy� se funkce
-odkazuje na do�asnou tabulku, pokud tato tabulka byla od p�ekladu funkce
-zru�ena (a�koliv ji� byla znovu vytvo�ena a existuje).
-Jedin�m �e�en�m probl�mu je p��stup k do�asn� tabulce pomoc�
-EXECUTE, tj. dynamick� prov�d�n� dotazu. Tento p��kaz zajist� opakovan�
-p�eklad dotazu p�i ka�d�m vol�n� funkce.<p></p>
-
-<h3><a name="4.27">4.27</a> Jak� jsou mo�nosti replikace datab�z�?</h3>
-
-<p>Existuje n�kolik dostupn�ch �e�en� master/slave replikac�. Ty povoluj�
-modifikace master datab�ze a slave datab�z�m umo��uj� pouze �ten�. Na
-konci <a href="http://gborg.postgresql.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</a>
-najdete jejich seznam. Na �e�en� multi-master replikaci se pracuje na
-<a href="http://gborg.postgresql.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>.</p>
-
-<h3><a name="4.28">4.28</a> Jak� jsou mo�nosti �ifrov�n� datab�z�?</h3>
-<ul>
-<li><p>contrib/pgcrypto obsahuje �ifrovac� funkce pou�iteln� v SQL
-dotazech.</p>
-
-</li><li><p>K �ifrov�n� p�enosu dat z klienta na server, mus� b�t
-server p�elo�en s podporou ssl a p�ep�na� sslv postgresql.conf mus�
-b�t nastaven na hodnotu true. Klient mus� m�t vytvo�en z�znam
-hostssl v pg_hba.conf a tak� m�t povolen re�im ssl. Lze pou��t i jin�
-prost�edky, nejen nativn� podporu ssl v PostgreSQL, nap�. stunel a ssh.</p>
-
-</li><li><p>Hesla u�ivatel� datab�ze jsou za�ifrov�na po��naje verz� 7.3. Ve
-star��ch verz�ch toto chov�n� muselo b�t vynuceno volbou
-PASSWORD_ENCRYPTION v postgresql.conf</p>
-
-</li><li><p>Server m��e b�et na �ifrovan�m souborov�m syst�mu.</p>
-</li></ul>
-<hr>
-<h2>Roz�i�ov�n� PostgreSQL</h2>
-
-<h3><a name="5.1">5.1</a> Napsal jsem UDF funkci, PostgreSQL v�ak kon�� dump core?</h3>
-
-<p>Probl�m m��e b�t zp�soben mnoha okolnostmi. Vyzkou�ejte si svoji
-funkci nejd��ve v n�jak� jednoduch� aplikaci.</p>
-
-<h3><a name="5.2">5.2</a> Jak mohu p�isp�t n�jak�mi �ikovn�mi datov�mi typy a funkcemi
-do PostgreSQL?</h3>
-
-<p>Po�lete sv� roz���en� do konference pgsql-hackers, a ono pak mo�n�
-skon�� v podadres��i contrib.</p>
-
-<h3><a name="5.3">5.3</a> Jak napsat funkci v C vracej�c� ntici?</h3>
-
-<p>Funkce vracej�c� tabulky jsou podporovan� PostgreSQL 7.3 a vy��� pro
-jazyky C, PL/PgSQL a SQL. V�ce naleznete v The Programmer's
-Guide. P��klady t�chto funkc� pro C naleznete v contrib/tablefunc.</p>
-
-<h3><a name="5.4">5.4</a> Modifikoval jsem zdrojov� soubory. Tato zm�na nebyla p�i
-rekompilaci vzata v potaz. Pro�?</h3>
-
-<p>Makefile nem� informace o z�vislostech mezi hlavi�kov�mi soubory. Mus�te
-prov�st make clean a pak make. Pokud pou��v�te gcc, m��ete pou��t
-p�ep�na� --enable-depend p��kazu configure k automatick�mu �e�en�
-z�vislost� p�eklada�em.</p>
-</body></html> \ No newline at end of file
+VARCHAR(n) varchar omezeno maxim�ln� d�lkou, bez dopln�n� mezerami
+CHAR(n) bpchar �et�zec je dopln�n mezerami do dan� d�lky
+TEXT text bez horn�ho limitu na d�lku
+BYTEA bytea pole byt� (bezpe�n� lze ulo�it i znak NULL)
+"char" char jeden znak
+</PRE>
+ <P>S intern�mi n�zvy se setk�te v syst�mov�m katalogu a v n�kter�ch
+ chybov�ch hl�en�ch.</P>
+
+ <P>Prvn� �ty�i uveden� typy jsou tzv. varlena typy (tj. prvn� �ty�i byty na
+ disku nesou �daj o d�lce, n�sleduj� samotn� data). Proto skute�n�
+ pou�it� prostor je v�dy o n�co m�lo v�t�� ne� deklarovan� d�lka. Naopak,
+ tyto datov� typy jsou komprimov�nty <SMALL>TOAST</SMALL>em, tak�e prostor na disku m��e
+ b�t ni��� ne� je o�ek�v�no.</P>
+
+ <P><SMALL>VARCHAR(n)</SMALL> je vhodn� pro ukl�d�n� text� promm�n� d�lky s pevn�
+ stanovenou maxim�ln� d�lkou. <SMALL>TEXT</SMALL> je pro �et�zce bez omezen� d�lky s
+ maximem jeden gigabajt.</P>
+
+ <P><SMALL>CHAR(n)</SMALL> slou�� k ukl�d�n� �et�zc� stejn� d�lky. <SMALL>CHAR(n)</SMALL> dopln� pr�zdn�
+ znaky do specifikovan� d�lky, zat�mco VARCHAR(n) ulo�� pouze p�edan�
+ znaky. <SMALL>BYTEA</SMALL> je ur�eno pro ukl�d�n� bin�rn�ch dat, v�etn� <SMALL>NULL</SMALL> byte.
+ V�echny zde popsan� typy maj� podobn� v�konnostn� charakteristiky.</P>
+
+ <H4><A name="4.15.1">4.15.1</A>) Jak vytvo�it serial/auto-increment pole?</H4>
+
+ <P>PostgreSQL podporuje typ <SMALL>SERIAL</SMALL>. P�i jeho pou�it� se automaticky vytvo��
+ SEQUENCE. Nap��klad:</P>
+<PRE>
+ CREATE TABLE person (
+ id SERIAL,
+ name TEXT
+ );
+</PRE>
+ je automaticky p�evedeno do
+<PRE>
+ CREATE SEQUENCE person_id_seq;
+ CREATE TABLE person (
+ id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
+ name TEXT
+ );
+ CREATE UNIQUE INDEX person_id_key ON person(id);
+</PRE>
+ Viz dokumentace <I>create_sequence</I> v manu�lov�ch str�nk�ch. D�le m��ete
+ pou��t unik�tn� hodnotu <I>OID</I> ka�d�ho ��dku. Potom ale mus�te spou�t�t
+ <I>pg_dump</I> s p�ep�na�em <I>-o</I>, tak aby z�staly zachov�ny hodnoty <SMALL>OID</SMALL> (u
+ p��kazu copy <SMALL>COPY WITH OIDS</SMALL>).
+
+ <H4><A name="4.15.2">4.15.2</A>) Jak z�skat hodnotu <SMALL>SERIAL</SMALL> po vlo�en� ��dku?</H4>
+
+ <P>Jednou z mo�nost� je z�skat budouc� hodnotu <SMALL>SERIAL</SMALL> funkc� <I>nextval()</I> p�ed
+ samotn�m vlo�en�m a pak ji vlo�it explicitn�. Nap��klad v jak�msi
+ pseudojazyku:</P>
+<PRE>
+ newid = execute("SELECT nextval('person_id_seq')");
+ execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
+</PRE>
+ <P>M��ete pak je�t� pou��t hodnotu newid v dal��ch dotazech, nap�. jako
+ hodnotu ciz�ho kl��e. N�zev automaticky vytvo�en� sekvence je
+ <I>tabulka_sloupec_seq</I>.</P>
+
+ <P>Alternativn� m��ete z�skat hodnotu posledn� generovou sekvenc� funkc�
+ <I>currval()</I> po vlo�en�:</P>
+<PRE>
+ execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
+ new_id = execute("SELECT currval('person_id_seq')");
+</PRE>
+ <P>Kone�n� m��ete pou��t <SMALL>OID</SMALL> hodnotu vr�cenou p��kazem <SMALL>INSERT</SMALL>, ale to je
+ pravd�podobn� nejm�n� p�enositeln� �e�en�. V Perlu p�i pou�it� DBI
+ modulu Edmunda Mergleho DBD:Pg oid hodnotu z�sk�me <I>$sth->{pg_oid_status}</I>
+ po ka�d�m <I>$sth->execute()</I>.
+
+ <H4><A name="4.15.3">4.15.3</A>) Nepovede <I>currval()</I> a <I>nextval()</I> k rozhozen�
+ podm�nek p�i soub�hu s jin�mi u�ivateli?</H4>
+
+ <P>Nikoliv, <I>currval()</I> vrac� hodnotu naposledy generovanou ve va�em
+ backendu, a ta tud�� nen� spole�n� v�em u�ivatel�m.</P>
+
+ <H4><A name="4.15.4">4.15.4</A>) Pro� nen� vygenerovan� ��slo pou�ito p�i p�eru�en� transakce?
+ Pro� vznikaj� d�ry v ��slov�n� vlastn� sekvenc�/SERIAL sloupce?</H4>
+
+ <P>K zaji�t�n� efektivnosti soub�hu, jsou hodnoty posloupnosti, kdy� se o
+ n� po��d�, a sekvence nen� zam�ena do ukon�en� transakce. To zp�sobuje
+ d�ry v ��slov�n� ze zru�en�ch transakc�.</P>
+
+ <H4><A name="4.16">4.16</A>) Co to je <SMALL>OID</SMALL>? Co je to <SMALL>TID</SMALL>?</H4>
+
+ <P>Ka�d� ��dek vytvo�en� v PostgreSQL z�sk� jedine�n� <SMALL>OID</SMALL>. V�echna <SMALL>OID</SMALL>
+ generovan� b�hem inicializace datab�ze jsou men�� ne� 16384
+ (include/access/transam.h). V�echna <SMALL>OID</SMALL> generovan� na po�adavek
+ u�ivatele jsou rovna nebo vy��� t�to hodnot�. Norm�ln�, v�echna <SMALL>OID</SMALL> jsou
+ jedine�n� nejen uvnit� tabulky nebo datab�ze, ale v r�mci cel� instalace
+ PostgreSQL</P>
+
+ <P>PostgreSQL pou��v� <SMALL>OID</SMALL> ve sv�m intern�m syst�mu tabulek k vytvo�en�
+ relac�. Tato <SMALL>OID</SMALL> mohou b�t pou�ita k identifikaci konkr�tn�ho u�ivatele
+ a pou�ita v spojen�. Pro <SMALL>OID</SMALL> hodnoty je doporu�en typ <SMALL>OID</SMALL>. Nad t�mto
+ sloupcem m��ete vytvo�it index pro urychlen� p��stupu.</P>
+
+ <P><SMALL>OID</SMALL> jsou d�na v�em ��dk�m z centr�ln� oblasti a jsou pou�ita v ka�d�
+ datab�zi. Pokud pot�ebujete zm�nit <SMALL>OID</SMALL>, nebo chcete zkop�rovat tabulku s
+ p�vodn�mi <SMALL>OID</SMALL>, lze pou��t:</P>
+<PRE>
+ CREATE TABLE new_table(old_oid oid, mycol int);
+ SELECT old_oid, mycol INTO new FROM old;
+ COPY new TO '/tmp/pgtable';
+ DELETE FROM new;
+ COPY new WITH OIDS FROM '/tmp/pgtable';
+</PRE>
+ <P><SMALL>OID</SMALL> jsou ulo�ena jako 4bajtov� integer a p�ete�ou po �ty�ech miliard�ch.
+ Nebylo hl�eno, �e by se tak n�kdy stalo, p�esto ale pl�nujeme odstranit
+ tento limit d��v ne� se tak stane.</P>
+
+ <P><SMALL>TID</SMALL> se pou��vaj� i identifikaci fyzick�ch ��dk� s hodnotou bloku a
+ offsetu. TIDs se m�n� modifikac� ��dk� (pou��v� se jako ukazatel indexu
+ fyzick�ho ��dku).</P>
+
+ <H4><A name="4.17">4.17</A>) Jak� je v�znam n�kter�ch v�raz� pou�it�ch v PostgreSQL?</H4>
+
+ <P>V n�kter�ch zdrojov�ch k�dech nebo star�� dokumentaci se m��ete setkat s
+ n�sleduj�c�mi v�razy, kter� maj� �ir�� v�znam. Zde je p��klad nekter�ch:</P>
+ <UL>
+ <LI> tabulka, relace, t��da (table, relation, class)</LI>
+ <LI> ��dek, z�znam, ntice (row, record, tuple)</LI>
+ <LI> sloupec, polo�ka, atribut (column, field, attribute)</LI>
+ <LI> vyhled�n�, v�b�r (retrieve, select)</LI>
+ <LI> n�hrada, �prava (replace, update)</LI>
+ <LI> p�id�n�, vkl�d�n� (append, insert)</LI>
+ <LI> OID, serial value (OID, serial value)</LI>
+ <LI> portal, kurzor (portal, cursor)</LI>
+ <LI> range variable, jm�no tabulky, alias tabulky (range</LI>
+ variable, table name, table alias)</LI>
+ </UL>
+
+ <P>seznam t�chto v�raz� m��ete nal�zt na
+ <A href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</A>.</P>
+
+ <H4><A name="4.18">4.18</A>) Pro� jsem z�skal chybov� hl�en� "ERROR: Memory exhausted in AllocSetAlloc()"?</H4>
+
+ <P>Pravd�podobn� do�lo k vy�erp�n� virtu�ln� pam�i na Va�em syst�mu, nebo
+ j�dro m� n�zk� limit pro ur�it� zdroje. Vyzkou�ejte p�ed startem
+ posmatera</P>
+<PRE>
+ ulimit -d 262144
+ limit datasize 256m
+</PRE>
+ <P>Z�le�� na Va�em shellu, zda budou tyto p��kazy �sp�n�, m�ly by zv��it
+ limit datov�ho segmentu pro Va�e procesy a umo�nit tak dokon�en� dotazu.
+ Tyto p��kazy se aplikuj� na aktu�ln� proces a v�echny synovsk� procesy
+ vytvo�en� po proveden� p��kazu. Pokud m�te probl�my s SQL klientem
+ proto�e backend vrac� p��li� mnoho dat, zkuste zv��it limity p�ed
+ startem klienta.</P>
+
+ <H4><A name="4.19">4.19</A>) Jak se dozv�m, kterou verzi PostgreSQL pou��v�m?</H4>
+
+ <P>V psql spus�te <CODE>SELECT version();</CODE></P>
+
+ <H4><A name="4.20">4.20</A>) Pro� operace s velk�mi objekty kon�� "invalid large obj descriptor"?</H4>
+
+ <P>V�echny operace s velk�mi objekty - <CODE>lo_open</CODE>, <CODE>lo_close</CODE>, ... mus�te
+ spou�t�t v transakci, tj. mezi p��kazy <CODE>BEGIN WORK</CODE> a <CODE>COMMIT</CODE>.</P>
+
+ <P>PostgreSQL uvol�uje handle velk�ch objekt� p�i skon�en� transakce. Pokud
+ budete pracovat s velk�mi objekty mimo transakci, pravd�podobn�
+ dostanete toto chybov� hl�en�, proto�e handle ji� budou neplatn�.</P>
+
+ Pokud pou��v�te interface podobn� <SMALL>ODBC</SMALL> mus�te nastavit <CODE>set
+ auto_commit off</CODE>.
+
+ <H4><A name="4.21">4.21</A>) Jak vytvo�it sloupec obsahuj�c� implicitn� aktu�ln� datum?</H4>
+
+ <P>Pou�ijte <I>CURRENT_TIMESTAMP</I>:</P>
+<PRE>
+<CODE>
+CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
+</CODE>
+</PRE>
+ <H4><A name="4.22">4.22</A>) Pro� jsou moje vno�en� dotazy pou��vaj�c� IN tak pomal�?</H4>
+
+ <P>D��v�j�� verze (p�ed 7.4) spojovali vno�en� dotazy k vn�j��m sekven�n�m
+ �ten�m v�sledku poddotazu pro ka�d� ��dek vn�j��ho dotazu. Pokud poddotaz
+ vr�til n�kolik m�lo ��dk� <SMALL>IN</SMALL> bylo rychl�. Pro ostatn� p��pady je vhodn�
+ nahradit <SMALL>IN</SMALL> <SMALL>EXISTS</SMALL>:
+<PRE>
+ SELECT *
+ FROM tab
+ WHERE col IN (SELECT subcol FROM subtab);
+</PRE>
+ na:
+<PRE>
+ SELECT *
+ FROM tab
+ WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
+</PRE>
+ <P>Pro urychlen� vytvo�ete index pro subcol. </P>
+
+ <P>Ve verzi 7.4 a pozd�j��ch, <SMALL>IN</SMALL> pou��v� stejn� sofistikovanou techniku
+ spojov�n� tabulek jako ostatn� dotazy a je preferovan� p�ed <SMALL>EXISTS</SMALL>.</P>
+
+ <H4><A name="4.23">4.23</A>) Jak prov�st vn�j�� spojen� (outer join)?</H4>
+
+ <P>PostgreSQL podporuje vn�j�� spojen� tabulek standardn�mi SQL p��kazy.
+ Zde jsou dva p��klady:</P>
+<PRE>
+ SELECT *
+ FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
+</PRE>
+ nebo
+<PRE>
+ SELECT *
+ FROM t1 LEFT OUTER JOIN USING (col);
+</PRE>
+ <P>Tyto identick� dotazy napoj� t1.col na t2.col a je�t� p�id� nep�ipojen�
+ ��dky z t1 (kter� nemaj� obdoby v t2). Prav� spojen� (<SMALL>RIGHT JOIN</SMALL>) p�id�
+ nep�ipojen� ��dky z t2. <SMALL>FULL JOIN</SMALL> vr�t� v�echny ��dky, v�etn�
+ nep�ipojen�ch z tbulek t1 a t2. Kl��ov� slovo <SMALL>OUTER</SMALL> je nepovinn� a v�e
+ se na <SMALL>LEFT</SMALL>, <SMALL>RIGHT</SMALL> a <SMALL>FULL</SMALL> join. B�n�
+ spojen� se naz�v� <SMALL>INNER JOIN</SMALL>.</P>
+
+ <P>V d��v�j��ch verz�ch se vn�j�� spojen� tabulek mohlo simulovat pomoc�
+ <SMALL>UNION</SMALL> a <SMALL>NOT IN</SMALL>. Nap��klad pro spojen� tabulek tab1 a tab2, je
+ n�sleduj�c� dotaz ekvivalentn� k vn�j��mu spojen� dvou tabulek:</P>
+<PRE>
+ SELECT tab1.col2, tab2.col2
+ FROM tab1, tab2
+ WHERE tab1.col1 = tab2.col1
+ UNION ALL
+ SELECT tab1.col2, NULL
+ FROM tab1
+ WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
+ ORDER BY col1;
+</PRE>
+
+ <H4><A name="4.24">4.24</A>) Jak prov�st dotaz z v�ce datab�z�?</H4>
+
+ <P>PostgreSQL nepodporuje dotazy do jin� ne� aktu�ln� datab�ze.</P>
+
+ <P><I>contrib/dblink</I> nab�z� funkce umo��uj�c� proveden� dotazu v jin�
+ datab�zi. Klient si m��e otev��t simult�ln� p�ipojen� do r�zn�ch
+ db bez omezen�.</P>
+
+ <H4><A name="4.25">4.25</A>) M��e funkce vr�tit v�ce ��dk� nebo sloupc�?</H4>
+
+ <P>V PostgreSQL 7.3 m��ete jednodu�e vracet v�ce ��dk� nebo sloupc� z
+ funkce, viz:
+ <A href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</A>.
+
+ <H4><A name="4.26">4.26</A>) Pro� nelze spolehliv� vytv��et a ru�it do�asn� tabulky v PL/pgSQL funkc�ch?</H4>
+
+ <P>P�elo�en� k�d PL/pgSQL funkce je ulo�en ve vyrovn�vac� pam�ti, tj.
+ funkce je p�ekl�d�na pouze p�i zm�n� k�du, nikoliv p�ed ka�d�m vol�n�m
+ funkce. Necht�n�m vedlej��m efektem je, �e vol�n� funkce sel�e, kdy� se
+ funkce odkazuje na do�asnou tabulku, pokud tato tabulka byla od p�ekladu
+ funkce zru�ena (a�koliv ji� byla znovu vytvo�ena a existuje). Jedin�m
+ �e�en�m probl�mu je p��stup k do�asn� tabulce pomoc� <SMALL>EXECUTE</SMALL>, tj.
+ dynamick� prov�d�n� dotazu. Tento p��kaz zajist� opakovan� p�eklad
+ dotazu p�i ka�d�m vol�n� funkce.</P>
+
+ <H4><A name="4.27">4.27</A>) Jak� jsou mo�nosti replikace datab�z�?</H4>
+
+ <P>Existuje n�kolik dostupn�ch �e�en� master/slave replikac�, tj umo��uj�
+ modifikace master datab�ze a slave datab�z�m umo��uj� pouze �ten�. Na
+ konci <A href="http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</A> najdete
+ jejich seznam. Na �e�en� multi-master replikaci se pracuje na
+ <A href="http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</A>.</P>
+
+ <H4><A name="4.28">4.28</A>) Jak� jsou mo�nosti �ifrov�n� datab�z�?</H4>
+ <UL>
+ <LI><I>contrib/pgcrypto</I> obsahuje �ifrovac� funkce pou�iteln� v SQL
+ dotazech.</LI>
+ <LI>K �ifrov�n� p�enosu dat z klienta na server, mus� b�t server
+ p�elo�en s podporou <I>ssl</I> a p�ep�na� <I>ssl</I> v <I>postgresql.conf</I> mus� b�t
+ nastaven na hodnotu true. Klient mus� m�t vytvo�en z�znam hostssl v
+ <I>pg_hba.conf</I> a tak� m�t povolen re�im <I>ssl</I>. Lze pou��t i jin�
+ prost�edky, nejen nativn� podporu ssl v PostgreSQL, nap�. stunel a
+ ssh.</LI>
+ <LI>Hesla u�ivatel� datab�ze jsou za�ifrov�na po��naje verz� 7.3. Ve
+ star��ch verz�ch toto chov�n� muselo b�t vynuceno volbou
+ <I>PASSWORD_ENCRYPTION</I> v <I>postgresql.conf</I></LI>
+ <LI> Server m��e b�et na �ifrovan�m souborov�m syst�mu.</LI>
+ </UL>
+ <HR>
+
+ <H2 align="center">Roz�i�ov�n� PostgreSQL</H2>
+
+ <H4><A name="5.1">5.1</A>) Napsal jsem UDF funkci, PostgreSQL v�ak kon�� dump core?</H4>
+
+ <P>Probl�m m��e b�t zp�soben mnoha okolnostmi. Vyzkou�ejte si svoji funkci
+ nejd��ve v n�jak� jednoduch� aplikaci.</P>
+
+ <H4><A name="5.2">5.2</A>) Jak mohu p�isp�t n�jak�mi �ikovn�mi datov�mi typy a funkcemi do PostgreSQL?</H4>
+
+ <P>Po�lete sv� roz���en� do konference pgsql-hackers, a ono pak mo�n�
+ skon�� v podadres��i contrib.</P>
+
+ <H4><A name="5.3">5.3</A>) Jak napsat funkci v C vracej�c� ntici?</H4>
+
+ <P>Funkce vracej�c� tabulky jsou podporovan� PostgreSQL 7.3 a vy��� pro
+ jazyky C, PL/PgSQL a SQL. V�ce naleznete v The Programmer's Guide.
+ P��klady t�chto funkc� pro C naleznete v <I>contrib/tablefunc</I>.</P>
+
+ <H4><A name="5.4">5.4</A>) Modifikoval jsem zdrojov� soubory. Tato zm�na nebyla p�i rekompilaci vzata v potaz. Pro�?</H4>
+
+ <P><I>Makefile</I> nem� informace o z�vislostech mezi hlavi�kov�mi soubory. Mus�te
+ prov�st <I>make clean</I> a pak <I>make</I>. Pokud pou��v�te <SMALL>gcc</SMALL>, m��ete pou��t
+ p�ep�na� <I>--enable-depend</I> p��kazu <I>configure</I> k automatick�mu �e�en�
+ z�vislost� p�eklada�em.</P>
+ </BODY>
+</HTML> \ No newline at end of file