1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
|
Frequently Asked Questions
Casto kladen� dotazy (FAQ) PostgreSQL
Posledn� aktualizace: 29. r�jna 2007 (aktualizov�no pro PostgreSQL
8.3)
Soucasn� spr�vce: Bruce Momjian (bruce@momjian.us)
Prelozil: Pavel Stehule (pavel.stehule@gmail.com)
Nejaktu�lnejs� verzi tohoto dokumentu naleznete na adrese
http://www.postgresql.org/files/documentation/faqs/FAQ.html
Odpovedi na ot�zky v�zan� na konkr�tn� platformy naleznete na adrese
http://www.postgresql.org/docs/faq/.
_________________________________________________________________
Obecn� ot�zky
1.1) Co je to PostgreSQL? Jak� je spr�vn� v�slovnost slova PostgreSQL?
1.2) Kdo r�d� v�voj PostgreSQL?
1.3) Pod jakou licenc� je PostgreSQL?
1.4) Na kter�ch platform�ch lze provozovat PostgreSQL?
1.5) Kde mohu z�skat PostgreSQL?
1.6) Jak� je posledn� verze?
1.7) Kde mohu z�skat podporu?
1.8) Jak a kam hl�sit chyby?
1.9) Kde najdu informace o zn�m�ch chyb�ch nebo nepodporovan�ch
vlastnostech?
1.10) Jak� je dostupn� dokumentace?
1.11) Jak se mohu naucit SQL?
1.12) Jak se mohu pripojit k t�mu v�voj�ru?
1.13) Jak je na tom PostgreSQL v porovn�n� s jin�mi datab�zemi?
1.14) Je PostgreSQL pripraven na aktu�ln� zav�den� letn�ho casu v
nekter�ch zem�ch?
Dotazy na klientsk� rozhran�
2.1) Kter� rozhran� jsou pouziteln� pro PostgreSQL?
2.2) Jak� n�stroje lze pouz�t pro PostgreSQL a web?
2.3) Existuje grafick� rozhran� pro PostgreSQL?
Administrativn� dotazy
3.1) Jak nainstalovat PostgreSQL jinam nez do /usr/local/pgsql?
3.2) Jak nastavit pravidla pro pr�stup z jin�ch stanic?
3.3) Jak vyladit datab�zi na vyss� v�kon?
3.4) Jak� m�m lad�c� prostredky?
3.5) Co znamen� "Sorry, too many clients", kdyz se zkous�m pripojit?
3.6) Proc je nutn� dump a obnoven� (load) datab�ze pri upgradu
PostgreSQL?
3.7) Jak� hardware bych mel pouz�vat?
Provozn� dotazy
4.1) Jak z�skat pouze prvn� r�dek dotazu? N�hodn� r�dek?
4.2) Jak z�sk�m seznam tabulek, indexu, datab�z�, a definovan�ch
uzivatelu. Mohu videt dotazy, kter� pouz�v� psql pro zobrazen� techto
informac�?
4.3) Jak zmenit datov� typ sloupce?
4.4) Jak� je maxim�ln� velikost r�dku, tabulky a datab�ze?
4.5) Kolik diskov�ho prostoru je potreba k ulozen� dat z norm�ln�ho
textov�ho souboru?
4.6) Muj dotaz je pomal� a nepouz�v� vytvoren� indexy. Proc?
4.7) Jak zjist�m, jak se vyhodnocuje muj dotaz?
4.8) Jak pouz�t case-(in)sensitive regul�rn� v�raz? Jak pouz�t index
pro case insensitive hled�n�?
4.9) Jak v dotazu detekovat, ze polozka je NULL? Jak bezpecne spojit
dva retezce, pokud mohou obsahovat NULL? Lze tr�dit podle toho, jestli
je polozka NULL nebo ne?
4.10) Jak� jsou rozd�ly mezi ruzn�mi znakov�mi typy?
4.11.1) Jak vytvorit serial/auto-increment polozku?
4.11.2) Jak z�skat hodnotu SERIAL po vlozen� r�dku?
4.11.3) Nezpusob� currval() a nextval() probl�my ve v�ce uzivatelsk�m
prostred�?
4.11.4) Proc nen� vygenerovan� c�slo pouzito pri prerusen�
transakce?Proc vznikaj� d�ry v c�slov�n� prostrednictv�m sekvence nebo
typu SERIAL?
4.12) Co to je OID? Co je to CTID?
4.13) Co znamen� chybov� hl�sen� "ERROR: Memory exhausted in
AllocSetAlloc()"?
4.14) Jak zjist�m, kterou verzi PostgreSQL pouz�v�m?
4.15) Jak vytvorit sloupec, kter� bude implicitne obsahovat aktu�ln�
cas?
4.16) Jak prov�st vnejs� spojen� (outer join)?
4.17) Jak prov�st dotaz napr�c nekolika datab�zemi?
4.18) Muze funkce vr�tit v�ce r�dku nebo sloupcu?
4.19) Co je pr�cinou chyby "relation with OID xxxxx does not exist"?
4.20) Jak� jsou moznosti replikace datab�z�?
4.21) Proc v dotazu nejsou rozpozn�ny n�zvy m�ch tabulek nebo funkc�?
Proc jsou velk� p�smena v n�zvech automaticky prevedena na mal�
p�smena?
_________________________________________________________________
Obecn� ot�zky
1.1) Co je to PostgreSQL? Jak� je spr�vn� v�slovnost slova PostgreSQL?
V�slovnost PostgreSQL je Post-Gres-Q-L , nebo zjednodusene Postgres .
V rade jazyku je slovo PostgreSQL obt�zne vysloviteln�, proto se v
hovoru casto pouz�v� zjednodusen� forma n�zvu. Pro ty, kter� by si
r�di poslechli v�slovnost, je k dispozici audioz�znam v MP3 form�tu.
PostgreSQL je relacn� datab�ze s nekter�mi objektov�mi rysy, kter� m�
moznosti tradicn�ch komercn�ch datab�zov�ch syst�mu s nekolika
rozs�ren�mi, kter� lze naj�t v DBMS syst�mech pr�st� generace.
Pouz�v�n� PostgreSQL nen� omezen� a vesker� zdrojov� k�dy jsou volne
dostupn�.
Za v�vojem PostgreSQL je mezin�rodn� skupina nez�visl�ch v�voj�ru
navz�jem komunikuj�c�ch prostrednictv�m internetu. Tento projekt nen�
r�zen z�dnou obchodn� organizac�. Pokud se chcete pridat k projektu,
prectete si v�voj�rsk� FAQ na adrese
http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html .
1.2) Kdo r�d� v�voj PostgreSQL?
Pokud budete hledat organizaci r�d�c� v�voj PostgreSQL, budete
zklam�ni. Nic takov�ho neexistuje. Existuj� pouze "core" a CVS skupiny
uzivatelu, ale ty existuj� v�ce z administr�torsk�ch duvodu nez z
organizacn�ch. Projekt je smerov�n komunitou v�voj�ru a uzivatelu, ke
kter� se kdokoliv muze pripojit. Jedin� co potrebuje, je prihl�sit se
do elektronick� konference. V�ce ve v�voj�rsk�m FAQ.
1.3) Pod jakou licenc� je PostgreSQL?
PostgreSQL je predmetem n�sleduj�c�ch autorsk�ch pr�v:
D�lc� Copyright (c) 1996-2009, PostgreSQL Global Development Group
D�lc� Copyright (c) 1994-6, Regents of the University of California
Udeluje se opr�vnen� k uzit�, rozmnozov�n�, prov�den� �prav a
rozsirov�n� tohoto softwaru a dokumentace k nemu, pro jak�koli �cely,
bez licencn�ho poplatku a bez p�semn� licencn� smlouvy, za podm�nky,
ze na vsech jeho kopi�ch je uvedeno ozn�men� o v�se uveden�ch pr�vech,
jakoz i obsah tohoto a dvou n�sleduj�c�ch odstavcu.
THE UNIVERSITY OF CALIFORNIA ("KALIFORNSK� UNIVERZITA") NEN� V Z�DN�M
PR�PADE ODPOVEDNA Z�DN� TRET� OSOBE ZA PR�MOU, NEPR�MOU, ZVL�STN�,
NAHODILOU NEBO V�SLEDNOU SKODU, VCETNE USL�HO ZISKU, ZPUSOBENOU UZIT�M
TOHOTO SOFTWARU A DOKUMENTACE K NEMU, A TO I V PR�PADE, ZE THE
UNIVERSITY OF CALIFORNIA BYLA INFORMOV�NA O MOZNOSTI VZNIKU TAKOV�
SKODY.
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 �CELUM. N�ZE UVEDEN� SOFTWARE JE POSKYTNUT "JAK STOJ� A
LEZ�" A THE UNIVERSITY OF CALIFORNIA NEN� POVINNA ZAJISTIT JEHO
�DRZBU, PODPORU, AKTUALIZACI, VYLEPSEN� NEBO MODIFIKACI.
V�se uveden� je BSD licence, bezn� licence otevren�ho zdroje. Nen� zde
z�dn� omezen� ohledne uzit� k�du zdroje. Jsme s t�m spokojeni a nem�me
v �myslu na t�to skutecnosti cokoli menit.
1.4) Na kter�ch platform�ch lze provozovat PostgreSQL?
Strucne receno, PostgreSQL bez� na vsech modern�ch unixov�ch
syst�mech. Seznam tech, u kter�ch probehlo testov�n�, naleznete v
instalacn�ch instrukc�ch.
PostreSQL tak� bez� nativne na vsech Microsof Windows syst�mech
odvozen�ch z Microsoft Windows NT jako jsou Windows 2000SP4, WindowsXP
a Windows2003. Instalacn� bal�cek naleznete na adrese
http://pgfoundry.org/projects/pginstaller. Na stars�ch syst�mech s
jeste MS-DOS j�drem lze spustit PostgreSQL s emulacn�m programem
Cygwin.
D�le existuje port pro Novell Netware 6 port na adrese
http://forge.novell.com, a pro OS/2 verze (eComStation) na adrese
http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre
SQL&stype=all&sort=type&dir=%2F .
1.5) Kde mohu z�skat PostgreSQL?
Pomoc� webov�ho klienta z adresy http://www.postgresql.org/ftp/ nebo
klienta ftp z adresy ftp://ftp.postgresql.org/pub/.
1.6) Jak� je posledn� verze?
Nejnovejs� verz� PostgreSQL je verze 8.2.5
V pl�nu je uvolnovat kazdorocne jednu velkou verzi a kazd�ch nekolik
mes�cu mal� verze.
1.7) Kde mohu z�skat podporu?
Nejcastejs� forma podpory uzivatelum PostgreSQL komunitou je
prostrednictv�m e-mailu. Na nasem webov�m serveru naleznete odkaz na
str�nky,kde se muzete prihl�sit do elektronick� konference. Pro
zac�tek jsou doporucen� konference general nebo bugs.
Dals� cestou je IRC kan�l #postgresql na Freenode (irc.freenode.net).
K pripojen� pouzijte Unixov� pr�kaz irc -x '#postgresql' "$USER"
irc.freenode.net nebo jak�koholiv jin�ho IRC klienta. V t�to s�ti
existuje jeste spanelsk� (#postgresql-es) a francouzsk�
(#postgresqlfr) verze. Dals� PostgreSQL kan�l naleznete na EFNet.
Seznam spolecnost� poskytuj�c� komercn� podporu naleznete na adrese
http://techdocs.postgresql.org/companies.php.
1.8) Jak a kam hl�sit chyby?
Vyplnte formul�r na adrese
http://www.postgresql.org/support/submitbug. Na nasem ftp serveru
ftp://ftp.postgresql.org/pub/ si overte, ze pouz�v�te aktu�ln� verzi
PostreSQL.
Chyby reportovan� prostrednictv�m chybov�ho formul�re nebo zasl�n�m
mailu do PostgreSQL konference obvykle generuje n�sleduj�c� odezvu:
* Nejedn� se o chybu, a proc
* Jedn� se o zn�mou chybu, kter� je jiz v seznamu �kolu TODO
* Tato chyba byla opravena v aktu�ln� verzi
* Tato chyba byla jiz opravena ve verzi, kter� zat�m nebyla
ofici�lne uvolnena
* Pozadavek na dals� doplnuj�c� informace:
+ Operacn� syst�m
+ Verze PostgreSQL
+ Test reprodukuj�c� chybu
+ Lad�c� informace
+ Backtrace v�stup debuggeru
* Jedn� se o zat�m nezjistenou chybu, pak muzete cekat
+ Z�platu odstranuj�c� chybu, kter� bude vlozena do dals� velk�
nebo mal� verze
+ Informaci, ze se jedn� o chybu, kterou nelze okamzite resit a
je proto prid�na do TODO
1.9) Kde najdu informace o zn�m�ch chyb�ch nebo nepodporovan�ch vlastnostech?
PostgreSQL podporuje rozs�renou podmnozinu SQL:2003. V nasem TODO
naleznete seznam zn�m�ch chyb, chybej�c�ch vlastnost�, a pl�ny do
budoucna.
Odezva na pozadavek na novou vlastnost PostgreSQL je obvykle:
* Pozadavek je jiz v TODO
* Pozadovan� funkce nen� chten� protoze
+ Duplikuje jiz existuj�c� funkci, kter� respektuje SQL
standard
+ Implementac� funkce by se pr�lis zkomplikoval k�d bez
relevantn�ho pr�nosu
+ Funkce by mohla b�t nebezpecn� nebo nespolehliv�
* Pozadavek je prid�n do TODO
PostgreSQL nepoz�v� syst�m pro sledov�n� chyb, protoze jsme zjistili,
ze je efektivnejs� pr�mo reagovat na maily a udrzovat aktu�ln� TODO. V
praxi je snaha o co nejrychlejs� resen� chyb, a chyby, kter� by se
mohly projevit u mnoha uzivatelu jsou opravov�ny velice rychle. Jedin�
m�sto, kde lze dohledat vsechny zmeny, rozs�ren� a opravy v PostgreSQL
je CVS log. Pozn�mky k verzi "Release notes" nezachycuj� vsechny
zmeny, k nemz doslo.
1.10) Jak� je dostupn� dokumentace?
PostgreSQL obsahuje vynikaj�c� dokumentaci zahrnuj�c� manu�l,
manu�lov� str�nky a testovac� pr�klady. Pod�vejte se do adres�re /doc.
Manu�l je pr�stupn� online na http://www.postgresql.org/docs.
K dispozici jsou zdarma dve online knihy na adres�ch
http://www.postgresql.org/docs/books/awbook.html a
http://www.commandprompt.com/ppbook/. Dals� literaturu lze zakoupit.
Nejpopul�rnejs� je od Kerryho Douglase. Seznam dostupn� literatury je
na http://techdocs.postgresql.org/techdocs/bookreviews.php. Jeste je
kolekce technicky orientovan�ch cl�nku tematicky spojen�ch s
PostgreSQL na adrese http://techdocs.postgresql.org/.
R�dkov� klient psql m� \d pr�kazy pro zobrazen� informac� o typech,
oper�torech, funkc�ch, agregacn�ch funkc�, atd. Pouzijte \? pro
zobrazen� dostupn�ch pr�kazu.
Dals� dokumentaci najdete na nasem webu.
1.11) Jak se mohu naucit SQL?
Pod�vejte se do v�se uveden� dokumentace. Dals� online knihou je
"Teach Yourself SQL in 21 Days, Second Edition" na adrese
http://members.tripod.com/er4ebus/sql/index.htm. Mnoho nasich
uzivatelu doporucuje knihu The Practical SQL Handbook, Bowman, Judith
S., et al., Addison-Wesley. Dals� The Complete Reference SQL, Groff et
al., McGraw-Hill.
Dals� online tutori�ly jsou dostupn� na adres�ch:
* http://www.intermedia.net/support/sql/sqltut.shtm
* http://sqlcourse.com
* http://www.w3schools.com/sql/default.asp
* http://mysite.verizon.net/Graeme_Birchall/id1.html
1.12) Jak se mohu pripojit k t�mu v�voj�ru?
Prostudujte si Developer's FAQ.
1.13) Jak je na tom PostgreSQL v porovn�n� s jin�mi datab�zemi?
Software muzeme porovn�vat z nekolika ruzn�ch pohledu: vlastnosti,
v�kon, spolehlivost, podpora a cena.
Vlastnosti
PostgreSQL nab�z� vetsinu funkc� funkcionality velk�ch komercn�ch DBMS
syst�mu jako jsou: transakce, vnoren� dotazy, spouste, referencn�
integrita a sofistikovan� syst�m zamyk�n�. Poskytujeme urcit� funkce,
kter� ostatn� syst�my bezne nepodporuj�. Napr. uzivatelem definovan�
typy, dedicnost, pravidla (rules), a MVCC architekturu.
V�kon
V�kon PostgreSQL je srovnateln� s ostatn�mi komercn�mi nebo Open
Source datab�zemi. V nekter�ch pr�padech je rychlejs�, jindy
pomalejs�. N�s v�kon je obvykle +/-10% vuci ostatn�m datab�z�m.
Spolehlivost
Uvedomujeme si, ze datab�ze mus� b�t stoprocentne spolehliv�, jinak je
nepouziteln�. Snaz�me se, aby kazd� verze byla dobre otestov�na a
obsahovala minimum chyb. Kazd� verze je minim�lne nekolik mes�cu v
beta testovac�m rezimu. Do produkcn�ho rezimu se dostane, az kdyz
nedoch�z� k dals�m zmen�m nebo oprav�m. Ver�me, ze jsem v�ce nez
srovnateln� s ostatn�mi datab�zemi v t�to oblasti.
Podpora
Na nasich internetov�ch konferenc�ch se setk�v� velk� skupina v�voj�ru
a uzivatelu pri resen� vyskytuj�c�ch se probl�mu. Nase internetov�
konference umoznuj� kontakt velk� skupiny v�voj�ru a uzivatelu.
Nemuzeme garantovat opravu chyby, ale komercn� DBMSs tak� vzdy
negarantuj� resen� probl�mu. Ver�me ale, ze d�ky pr�m�mu kontaktu na
v�voj�re, nasi uzivatelskou komunitu, manu�lum, a dostupn�m zdrojov�m
k�dum m�me leps� podporu nez ostatn� DBMSs. Pro ty, kter� preferuj�
komercn� "per-incident" podporu, existuje spolecnost�, kter� ji
nab�zej� (FAQ sekce 1.7.)
Cena
PostgreSQL lze pouz�vat bezplatne (a to i pro komercn� pouzit�). Tak�
muzete neomezene pouz�vat n�s k�d ve sv�ch produktech s v�jimkami
specifikovan�mi v nas� licenci (preb�r�me BSD licenci).
1.14) Je PostgreSQL pripraven na aktu�ln� zav�den� letn�ho casu v nekter�ch
zem�ch?
Poc�naje verz� 8.0.[4+] podporuje PostgreSQL letn� cas tak� pro USA.
Podpora letn�ho casu (daylight saving time) pro Kanadu a Z�padn�
Austr�lii je obsazena ve verz�ch 8.0.[10+] a 8.1.[6+] a vsech
n�sleduj�c�ch verz�ch. Stars� verze pouz�valy syst�movou datab�zi
casov�ch z�n obsahuj�c�, krome jin�ho, informaci o tom, zda se pro
danou casovou z�nu rozlisuje mezi letn�m a zimn�m casem.
_________________________________________________________________
Dotazy na klientsk� rozhran�
2.1) Kter� rozhran� jsou pouziteln� pro PostgreSQL?
PostgreSQL se distribuuje pouze s rozhran�m pro jazyk C a embedded C.
Vsechna dals� rozhran� predstavuj� nez�visl� projekty, kter� je treba
st�hnout z internetu samostatne. Osamostatnen� techto projektu
umoznuje nez�vislost v�vojov�ch t�mu a moznost vyd�vat nov� verze bez
ohledu na vyd�n� nov� verze PostgreSQL.
Nekter� programovac� jazyky jako je napr. PHP obsahuj� rozhran� pro
PostgreSQL. Rozhran� pro jazyky jako je Perl, Tcl, Python a mnoho
dals�ch jsou dostupn� na adrese: http://gborg.postgresql.org v sekci
Drivers/Interfaces.
2.2) Jak� n�stroje lze pouz�t pro PostgreSQL a web?
Dobr�m �vodem do problematiky datab�z� v prostred� webov�ch str�nek
muze b�t web http://www.webreview.com.
PHP (http://www.php.net) je vynikaj�c�m rozhran�m pro tvorbu webu.
Pro slozitejs� �lohy se casto pouz�v� Perl a jeho BDB:Pg rozhran� s
podporou CGI - CGI.pm nebo mod_perl(u).
2.3) Existuje grafick� rozhran� pro PostgreSQL?
K dispozici je rada grafick�ch n�stroju podporuj�c�ch PostgreSQL a to
od komercn�ch nebo open source v�voj�ru. Podrobn� seznam naleznete na
adrese http://www.postgresql.org/docs/techdocs.54.
_________________________________________________________________
Administrativn� dotazy
3.1) Jak nainstalovat PostgreSQL jinam nez do /usr/local/pgsql?
Pri spousten� configure nastavte parametr --prefix
3.2) Jak nastavit pravidla pro pr�stup z jin�ch stanic?
Ve v�choz� konfiguraci, PostgreSQL umoznuje pouze pripojen� z
lok�ln�ho uzivatele prostrednictv�m Unix domain sockets nebo TCP/IP
spojen�. Bez modifikace listen_addresses v souboru postgresql.conf, a
povolen� adresy v souboru $PGDATA/pg_hba.conf se nelze pripojit k
PostgreSQL z ostatn�ch stanic. Zmena v�se zm�nen�ch parametru vyzaduje
restart datab�zov�ho serveru.
3.3) Jak vyladit datab�zi na vyss� v�kon?
V�kon syst�mu muzete ovlivnit ve trech oblastech:
Zmeny dotazu
* Pouzit�m indexu vcetne c�stecn�ch a funkcion�ln�ch
* Pouzit�m COPY m�sto opakovan�ch INSERTu
* Sloucen�m mnoha SQL pr�kazu do jedn� transakce sn�zen�m rezie na
commit
* Pouz�v�n�m CLUSTERU, pokud nac�t�te vets� pocet r�dek podle indexu
* Pouzit�m klauzule LIMIT v poddotazech
* Pouzit�m predpripraven�ch dotazu
* Pouz�v�n�m ANALYZE. Tento pr�kaz aktualizuje statistiky, kter� se
pouz�vaj� pri optimalizaci dotazu
* Pravideln� pouzit� VACUUM nebo pouz�v�n� pg_autovacuum
* Odstranen�m indexu pred rozs�hl�mi zmenami v datech
Konfigurace serveru
Urcit� parametry v souboru postgresql.conf maj� vliv na v�kon serveru.
Detaily naleznete v pr�rucce Administr�tora v Server Run-time
Environment/Run-time Configuration. Dals� koment�re naleznete v
http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.ht
ml a http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html.
V�ber hardware
Vliv hardware na v�kon serveru je pops�n v dokumentech
http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html
a http://www.powerpostgresql.com/PerfList/.
3.4) Jak� m�m lad�c� prostredky?
Nastaven�m log_* promenn�ch v konfiguraci serveru si vynut�te logov�n�
dotazu a procesn�ch statistik, kter� V�m mohou pomoci pri laden� a
optimalizaci v�konu.
3.5) Co znamen� "Sorry, too many clients", kdyz se zkous�m pripojit?
Prekrocil jste v�choz� limit, kter� je 100 soucasne pripojen�ch
uzivatelu. V konfiguraci serveru v postgresql.conf tuto hodnotu muzete
zvetsit zmenou hodnoty max_connection. Nezapomente restartovat server.
3.6) Proc je nutn� dump a obnoven� (load) datab�ze pri upgradu PostgreSQL?
Zpusob c�slov�n� je pops�n v dokumentaci na
http://www.postgresql.org/support/versioning. Instrukce k proveden�
migrace na vyss� verzi jsou takt�z v dokumentaci na adrese
http://www.postgresql.org/docs/current/static/install-upgrading.html.
3.7) Jak� hardware bych mel pouz�vat?
Jelikoz PC jsou vetsinou kompatibiln�, lid� maj� tendence verit, ze
vsechna PC jsou stejne kvalitn�. Coz nen� pravda. Pameti ECC, SCSI a
kvalitn� z�kladn� desky jsou mnohem spolehlivejs� a v�konnejs� nez
lacinejs� hardware. PostgreSQL pobez� na vetsine hardwaru, nicm�ne
pokud je pro V�s spolehlivost a v�kon syst�mu dulezit�, je dobr�
venovat cas nalezen� vhodn� hardwarov� konfigurace. Na nasich
elektronick�ch konferenc�ch muzete diskutovat o vhodn�ch konfigurac�ch
a znack�ch.
_________________________________________________________________
Provozn� dotazy
4.1) Jak z�skat pouze prvn� r�dek dotazu? N�hodn� r�dek?
Pokud potrebujete pouze nekolik r�dku a pokud v�te kolik, pouzijte
SELECT LIMIT. Pokud bude mozn� pouz�t index shoduj�c� se s ORDER BY,
je mozn�, ze se nebude prov�det cel� dotaz. Pokud nezn�te pocet
z�znamu, pouzijte kurzor a pr�kaz FETCH.
Pro v�ber n�hodn�ho r�dku pouzijte pr�kaz ve tvaru:
SELECT col
FROM tab
ORDER BY random()
LIMIT 1;
4.2) Jak z�sk�m seznam tabulek, indexu, datab�z�, a definovan�ch uzivatelu.
Mohu videt dotazy, kter� pouz�v� psql pro zobrazen� techto informac�?
V psql pr�kazem \dt z�sk�te seznam tabulek. �pln� seznam pr�kazu psql
z�sk�te pr�kazem \?. Alternativne si muzete prostudovat zdrojov� k�d
psql - soubor pgsql/src/bin/psql/describe.c, kter� obsahuje SQL
pr�kazy, kter� jsou generov�ny pro z�sk�n� v�stupu psql "backslash"
pr�kazu. Tak� muzete nastartovat psql s parametrem -E, kter� zpusob�
zobrazen� vsech SQL pr�kazu, kter� se odes�laj� na server. PostgreSQL
tak� podporuje SQL standard INFORMACN� SCH�MATA (standardn� syst�mov�
tabulky). Klasick�m dotazem do syst�mov�ch tabulek z�sk�te pozadovan�
informace o strukture datab�ze.
Syst�mov� tabulky PostgreSQL (mimo r�mec SQL standardu) pouz�vaj�
prefix pg_. Pro zjisten� struktury datab�ze je muzete pouz�t tak�, i
kdyz preferov�ny jsou dotazy do informacn�ho sch�matu.
Seznam vsech datab�z� z�sk�te pr�kazem psql -l
Dals� inspiraci najdete v souboru pgsql/src/tutorial/syscat.source.
Obsahuje ilustracn� SELECTy potrebn� k z�sk�n� informac� z syst�mov�ch
tabulek datab�ze.
4.3) Jak zmenit datov� typ sloupce?
Ve verz�ch 8.0 a pozdejs�ch jednoduse:
ALTER TABLE ALTER COLUMN TYPE
V stars�ch verz�ch:
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;
Po zmene spustte pr�kaz VACUUM FULL, aby doslo k uvolnen� diskov�ho
prostoru pouzit�ho v tu chv�li jiz neplatn�mi z�znamy.
4.4) Jak� je maxim�ln� velikost r�dku, tabulky a datab�ze?
PostgreSQL m� tato omezen�:
Maxim�ln� velikost datab�ze: neomezena (existuj� 32TB db)
Maxim�ln� velikost tabulky: 32 TB
Maxim�ln� velikost r�dky: 480GB
Maxim�ln� velikost polozky 1 GB
Maxim�ln� pocet r�dku v tabulce: neomezeno
Maxim�ln� pocet sloupcu v tabulce: 250-1600 podle typu
Maxim�ln� pocet indexu na tabulce: neomezeno
Ve skutecnosti nic nen� neomezeno, limitem b�v� vzdy dostupn� diskov�
pamet nebo velikost operacn� pameti. Pokud m�te nekterou z techto
hodnot neobvykle velkou, muze doj�t ke sn�zen� v�konu.
Maxim�ln� velikost tabulky je 32 TB a nevyzaduje podporu velk�ch
souboru operacn�m syst�mem. Velk� tabulky se ukl�daj� do nekolika 1 GB
souboru takze limity souborov�ho syst�mu nejsou podstatn�.
Maxim�ln� velikost tabulky a maxim�ln� pocet sloupcu muzeme
zectyrn�sobit nastaven�m velikosti bloku na 32K.
Indexy jsou povolen� pouze na sloupc�ch jejichz d�lka je mens� nez
2000 znaku. Pokud tuto d�lku prekroc�me a index potrebujeme pro
zajisten� jednoznacnosti, je vhodnejs� pouz�t funkcion�ln� index nad
MD5 funkc� nebo fulltextov� index.
4.5) Kolik diskov�ho prostoru je potreba k ulozen� dat z norm�ln�ho textov�ho
souboru?
PostgreSQL vyzaduje az petin�sobek diskov�ho prostoru k ulozen� dat z
textov�ho souboru.
Napr�klad, uvazujme soubor se 100 tis�ci r�dky obsahuj�c� na kazd�
r�dce cel� c�slo a textov� popis. Text je v prumerne dvacet bytu
dlouh�. Textov� soubor bude 2.8 MB dlouh�. Velikost datab�ze
obsahuj�c� odpov�daj�c� data bude zhruba 5.2 MB.
24 bytu: hlavicka r�dku (priblizne)
24 bytu: jedna celoc�seln� polozka a jedna textov�
+ 4 byty: ukazatel na str�nku k entici
------------------------------------------------------
52 bytu na r�dek
Velikost datov� str�nky PostgreSQL je 8192 bytu (8KB)
8192 bytu na str�nce
---------------------- = 158 r�dek na str�nku
52 bytu za r�dek
100000 r�dek
----------------------- = 633 str�nek (zaokrouhleno nahoru)
158 r�dek na str�nce
633 datov�ch str�nek * 8192 bytu na kazdou str�nku = 5,185,536 bytu (5.2 MB)
Indexy nemaj� tak velkou rezii, ale mohou b�t tak� velk�, protoze
obsahuj� indexovan� data.
Hodnoty NULL jsou ulozeny v bitmap�ch, takze zab�raj� jen velmi m�lo
diskov�ho prostoru.
4.6) Muj dotaz je pomal� a nepouz�v� vytvoren� indexy. Proc?
Kazd� dotaz nemus� nutne pouz�t existuj�c� indexy. Index se pouzije
tehdy, kdyz je tabulka vets� nez urcit� minim�ln� velikost, a dotaz
vyb�r� pouze procentu�lne malou c�st r�dku tabulky. To proto, ze
n�hodn� pr�stup k disku dan� cten�m indexu muze b�t pomalejs� nez
line�rn� cten� tabulky nebo sekvencn� cten�.
PostgreSQL rozhoduje o pouzit� indexu na z�klade statistiky pr�stupu k
tabulce. Tyto statistiky se shromazduj� pr�kazy VACUUM ANALYZE nebo
ANALYZE. D�ky statistik�m m� optimizer informaci o poctu r�dek v
tabulce a muze l�pe rozhodnout o pouzit� indexu. Statistiky se uplatn�
pri urcen� optim�ln�ho porad� a metody spojen� tabulek. Statistiky by
se meli aktualizovat opakovane, tak jak se men� obsah tabulek.
Indexy nejsou obycejne pouzity pro setr�den� nebo spojen� tabulek.
Sekvencn� zpracov�n� n�sledovan� explicitn�m tr�den�m je obycejne
rychlejs� nez pouzit� indexu na velk� tabulce.
Jinak je tomu v pr�pade pouzit� LIMIT a ORDER BY, pri kter�m se
vetsinou index pouzije, jelikoz je v�sledkem pouze mal� c�st tabulky.
Pokud si mysl�te, ze optimizer mylne zvolil sekvencn� prohled�v�n�
tabulky, pouzijte pr�kaz SET enable_seqscan TO 'off' a zkuste zda je
prohled�v�n� s indexem rychlejs�.
Pri vyhled�v�n� na z�klade vzoru jako je napr. oper�tor LIKE nebo ~ se
indexy pouzij� pouze za urcit�ch skutecnost�:
* zac�tek hledan�ho vzoru mus� b�t ukotven k zac�tku, tj.
+ vzor LIKE nesm� zac�nat %
+ ~ regul�rn� v�raz mus� zac�nat ^
* vzor nesm� zac�nat intervalem, napr. [a-e]
* vyhled�van�, kter� nen� Case sensitiv jako je ILIKE nebo ~*
nepouz�v� indexy. Muzete ale pouz�t funkcion�ln� indexy, kter�
jsou pops�ny v sekci 4.8
* pri inicializaci datab�ze (initdb) mus� b�t pouzito C locale nebo
vytvorte speci�ln� text_pattern_index, kter� umozn�, pri
respektov�n� zm�nen�ch podm�nek pouzit� indexu operac� LIKE. Pro
vyhled�v�n� cel�ch slov je mozn� a v�hodn� pouz�t fulltext.
4.7) Jak zjist�m, jak se vyhodnocuje muj dotaz?
Pod�vejte se do n�povedy k pr�kazu EXPLAIN.
4.8) Jak pouz�t case-(in)sensitive regul�rn� v�raz? Jak pouz�t index pro case
insensitive hled�n�?
Vyhled�v�n� prostrednictv�m regul�rn�ch vzoru zajistuje oper�tor ~,
kter� je case-sensitive. Jeho case-insensitive varianta je oper�tor
~*. Case-insensitive variac� oper�toru LIKE je oper�tor ILIKE.
Case-insensitive vyhled�n� se res�:
SELECT *
FROM tab
WHERE lower(col) = 'abc';
Tento dotaz nepouzije standardn� index. Mus�te pouz�t tzv.
funkcion�ln� index:
CREATE INDEX tabindex ON tab (lower(col));
Pokud index vytvor�me jako unik�tn�, tak muzeme ukl�dat retezce
obsahuj�c� mal� i velk� p�smena, ale nikoliv retezce, kter� se od sebe
odlisuj� jen v mal�ch a velk�ch p�smenech. K zajisten� z�pisu retezce
obsahuj�c� pouze mal� nebo pouze velk� p�smena pouzijte CHECK kontroly
nebo triggery.
4.9) Jak v dotazu detekovat, ze polozka je NULL? Jak bezpecne spojit dva
retezce, pokud mohou obsahovat NULL? Lze tr�dit podle toho, jestli je polozka
NULL nebo ne?
Pokud chcete testovat hodnotu NULL pouzijte oper�tor IS:
SELECT *
FROM tab
WHERE col IS NULL;
K spojen� retezcu, kter� mohou obsahovat hodnotu NULL, pouz�vejte
funkci COALESCE(), napr.:
SELECT COALESCE(col1, '') || COALESCE(col2, '')
FROM tab
Pokud chcete tr�dit podle hodnoty NULL, pouzijte v�raz IS NULL nebo IS
NOT NULL v klauzuli ORDER. Hodnota pravda m� prednost pred hodnotou
false a tedy pokud pouzijete:
SELECT *
FROM tab
ORDER BY (col IS NOT NULL)
tak z�znamy s NULL budou na zac�tku setr�den�ch dat.
4.10) Jak� jsou rozd�ly mezi ruzn�mi znakov�mi typy?
Typ Intern� n�zev Pozn�mky
VARCHAR(n) varchar n urcuje maxim�ln� d�lku
CHAR(n) bpchar retezec je do dan� d�lky rozs�ren mezerami
TEXT text bez omezen� d�lky
BYTEA bytea pole bytu nespecifikovan� d�lky
"char" char jeden znak
Na intern� n�zvy muzete narazit v syst�mov�m katalogu nebo v nekter�ch
chybov�ch hl�sen�ch.
Ctyri prvn� typy jsou tzv. varlena typy (prvn� ctyri byty na disku
jsou obsahuj� d�lku, ostatn� obsahuj� vlastn� data). Skutecne obsazen�
prostor je tedy o neco m�lo vets� nez deklarovan� velikost. Na druhou
stranu, dels� retezce jsou komprimov�ny, takze obsazen� prostor na
disku muze b�t mens� nez se cek�.
VARCHAR(n) je vhodn� pro ukl�d�n� ruzne dlouh�ch retezcu u kter�ch
zn�me d�lkov� omezen�, TEXT pro retezce bez omezen� d�lky (maximum je
jeden gigabyte).
CHAR(n) se pouz�v� pro ulozen� stejne dlouh�ch retezcu. CHAR(n) dopln�
mezerami na specifikovanou d�lku, VARCHAR(n) hodnoty se ukl�daj� tak
jak jsou. BYTEA je pro ukl�d�n� bin�rn�ch dat - non ASCII hodnot.
Vsechny zm�nen� typy maj� podobn� v�konov� charakteristiky.
4.11.1) Jak vytvorit serial/auto-increment polozku?
V PostgreSQL muzete pouz�t datov� typ SERIAL. Jeho pouzit�m se
automaticky vytvor� sekvence. Napr�klad:
CREATE TABLE person (
id SERIAL,
name TEXT
);
je automaticky transformov�no na:
CREATE SEQUENCE person_id_seq;
CREATE TABLE person (
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
name TEXT
);
Podrobnejs� informace najdete v manu�lu v popisu pr�kazu
create_sequence.
4.11.2) Jak z�skat hodnotu SERIAL po vlozen� r�dku?
Nejjednoduss�m zpusob, jak z�skat vygenerovanou hodnotu typu SERIAL,
je vyuz�t klauzuli RETURNING. Pro tabulku z 4.11.1 vypad� takto:
INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
Tak� muzete pouz�t funkci nextvall() a jej� v�sledek pouz�t v pr�kazu
INSERT, nebo zavolat currval() po proveden� pr�kazu INSERT.
4.11.3) Nezpusob� currval() a nextval() probl�my ve v�ce uzivatelsk�m
prostred�?
Ne, currval vrac� vzdy hodnotu, kter� byla vygenerov�na pro v�s.
4.11.4) Proc nen� vygenerovan� c�slo pouzito pri prerusen� transakce?Proc
vznikaj� d�ry v c�slov�n� prostrednictv�m sekvence nebo typu SERIAL?
Pot� co sekvence vygeneruje nov� c�slo, tak se nedoch�z� k zamcen�
sekvence a necek� se na �spesn� nebo ne�spesn� dokoncen� transakce.
Odvol�n�m transakce, kter� si vyz�dala c�sla sekvence se tato c�sla
nen�vratne ztrat�.
4.12) Co to je OID? Co je to CTID?
V pr�pade, ze tabulku nezaloz�me s atributem WITHOUT OIDS, tak m�
kazd� r�dek unik�tn� identifikacn� c�slo OID. Toto c�slo je 4 bajtov�
cel� c�slo, kter� je jedinecn� v cel� instalaci. Pretece po 4
miliard�ch r�dku. PostgreSQL pouz�v� OIDs jako intern� linky v
intern�ch syst�mov�ch tabulk�ch.
K z�sk�n� unik�tn�ho c�sla v nesyst�mov�ch tabulk�ch je vhodnejs�
pouzit� typu SERIAL nez OID, jelikoz sekvence SERIAL se pouz�v� pouze
pro jednu tabulku a je tud�z m�ne n�chyln� na pretecen�. Pokud byste
se toho ob�vali, pouzijte typ SERIAL8.
CTID se pouz�v� k identifikaci konkr�tn�ho fyzick�ho r�dku. CTID se
men� pokud je r�dek modifikov�n nebo znovu nacten. Pouz�vaj� ho indexy
jako adresaci fyzick�ch r�dku.
4.13) Co znamen� chybov� hl�sen� "ERROR: Memory exhausted in
AllocSetAlloc()"?
Pravdepodobne jste vycerpal dostupnou virtu�ln� pamet, nebo tvuj
kernel m� pr�lis n�zk� limity u urcit�ch zdroju. Pred startem
PostgreSQL vyzkousejte:
ulimit -d 262144
limit datasize 256m
Mozn�, ze se projde pouze jeden pr�kaz - z�lez� to na vasem shellu.
Mel by zvednout limity datov�ch segmentu vasich procesu na dostatecne
velkou hodnotu a snad umoznit dokoncen� dotazu. Zmena limitu se bude
aplikovat pouze na aktu�ln� proces a na vsechny nove vytvoren�
procesy. Jestlize m�te probl�m s SQL klientem, protoze v�m server
vr�til pr�lis dat, zkuste to pred startem klienta.
4.14) Jak zjist�m, kterou verzi PostgreSQL pouz�v�m?
V psql napiste:
SELECT version();
4.15) Jak vytvorit sloupec, kter� bude implicitne obsahovat aktu�ln� cas?
Pouzijte CURRENT_TIMESTAMP:
CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
4.16) Jak prov�st vnejs� spojen� (outer join)?
PostgreSQL podporuje standardn� SQL syntaxi pro vnejs� spojen�. Zde
jsou dva pr�klady:
SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
nebo
SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);
Tyto identick� dotazy spoj� sloupec t1.col k sloupci t2.col, a jeste
vr�t� vsechny nesp�rovan� r�dky t2 (ty, kter� nedohled� v t2). RIGHT
JOIN by pripojil vsechny nesp�rovan� r�dky z t2. FULL JOIN vr�t�
vsechny sp�rovan� r�dky i vsechny zb�vaj�c� r�dky z obou tabulek.
Kl�cov� slovo OUTER je voliteln�. Bezn� operace JOIN se tak� oznacuje
jako vnitrn� spojen�.
4.17) Jak prov�st dotaz napr�c nekolika datab�zemi?
Neexistuje z�dn� zpusob, jak se v dotazu odkazovat na tabulky z jin�
nez aktu�ln� datab�ze. A to protoze m� syst�mov� tabulky ulozen�
nez�visle v kazd� datab�zi a nen� tak �plne zrejm�, jak by se dotaz
proveden� napr�c datab�zemi mel chovat.
Jeden z doplnku dblink umoznuje dotaz nad nekolika tabulkami pomoc�
funkc�. Druh� zpusob je simult�ln� pripojen� klienta ke vsem
relevantn�m datab�z�m a sloucen� v�sledku na strane klienta.
4.18) Muze funkce vr�tit v�ce r�dku nebo sloupcu?
Jde to jednoduse pomoc� set-returning funkce. V�ce na
http://www.postgresql.org/docs/techdocs.17.
4.19) Co je pr�cinou chyby "relation with OID xxxxx does not exist"?
Nechten�m vedlejs�m efektem kesov�n� SQL dotazu v PL/pgSQL funkci je
probl�m s neplatn�mi odkazy na docasn� tabulky, kter� byly od prvn�ho
spusten� funkce zruseny a znovu vytvoreny pred dals�m spusten�m
PL/pgSQL funkce. Resen�m je pouz�t pr�kaz EXECUTE a to proto, ze
prov�dec� pl�n SQL pr�kazu spousten�ho pr�kazem EXECUTE se vytv�r�
pokazd� znovu (neukl�d� se do cache).
Tento probl�m by se nemel vyskytovat u PostgreSQL verze 8.3 a vyss�ch
verz�ch.
4.20) Jak� jsou moznosti replikace datab�z�?
Replikaci datab�ze umoznuje nekolik technoligi�. Kazd� m� urcit�
v�hody a nev�hody.
Master/Slave replikaci podporuje jeden hlavn� server, kter� prij�m�
pozadavky na z�pis a cten�, a nekolik podr�zen�ch serveru, kter�
umoznuj� pouze cten� (SELECT). Nejrozs�renejs�m volne dostupn�m
resen�m tohoto typu je Slony-I.
Replikace typu Multi-master podporuje existenci nekolika serveru s
povolen�m z�pisem na v�ce replikovan�ch serverech. Toto resen� zvysuje
z�tez serveru, protoze je nutn� synchronizace serveru.
Nejrozs�renejs�m volne dostupn�m resen�m je PGCluster.
Jeste existuje nekolik komercn�ch a hardware resen� replikac�
podporuj�c�ch ruzn� modely replikace.
4.21) Proc v dotazu nejsou rozpozn�ny n�zvy m�ch tabulek nebo funkc�? Proc
jsou velk� p�smena v n�zvech automaticky prevedena na mal� p�smena?
Nejcastejs�m duvodem nerozpozn�n� n�zvu objektu bylo pouzit� vlozen�
n�zvu sloupce nebo tabulky mezi uvozovky pri zakl�d�n� tabulky. Pokud
se n�zev zap�se mezi uvozovky, pak je case sensitive, a v dusledku
toho je nutn� n�zvy techto sloupcu nebo tabulek v SQL pr�kazech tak�
vkl�dat mezi uvozovky (pokud obsahuj� velk� p�smena). Nekter�
programy, jako je napr�klad pgAdmin, automaticky pouz�vaj� uvozovky.
Takze pokud chcete, aby syst�m identifikoval identifik�tor, mus�te:
* nepouz�vat uvozovky v pr�kazu CREATE TABLE
* v identifik�toru pouz�t pouze mal� p�smena
* v dotazech vkl�dat identifik�tory do uvozovek
|