Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2003-02-18 17:20:37 +0000
committerBruce Momjian2003-02-18 17:20:37 +0000
commita9c28a61249d1c7ea06528fe823378dcda4af26b (patch)
tree4afd90c9192becbcbe52c9631b5b05cb03ad0d7e /doc/FAQ_hungarian
parentf3fcb16ce64664c7e5d5482bbe1fc7e94c3eff98 (diff)
Hungarian FAQ is text, not HTML, so remove it.
Diffstat (limited to 'doc/FAQ_hungarian')
-rw-r--r--doc/FAQ_hungarian1746
1 files changed, 1094 insertions, 652 deletions
diff --git a/doc/FAQ_hungarian b/doc/FAQ_hungarian
index 7b77f0ba6b8..63603c07be5 100644
--- a/doc/FAQ_hungarian
+++ b/doc/FAQ_hungarian
@@ -1,678 +1,1120 @@
- PostgreSQL GyIK Utols� m�dos�t�s d�tuma: 2002 Okt 20. Ford�t�s
- aktualiz�l�sa: 2003 janu�r A GyIK karbantart�ja: Bruce Momjian
- (pgman@candle.pha.pa.us) Ford�t�: Horny�k L�szl�
- (hornyakl.NOSPAM@inf.elte.hu) A legfrissebb verzi� itt �rhet� el
- (angol): http://www.PostgreSQL.org/docs/faq-english.html. Legfrissebb
- magyar nyelv� verzi�:
- http://www.rootshell.be/~hornyakl/downloads/postgres_faq/ Platform
- specifikus k�rd�sek:
+ PostgreSQL GyIK
+ Utols� m�dos�t�s d�tuma: 2002 Okt 20.
+ Ford�t�s aktualiz�l�sa: 2003 janu�r
+
+ A GyIK karbantart�ja: Bruce Momjian (pgman@candle.pha.pa.us)
+ Ford�t�: Horny�k L�szl� (hornyakl.NOSPAM@inf.elte.hu)
+
+ A legfrissebb verzi� itt �rhet� el (angol):
+ http://www.PostgreSQL.org/docs/faq-english.html.
+
+ Legfrissebb magyar nyelv� verzi�:
+ http://www.rootshell.be/~hornyakl/downloads/postgres_faq/
+
+ Platform specifikus k�rd�sek:
http://www.PostgreSQL.org/users-lounge/docs/faq.html.
- _________________________________________________________________
- �ltal�nos k�rd�sek 1.1) Mi a PostgreSQL? Hogy kell kimondani? 1.2) Mik
- a PostgreSQL felhaszn�l�si felt�telei? 1.3) Milyen UNIX oper�ci�s
- rendszereken fut PostgreSQL? 1.4) Milyen nem UNIX oper�ci�s rendszerek
- el�rhet�ek? 1.5) Hogyan tudok PostgreSQL-t szerezni? 1.6) Hogyan kapok
- term�kt�mogat�st? 1.7) Melyik a legfrissebb kiad�s? 1.8) Milyen
- dokument�ci� �ll rendelkez�sre? 1.9) Hogyan tal�lok inform�ci�t
- hib�kr�l vagy hi�nyz� funkcional�t�sr�l? 1.10) Hogy tanuljam meg az
- SQL nyelvet? 1.11) A PostgreSQL 2000. �v kompatibilis? 1.12) Hogyan
- lehet csatlakozni a fejleszt� csapathoz? 1.13) Hogyan k�ldjek
- hibajelent�st? 1.14) Milyen a PostgreSQL m�s DBMS-ekkel
- �sszehasonl�tva? 1.15) Hogyan tudom �zletileg segiteni a PostgreSQL-t?
- Felhaszn�l�i kliens k�rd�sek 2.1) Van ODBC meghajt� PostgreSQL-hez?
- 2.2) Milyen eszk�z�k �llnak rendelkez�sre PostgreSQL Web
- fejleszt�sekhez? 2.3) Van a PostgreSQL-hez grafikus felhaszn�l�i
- fel�let ? Riport gener�tor? Be�gyazott lek�rdez� nyelv fel�let? 2.4)
- Milyen programoz�si nyelvekkel lehet el�rni a PostgreSQL szervert?
- Adminisztr�ci�s k�rd�sek 3.1) Hogyan tudom a PostgreSQL-t
- /usr/local/pgsql -t�l elt�r� helyre install�lni? 3.2) AMikor elind�tom
- a postmaster-t, egy "Bad System Call"-t vagy core dump-ot kapok.
- Mi�rt? 3.3) Amikor megpr�b�lom inditani a postmaster-t,
- "IpcMemoryCreate" hib�kat kapok. Mi�rt? 3.4) Amikor megpr�b�lom
- inditani a postmaster-t, "IpcSemaphoreCreate" hib�kat kapok. Mi�rt?
- 3.5) Hogyan tudom kontroll�lni a m�s g�pekr�l �rkez� kapcsolat
- k�r�seket? 3.6) Hogyan tudom nagyobb teljes�tm�nyre hangolni az
- adatb�zisomat? 3.7) Milyen hibakeres� lehet�s�gek �rhet�ek el? 3.8)
- Mi�rt kapok "Sorry, too many clients" hib�t csatlakoz�sn�l? 3.9) Mi
- van pgsql_tmp k�nyvt�rban? 3.10) Mi�rt kell dumpolni �s �jrat�lteni
- PostgreSQL kiad�s v�lt�s�n�l? M�k�dtet�si k�rd�sek 4.1) Mi a k�l�nbs�g
- a bin�ris �s a norm�l kurzorok k�z�tt? 4.2) Hogyan tudom select-elni a
- lek�rdez�s els� p�r sor�t? 4.3) Hogy tudom kilist�zni a t�bl�kat vagy
- m�s dolgokat a PostgreSQL-ben? 4.4) Hogyan tudok elt�vol�tani egy
- oszlopot egy t�bl�b�l? 4.5) Mi a maxim�lis m�rete egy sornak, egy
- t�bl�nak vagy egy adatb�zisnak? 4.6) Mekkora adatb�zis lemez ter�let
- sz�ks�ges egy tipikus sz�veg �llom�ny t�rol�s�hoz? 4.7) Hogy tudhatom
- meg milyen t�bl�k, indexek, adatb�zisok vagy felhaszn�l�k vannak
- defini�lva? 4.8) A lek�rdez�seim lass�ak, vagy nem haszn�lj�k az
- indexeket. Mi�rt? 4.9) Hogy tudom ellen�rizni, hogy optimaliz�lta a
- lek�rdez�s optimaliz�l� a lek�rdez�sem? 4.10) Mi az R-tree index?
- 4.11) Mi a Genetic Query Optimizer? 4.12) Hogyan tudok regexp keres�st
- �s case-insensitive regexp keres�st haszn�lni? Hogyan tudok indexet
- haszn�lni case-insensitive keres�shez? 4.13) Hogyan tudom �szlelni egy
- lek�rdez�sban, ha egy mez� NULL? 4.14) Mi a k�l�nbs�g a k�l�nb�z�
- karaktert�pusok k�z�tt? 4.15.1) Hogyan tudok l�trehozni automatikusan
- n�vekv� �rt�k� mez�t? 4.15.2) Hogyan kaphatom meg egy SERIAL besz�r�s
- �rt�k�t? 4.15.3) A currval() �s a nextval() nem teremt holtpont
- vesz�lyes helyzetet a felhaszn�l�k k�z�tt? 4.15.4) Mi�rt nem
- haszn�l�dnak fel �jra a sequence sz�mok tranzakci� abort eset�n? Mi�rt
- vannak probl�m�k a serial oszlopok sz�moz�s�val? 4.16) Mi a OID? Mi a
- TID? 4.17) Mi a PostgreSQL-ben haszn�lt kifejez�sek jelent�se? 4.18)
- Mi�rt kapom ezt a hib�t: "ERROR: Memory exhausted in AllocSetAlloc()"?
- 4.19) Hogyan tudhatom meg PostgreSQL, milyen verzi�t futtatok? 4.20)
- Mi�rt kapok "invalid large obj descriptor" hib�t nagy objektumok
- kezel�s�n�l? 4.21) Hogy hozhatok l�tre olyan oszlopot, aminek
- alap�rtelmezett �r�tke a jelenlegi id�? 4.22) Mi�rt olyan lass�ak az
- al-lek�rdez�seim IN-nel? 4.23) Hogyan tudok outer join-t v�grehajtani?
- 4.24) Hogyan tudok t�bb adatb�zison v�grehajtani lek�rdez�st? 4.25)
- Hogy tudok t�bb soros vagy oszlopos eredm�nyt visszaadni egy
- funkci�b�l? 4.26) Mi�rt nem tudom megbizhat�an l�trehozni �s t�r�lni
- az �tmeneti t�bl�kat a PL/pgSQL funkci�kban? 4.27) Milyen replik�ci�s
- lehet�s�gek vannak? 4.28) Milyen k�dol�si lehet�s�gek vannak? A
- PostgreSQL kiterjeszt�se 5.1) �rtam egy felhaszn�l�i funkci�t. Mi�rt
- core dumpol az adatb�zis amikor haszn�lom? 5.2) Hogyan lehet �j
- adatt�pusokat �s funkci�kat hozz�adni a PostgreSQL disztrib�ci�hoz?
- 5.3) Hogyan lehet olyan C funkci�t �rni, ami Tuple-t ad vissza? (t�bb
- soros t�bb oszlopos eredm�nyek) 5.4) Megv�ltoztattam egy forr�s
- �llom�nyt. Mi�rt nem v�ltozik a bin�ris �jraford�t�s ut�n?
- _________________________________________________________________
- �ltal�nos k�rd�sek 1.1) Mi a PostgreSQL? Hogy kell kimondani? �gy
- ejstd ki: Post-Gres-Q-L. (Vagy tal�n ink�bb t�ltsd le a kis mp3-at a
- PostgreSQL homepage-r�l) A PostgreSQL a POSTGRES adatb�zis management
- rendszer egy kieg�sz�t�se, ami egy k�vetkez� gener�ci�s DBMS kutat�si
- protot�pus. Megtartja a POSTGRES adatmodell�t �s gazdag adatt�pus
- v�laszt�k�t, de a PostQuel lek�rdez� nyelvet az SQL egy kiterjesztett
- verzi�j�val helyettes�ti. A PostgreSQL szabad �s a teljes forr�sk�d
- hozz�f�rhet�. A PostgreSQL fejleszt�s�t egy csapat v�gzi, amelynek
- minden tagja megtal�lhat� a PostgreSQL fejleszt�i levelez�si list�n. A
- jelenlegi koordin�tor Marc G. Fournier (scrappyp@PostgreSQL.org). Ez a
- csapat felel�s minden fejleszt�s�rt. A PostgreSQL 1.01 alkot�i Andrew
- Yu �s Jolly Chen voltak. Sokan j�rultak hozz� portol�ssal,
- tesztel�ssel, hibakeres�ssel �s fejleszt�ssel. Az eredeti Postgres
- k�d, amib�l a PostgreSQL sz�rmazik Michael Stonebraker professzor
- ir�ny�t�sa alatt fejlesztettek az egyetem programoz�i, tanul�i �s
- v�gzett tanul�i. A szoftver ereeti neve Postgres volt. Amikor SQL
- funkcional�t�ssal eg�sz�tett�k ki 1995-ben, a nev�t Postgres95-re
- v�ltoztatt�k. 1996 v�g�n kapta mai nev�t. 1.2) Mik a PostgreSQL
- felhaszn�l�si felt�telei? Az eredeti angol copyright sz�veg:
- -------------------- PostgreSQL is subject to the following COPYRIGHT:
- PostgreSQL Data Base Management System Portions copyright (c)
- 1996-2002, PostgreSQL Global Development Group Portions Copyright (c)
- 1994-6 Regents of the University of California Permission to use,
- copy, modify, and distribute this software and its documentation for
- any purpose, without fee, and without a written agreement is hereby
- granted, provided that the above copyright notice and this paragraph
- and the following two paragraphs appear in all copies. IN NO EVENT
- SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT,
- INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
- LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
- DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA
- SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
- THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE
- MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. The
- above is the BSD license, the classic open-source license. It has no
- restrictions on how the source code may be used. We like it and have
- no intention of changing it. -------------------- Ami nagyon
- leegyszer�s�tve azt jelenti, hogy jogod van haszn�lni a szoftvert
- mindenf�le ellenszolg�ltat�s (p�nz, stb) n�lk�l, a forr�s k�dot
- m�dos�thatod, �s tov�bbadhatod, DE semmilyen, a szoftver haszn�lat�b�l
- k�vetkez� k�rosod�s�rt nem v�llal garanci�t a fejleszt�. A fenti a BSD
- licensz, egy klasszikus nyilt-forr�sk�d licensz. Nem tartalmaz
- megszor�t�sokat arra, hogy a forr�sk�dot hogyan haszn�lod fel.
- Kedvelj�k ezt a licensz form�t �s nem �ll sz�nd�kunkban
- megv�ltoztatni. 1.3) Milyen UNIX oper�ci�s rendszereken fut
- PostgreSQL? �ltal�ban minden UNIX-kompatibilis oper�ci�s rendszer
- k�pes arra hogy futtassa a PostgreSQL-t. Azokat a platformokat, amiken
- tesztelt�k a kiad�st megtal�lhatod a install�ci�s utas�t�sok k�z�tt.
- 1.4) Milyen nem UNIX oper�ci�s rendszerek el�rhet�ek? Kliens A libpq C
- f�ggv�nyk�nyvt�rat, a psql-t �s m�s fel�leteket le lehet �gy
- ford�tani, hogy fussanak MS Windows oper�ci�s rendszereken. Ebben az
- esetben a kliens MS Windows-on fut �s TCP/IP seg�ts�g�vel kommunik�l a
- Unixon fut� szerverrel. A "win32.mak" �llom�ny a kiad�s r�sze, ennek
- seg�ts�g�vel lehet Win32 platformokra leford�tani a libpq-t �s a
- psql-t. A PostgreSQL ODBC kliensekkel is k�pes kommunik�lni. Szerver
- Az adatb�zis szerver Cygwin seg�ts�g�vel fut Windows NT �s Win2k
+ _________________________________________________________________
+
+ �ltal�nos k�rd�sek
+
+ 1.1) Mi a PostgreSQL? Hogy kell kimondani?
+ 1.2) Mik a PostgreSQL felhaszn�l�si felt�telei?
+ 1.3) Milyen UNIX oper�ci�s rendszereken fut PostgreSQL?
+ 1.4) Milyen nem UNIX oper�ci�s rendszerek el�rhet�ek?
+ 1.5) Hogyan tudok PostgreSQL-t szerezni?
+ 1.6) Hogyan kapok term�kt�mogat�st?
+ 1.7) Melyik a legfrissebb kiad�s?
+ 1.8) Milyen dokument�ci� �ll rendelkez�sre?
+ 1.9) Hogyan tal�lok inform�ci�t hib�kr�l vagy hi�nyz� funkcional�t�sr�l?
+ 1.10) Hogy tanuljam meg az SQL nyelvet?
+ 1.11) A PostgreSQL 2000. �v kompatibilis?
+ 1.12) Hogyan lehet csatlakozni a fejleszt� csapathoz?
+ 1.13) Hogyan k�ldjek hibajelent�st?
+ 1.14) Milyen a PostgreSQL m�s DBMS-ekkel �sszehasonl�tva?
+ 1.15) Hogyan tudom �zletileg segiteni a PostgreSQL-t?
+
+ Felhaszn�l�i kliens k�rd�sek
+
+ 2.1) Van ODBC meghajt� PostgreSQL-hez?
+ 2.2) Milyen eszk�z�k �llnak rendelkez�sre PostgreSQL Web fejleszt�sekhez?
+ 2.3) Van a PostgreSQL-hez grafikus felhaszn�l�i fel�let ? Riport
+ gener�tor? Be�gyazott lek�rdez� nyelv fel�let?
+ 2.4) Milyen programoz�si nyelvekkel lehet el�rni a PostgreSQL szervert?
+
+ Adminisztr�ci�s k�rd�sek
+
+ 3.1) Hogyan tudom a PostgreSQL-t /usr/local/pgsql -t�l elt�r� helyre
+ install�lni?
+ 3.2) AMikor elind�tom a postmaster-t, egy "Bad System Call"-t vagy core
+ dump-ot kapok. Mi�rt?
+ 3.3) Amikor megpr�b�lom inditani a postmaster-t, "IpcMemoryCreate" hib�kat
+ kapok. Mi�rt?
+ 3.4) Amikor megpr�b�lom inditani a postmaster-t, "IpcSemaphoreCreate" hib�kat
+ kapok. Mi�rt?
+ 3.5) Hogyan tudom kontroll�lni a m�s g�pekr�l �rkez� kapcsolat k�r�seket?
+ 3.6) Hogyan tudom nagyobb teljes�tm�nyre hangolni az adatb�zisomat?
+ 3.7) Milyen hibakeres� lehet�s�gek �rhet�ek el?
+ 3.8) Mi�rt kapok "Sorry, too many clients" hib�t csatlakoz�sn�l?
+ 3.9) Mi van pgsql_tmp k�nyvt�rban?
+ 3.10) Mi�rt kell dumpolni �s �jrat�lteni PostgreSQL kiad�s v�lt�s�n�l?
+
+ M�k�dtet�si k�rd�sek
+
+ 4.1) Mi a k�l�nbs�g a bin�ris �s a norm�l kurzorok k�z�tt?
+ 4.2) Hogyan tudom select-elni a lek�rdez�s els� p�r sor�t?
+ 4.3) Hogy tudom kilist�zni a t�bl�kat vagy m�s dolgokat a PostgreSQL-ben?
+ 4.4) Hogyan tudok elt�vol�tani egy oszlopot egy t�bl�b�l?
+ 4.5) Mi a maxim�lis m�rete egy sornak, egy t�bl�nak vagy egy adatb�zisnak?
+ 4.6) Mekkora adatb�zis lemez ter�let sz�ks�ges egy tipikus sz�veg �llom�ny
+ t�rol�s�hoz?
+ 4.7) Hogy tudhatom meg milyen t�bl�k, indexek, adatb�zisok vagy felhaszn�l�k
+ vannak defini�lva?
+ 4.8) A lek�rdez�seim lass�ak, vagy nem haszn�lj�k az indexeket. Mi�rt?
+ 4.9) Hogy tudom ellen�rizni, hogy optimaliz�lta a lek�rdez�s optimaliz�l� a
+ lek�rdez�sem?
+ 4.10) Mi az R-tree index?
+ 4.11) Mi a Genetic Query Optimizer?
+ 4.12) Hogyan tudok regexp keres�st �s case-insensitive regexp keres�st
+ haszn�lni? Hogyan tudok indexet haszn�lni case-insensitive keres�shez?
+ 4.13) Hogyan tudom �szlelni egy lek�rdez�sban, ha egy mez� NULL?
+ 4.14) Mi a k�l�nbs�g a k�l�nb�z� karaktert�pusok k�z�tt?
+ 4.15.1) Hogyan tudok l�trehozni automatikusan n�vekv� �rt�k� mez�t?
+ 4.15.2) Hogyan kaphatom meg egy SERIAL besz�r�s �rt�k�t?
+ 4.15.3) A currval() �s a nextval() nem teremt holtpont vesz�lyes helyzetet
+ a felhaszn�l�k k�z�tt?
+ 4.15.4) Mi�rt nem haszn�l�dnak fel �jra a sequence sz�mok tranzakci� abort
+ eset�n?
+ Mi�rt vannak probl�m�k a serial oszlopok sz�moz�s�val?
+ 4.16) Mi a OID? Mi a TID?
+ 4.17) Mi a PostgreSQL-ben haszn�lt kifejez�sek jelent�se?
+ 4.18) Mi�rt kapom ezt a hib�t: "ERROR: Memory exhausted in
+ AllocSetAlloc()"?
+ 4.19) Hogyan tudhatom meg PostgreSQL, milyen verzi�t futtatok?
+ 4.20) Mi�rt kapok "invalid large obj descriptor" hib�t nagy objektumok
+ kezel�s�n�l?
+ 4.21) Hogy hozhatok l�tre olyan oszlopot, aminek alap�rtelmezett �r�tke a
+ jelenlegi id�?
+ 4.22) Mi�rt olyan lass�ak az al-lek�rdez�seim IN-nel?
+ 4.23) Hogyan tudok outer join-t v�grehajtani?
+ 4.24) Hogyan tudok t�bb adatb�zison v�grehajtani lek�rdez�st?
+ 4.25) Hogy tudok t�bb soros vagy oszlopos eredm�nyt visszaadni egy
+ funkci�b�l?
+ 4.26) Mi�rt nem tudom megbizhat�an l�trehozni �s t�r�lni az �tmeneti
+ t�bl�kat a PL/pgSQL funkci�kban?
+ 4.27) Milyen replik�ci�s lehet�s�gek vannak?
+ 4.28) Milyen k�dol�si lehet�s�gek vannak?
+
+ A PostgreSQL kiterjeszt�se
+
+ 5.1) �rtam egy felhaszn�l�i funkci�t. Mi�rt core dumpol az adatb�zis amikor
+ haszn�lom?
+ 5.2) Hogyan lehet �j adatt�pusokat �s funkci�kat hozz�adni a PostgreSQL
+ disztrib�ci�hoz?
+ 5.3) Hogyan lehet olyan C funkci�t �rni, ami Tuple-t ad vissza?
+ (t�bb soros t�bb oszlopos eredm�nyek)
+ 5.4) Megv�ltoztattam egy forr�s �llom�nyt. Mi�rt nem v�ltozik a bin�ris
+ �jraford�t�s ut�n?
+ _________________________________________________________________
+
+
+ �ltal�nos k�rd�sek
+
+
+ 1.1) Mi a PostgreSQL? Hogy kell kimondani?
+ �gy ejstd ki: Post-Gres-Q-L.
+ (Vagy tal�n ink�bb t�ltsd le a kis mp3-at a PostgreSQL homepage-r�l)
+
+ A PostgreSQL a POSTGRES adatb�zis management rendszer egy kieg�sz�t�se,
+ ami egy k�vetkez� gener�ci�s DBMS kutat�si protot�pus. Megtartja a
+ POSTGRES adatmodell�t �s gazdag adatt�pus v�laszt�k�t, de a PostQuel
+ lek�rdez� nyelvet az SQL egy kiterjesztett verzi�j�val helyettes�ti.
+ A PostgreSQL szabad �s a teljes forr�sk�d hozz�f�rhet�.
+
+ A PostgreSQL fejleszt�s�t egy csapat v�gzi, amelynek minden tagja
+ megtal�lhat� a PostgreSQL fejleszt�i levelez�si list�n. A jelenlegi
+ koordin�tor Marc G. Fournier (scrappyp@PostgreSQL.org). Ez a csapat
+ felel�s minden fejleszt�s�rt.
+
+ A PostgreSQL 1.01 alkot�i Andrew Yu �s Jolly Chen voltak. Sokan
+ j�rultak hozz� portol�ssal, tesztel�ssel, hibakeres�ssel �s
+ fejleszt�ssel. Az eredeti Postgres k�d, amib�l a PostgreSQL sz�rmazik
+ Michael Stonebraker professzor ir�ny�t�sa alatt fejlesztettek az
+ egyetem programoz�i, tanul�i �s v�gzett tanul�i.
+
+ A szoftver ereeti neve Postgres volt. Amikor SQL funkcional�t�ssal
+ eg�sz�tett�k ki 1995-ben, a nev�t Postgres95-re v�ltoztatt�k. 1996
+ v�g�n kapta mai nev�t.
+
+ 1.2) Mik a PostgreSQL felhaszn�l�si felt�telei?
+
+ Az eredeti angol copyright sz�veg:
+ --------------------
+ PostgreSQL is subject to the following COPYRIGHT:
+
+ PostgreSQL Data Base Management System
+
+ Portions copyright (c) 1996-2002, PostgreSQL Global Development Group
+ Portions Copyright (c) 1994-6 Regents of the University of California
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose, without fee, and without a written
+ agreement is hereby granted, provided that the above copyright notice
+ and this paragraph and the following two paragraphs appear in all
+ copies.
+
+ IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
+ FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+ INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND
+ ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+ PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+ CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+ UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+ The above is the BSD license, the classic open-source license. It has
+ no restrictions on how the source code may be used. We like it and
+ have no intention of changing it.
+ --------------------
+
+ Ami nagyon leegyszer�s�tve azt jelenti, hogy jogod van haszn�lni a
+ szoftvert mindenf�le ellenszolg�ltat�s (p�nz, stb) n�lk�l, a forr�s
+ k�dot m�dos�thatod, �s tov�bbadhatod, DE semmilyen, a szoftver haszn�lat�b�l
+ k�vetkez� k�rosod�s�rt nem v�llal garanci�t a fejleszt�.
+
+ A fenti a BSD licensz, egy klasszikus nyilt-forr�sk�d licensz. Nem
+ tartalmaz megszor�t�sokat arra, hogy a forr�sk�dot hogyan haszn�lod fel.
+ Kedvelj�k ezt a licensz form�t �s nem �ll sz�nd�kunkban megv�ltoztatni.
+
+ 1.3) Milyen UNIX oper�ci�s rendszereken fut PostgreSQL?
+
+ �ltal�ban minden UNIX-kompatibilis oper�ci�s rendszer k�pes arra hogy
+ futtassa a PostgreSQL-t. Azokat a platformokat, amiken tesztelt�k a
+ kiad�st megtal�lhatod a install�ci�s utas�t�sok k�z�tt.
+
+ 1.4) Milyen nem UNIX oper�ci�s rendszerek el�rhet�ek?
+
+ Kliens
+
+ A libpq C f�ggv�nyk�nyvt�rat, a psql-t �s m�s fel�leteket le lehet �gy
+ ford�tani, hogy fussanak MS Windows oper�ci�s rendszereken. Ebben az esetben
+ a kliens MS Windows-on fut �s TCP/IP seg�ts�g�vel kommunik�l a Unixon
+ fut� szerverrel. A "win32.mak" �llom�ny a kiad�s r�sze, ennek seg�ts�g�vel
+ lehet Win32 platformokra leford�tani a libpq-t �s a psql-t. A PostgreSQL
+ ODBC kliensekkel is k�pes kommunik�lni.
+
+ Szerver
+
+ Az adatb�zis szerver Cygwin seg�ts�g�vel fut Windows NT �s Win2k
rendszereken. Tov�bbi inform�ci� tal�lhat� a pgsql/doc/FAQ_MSWIN
�llom�nyban �s a MS Windows FAQ-ban a k�vetkez� helyen:
- http://www.PostgreSQL.org/docs/faq-mswin.html. Nat�v MS Windows
- NT/2000/XP portok jelenleg fejleszt�s alatt �llnak. 1.5) Hogyan tudok
- PostgreSQL-t szerezni? Az els�dleges anonim ftp oldal:
- ftp://ftp.PostgreSQL.org/pub. A t�k�r oldalak list�ja megtal�lhat� a
- f� weboldalunkon. 1.6) Hogyan kapok term�kt�mogat�st? Az els�dleges
- lista a pgsql-general@postgresql.org. Ez haszn�lhat� a PostgreSQL-lel
- kapcsolatos p�rbesz�dekre. Ha fel szeretn�l �ratkozni, k�ldj egy
- levelet a k�vetkez� tartalommal (nem t�rggyal) a
- pgsql-general-request@postgresql.org c�mre: subscribe end Van egy
- hib�kkal kapcsolatos levelez�si lista is:
- pgsql-bugs-request@PostgreSQL.org a k�vetkez� tartalommal: subscribe
- end A fejleszt?i levelez�si lista:
+ http://www.PostgreSQL.org/docs/faq-mswin.html.
+
+ Nat�v MS Windows NT/2000/XP portok jelenleg fejleszt�s alatt �llnak.
+
+ 1.5) Hogyan tudok PostgreSQL-t szerezni?
+
+ Az els�dleges anonim ftp oldal:
+ ftp://ftp.PostgreSQL.org/pub.
+ A t�k�r oldalak list�ja megtal�lhat� a f� weboldalunkon.
+
+ 1.6) Hogyan kapok term�kt�mogat�st?
+
+ Az els�dleges lista a pgsql-general@postgresql.org. Ez haszn�lhat�
+ a PostgreSQL-lel kapcsolatos p�rbesz�dekre. Ha fel szeretn�l �ratkozni,
+ k�ldj egy levelet a k�vetkez� tartalommal (nem t�rggyal) a
+ pgsql-general-request@postgresql.org c�mre:
+ subscribe
+ end
+
+ Van egy hib�kkal kapcsolatos levelez�si lista is:
+ pgsql-bugs-request@PostgreSQL.org a k�vetkez� tartalommal:
+ subscribe
+ end
+
+ A fejleszt?i levelez�si lista:
pgsql-hackers-request@PostgreSQL.org a k�vetkez� tertalommal:
- subscribe end Egy�b levelez�si list�k tal�lhat�ak a weboldalunkon:
- http://www.PostgreSQL.org Van egy IRC csatorna is #PostgreSQL n�ven
- ahol felteheted k�r�dseid. A k�vetkez� unix paranccsal csatlakozhatsz:
- irc -c '#PostgreSQL' "$USER" irc.phoenix.net. A kereskedelmi
- term�kt�mogat�st ny�jt� c�gek list�ja el�rhet� itt:
- http://www.PostgreSQL.org/users-lounge/commercial-support.html 1.7)
- Melyik a legfrissebb kiad�s? A legfrissebb PostgreSQL kiad�s a 7.3. A
- tervek szerint minden negyedik h�napban van �j kiad�s. 1.8) Milyen
- dokument�ci� �ll rendelkez�sre? Sz�mos k�zik�nyv, man oldalak �s kis
- teszt p�ld�k tal�lhat�ak a kiad�sban a doc/ k�nyvt�r alatt. Az
- interneten is olvashatod a dokument�ci�t a k�vetkez� c�men:
- http://www.PostgreSQL.org/users-lounge/docs/. K�t PostgreSQL k�nyv
- �rhet� el az interneten a http://www.PostgreSQL.org/docs/awbook.html
- �s a http://www.commandprompt.com/ppbook/ c�meken. A megv�s�rolhat�
- k�nyvek list�ja itt tal�lhat�: http://www.ca.PostgreSQL.org/books/. A
- PostgreSQL-lel kapcsolatos technikai jelleg� cikkek gy�jtem�nye:
- http://techdocs.PostgreSQL.org/. A psql parancs rendelkezik n�h�ny \d
- utas�t�ssal, amellyekkel list�zhat�ak az oper�torok, a funkci�k, stb.
- A website is tartalmaz tov�bbi dokument�ci�kat. 1.9) Hogyan tal�lok
- inform�ci�t hib�kr�l vagy hi�nyz� funkcional�t�sr�l? A PostgreSQLaz
- SQL-92 szabv�ny egy kieg�sz�t�se. N�zd meg a TODO list�kat ha
- �rdekelnek az ismert hib�k. 1.10) Hogy tanuljam meg az SQL nyelvet? A
- PostgreSQL k�nyv a http://www.PostgreSQL.org/docs/awbook.html c�men
- tartalmaz SQL alapokat. El�rhet� egy m�sik SQL k�nyv is a
- http://www.commandprompt.com/ppbook c�men. Egy sz�p oktat� anyag
- tal�lhat� a http://www.intermedia.net/support/sql/sqltut.shtm, a
- http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
- �s a http://sqlcourse.com oldalakon. Egy m�sik lehet�s�g a "Tan�tsd
- magad 21 nap alatt SQL-re, m�sodik kiad�s" a
- http://members.tripod.com/er4ebus/sql/index.htm. Sok felhaszn�l�nak
- tetszett a gyakorlati SQL k�nyv ("The Practical SQL Handbook"). 1.11)
- A PostgreSQL 2000. �v kompatibilis? Igen, k�nnyed�n kezeli a 2000
- ut�ni �s id�sz�m�t�sunk el�tt 2000 el�tti d�tumokat is. 1.12) Hogyan
- lehet csatlakozni a fejleszt� csapathoz? El�ssz�r is t�ltsd le a
- forr�sk�dot, �s olvasd el a PostgreSQL fejleszt�i dokumnet�ci�t a web
- oldalunkon vagy a kiad�sban. Ezut�n �ratkozz fel a pgsql-hackers �s a
- pgsql-patches levelez�si list�kra. V�g�l pedig k�ldj be magas
- szinvonal� patch-eket a pgsql-patches list�ra. Van egy p�r ember,
- akiknek commit privil�giumuk a PostgreSQL CVS f�n. �k olyan sok magas
- szinvonal� patch-et k�ldtek be, hogy az addigi csapat m�r nem tudta
- k�vetni, �s nem volt k�ts�g�nk arr�l, hogy a patch-ek amiket �k
- k�ldenek j� min�s�g�. 1.13) Hogyan k�ldjek hibajelent�st? L�togass el
- a BugTool oldalra: http://www.PostgreSQL.org/bugs/bugs.php Itt
- megtal�lod k�vetend� utas�t�sokat. Ellen�rizd az ftp oldalunkon is,
- hogy nincs-e �jabb verzi� vagy folt. ftp://ftp.PostgreSQL.org/pub
- 1.14) Milyen a PostgreSQL m�s DBMS-ekkel �sszehasonl�tva? Sz�mos
- n�z�pontb�l lehet vizsg�lni a szoftvert: k�pess�gek, teljes�tm�ny
- megb�zhat�s�g, t�mogatotts�g �s �r. K�pess�gek A PostgreSQL
- rendelkezik a nagy, kereskedelmi DBMS-ek k�pess�geivel: tranzakci�k,
- al-lek�rdez�sek, triggerek, n�zetek, k�ls� kulcsok, integr�t�s �s
- kifinoult z�rmechanizmusok. Van n�h�ny k�pess�ge, ami a kereskedelmi
- adatb�zisokb�l hi�nyzik, mint p�ld�ul a felhaszn�l� �ltal defini�lt
- t�pusok, �r�kl�d�s, szab�lyok �s verzi� kontroll a z�rol�si vit�k
- reduk�l�s��rt. Teljes�tm�ny A PostgreSQL teljes�tm�nye hasonl�t a
- kereskedelmi �s m�s ny�lt adatb�zis szerverek�hez. Lehet bizonyos
- esetekben lassabb, m�sokban gyorsabb. A MySQL nev� tanul� RDBMS
- p�ld�ul gyorsabban hajt v�gre insert/update m�veleteket, mivel a
- tranzakci�kat elsum�kolja. Persze a MySQL nem rendelkezik a k�pess�gek
- r�szben felsoroltak nagy r�sz�vel. Mi a megb�zhat�s�gra �s a
- k�pess�gekre �p�t�nk, b�r a teljes�tm�ny is n� minden kiad�ssal. Van
- egy �rdekes oldal a MySQL �s a PostgreSQL �sszehasonl�t�s�val a
- http://openacs.org/philosophy/why-not-mysql.html c�men. Megb�zhat�s�g
- Tudjuk hogy ha egy DBMS nem megb�zhat�, akkor teljesen haszontalan.
- Igyeksz�nk j�l tesztelt, stabil k�dot kiadni, amiben a lehet�
- legkevesebb hiba van. Minden kiad�s el�tt eltellik legal�bb 1 h�nap
- b�ta teszt, �s a kiad�si t�rt�net is azt mutatja, hogy stabil k�dot
- adunk ki, ami k�szen �ll a produkt�v felhaszn�l�sra. �gy gondoljuk,
- fel�lm�lunk m�s adatb�zis szoftvereket ezen a t�ren. T�mogat�s A
- levelez�si list�ink kapcsolatot teremtenek a fejleszt�k �s
- felhaszn�l�k csoportj�val , akik seg�tenek a probl�m�k megold�s�ban.
- B�r nem tudjuk garant�lni hogy ki tudjuk jav�tani a hib�t, m�s,
- kereskedelmi adatb�zis c�gek sem tudj�k. A fejleszt� csoport k�zvetlen
- el�r�si lehet�s�ge, a k�z�ss�g, a dokument�ci� �s a forr�sk�d gyakran
- t�mogat�st biztos�t, mint m�s adatb�zisokn�l. Van kereskedelmi,
- alkalmi t�mogat�s azoknak, akiknek sz�ks�ge van r� (l�sd: 1.6). �r A
- PostgreSQL szabad b�rmilyen felhaszn�l�sra, ak�r kereskedelmire is. A
- term�khez hozz�adhatod a saj�t forr�sk�djaidat korl�toz�s n�lk�l,
- 1.15) Hogyan tudom �zletileg segiteni a PostgreSQL-t? A PostgreSQL
- els� oszt�ly� infrastrukt�r�val rendelkezik, amit 1996-ban ind�tottunk
- el. Mindent Marc Fourniernek k�sz�nhet�nk, aki l�trehozta �s
- karbantartja a rendszert. A min�s�gi infrastrukt�ra nagyon fontos egy
- nyilt forr�s� szoftver eset�ben. Megv�d az olyan fennakad�sokt�l,
- amelyek komoly k�s�seket okoznak a fejleszt�sekben. Term�szetesen ez
- az infrastrukt�ra nem olcs�. Sz�mos havi �s �lland� kiad�sunk van. Ha
- a c�gednek van p�nze, amivel t�mogatn� er�fesz�t�seinket, k�rlek
- l�togass el a http://store.pgsql.com/shopping/ oldalra. B�r a weboldal
- "PostgreSQL, Inc"-k�nt eml�ti, a hozz�j�rul�sok kiz�r�lag a PostgreSQL
- fejleszt�sre �rtend�ek, �s nem egy meghat�rozott c�gnek. Ha jobban
- tetszik, k�ldhetsz csekket is a kapcsolati c�mek b�rmelyik�re.
- _________________________________________________________________
- Felhaszn�l�i kliens k�rd�sek 2.1) Van ODBC meghajt� PostgreSQL-hez?
- K�t ODBC meghajt� �rhet� el: PsqlODBC �s a OpenLink ODBC. A PsqlODBC a
- PostgreSQL kiad�s r�sze. Tov�bbi inform�ci� tal�lhat� a
- ftp://ftp.PostgreSQL.org/pub/odbc/ oldalon. Az OpenLink ODBC-t a
- http://www.openlinksw.com c�mr�l t�ltheted le. Ez az � szabv�nyos ODBC
- kliens szoftver�kkel m�k�dik, �gy minden �ltaluk t�mogatott platformon
- (Win, Mac, Unix, VMS) el�rhet� lesz a PostgreSQL szerver. Tal�n olyan
- vev�knek fogj�k eladni, akik kereskedelmi min�s�g� term�ket
- szeretn�nek kapni, de a freeware verzi� mindig el�rhet� lesz.
- K�rd�seidet a term�kkel kapcsolatban a postgres95@openlink.co.uk c�men
- teheted fel. Olvasd el az ODBC fejezetet is a programoz�k
- k�zik�nyv�ben! 2.2) Milyen eszk�z�k �llnak rendelkez�sre PostgreSQL
- Web fejleszt�sekhez? Egy sz�p bemutat� olvashat� az adatb�zissal
- t�mogatott web oldalanr�l a http://www.webreview.com weboldalon. A web
- integr�ci�hoz a PHP egy kiv�ll� szoftver. Let�lthet� a
- http://www.php.net c�mr�l. Komplexebb esetekre sokan haszn�lj�k a Perl
- fel�letet �s a CGI.pm vagy a mod_perl-t. 2.3) Van a PostgreSQL-hez
- grafikus felhaszn�l�i fel�let? Riport gener�tor? Be�gyazott lek�rdez�
- nyelv fel�let? Van egy sz�p PgAccess nev� grafikus fel�let�nk, ami
- riport gener�tork�nt is haszn�lhat�. A weboldal�t megtal�lod a
- http://www.pgaccess.org/ c�men. A disztrib�ci� tartalmazza az ecpg
- programot is, ami egy be�gyazott SQL lek�rdez�si fel�let C nyelvhez.
- 2.4) Milyen programoz�si nyelvekkel lehet el�rni a PostgreSQL
- szervert? A k�vetkez�k: * C (libpq) * C++ (libpq++) * Embedded C
- (ecpg) * Java (jdbc) * Perl (DBD::Pg and perl5) * ODBC (odbc) * Python
- (PyGreSQL) * TCL (libpgtcl) * C Easy API (libpgeasy) * PHP ('pg_'
- functions, Pear::DB) Tov�bbi programoz�si fel�letek �rhet�ek el a
+ subscribe
+ end
+
+ Egy�b levelez�si list�k tal�lhat�ak a weboldalunkon:
+
+ http://www.PostgreSQL.org
+
+ Van egy IRC csatorna is #PostgreSQL n�ven ahol felteheted k�r�dseid.
+ A k�vetkez� unix paranccsal csatlakozhatsz:
+ irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
+
+ A kereskedelmi term�kt�mogat�st ny�jt� c�gek list�ja el�rhet� itt:
+ http://www.PostgreSQL.org/users-lounge/commercial-support.html
+
+ 1.7) Melyik a legfrissebb kiad�s?
+
+ A legfrissebb PostgreSQL kiad�s a 7.3.
+
+ A tervek szerint minden negyedik h�napban van �j kiad�s.
+
+ 1.8) Milyen dokument�ci� �ll rendelkez�sre?
+
+ Sz�mos k�zik�nyv, man oldalak �s kis teszt p�ld�k tal�lhat�ak a kiad�sban
+ a doc/ k�nyvt�r alatt. Az interneten is olvashatod a dokument�ci�t a
+ k�vetkez� c�men:
+ http://www.PostgreSQL.org/users-lounge/docs/.
+
+ K�t PostgreSQL k�nyv �rhet� el az interneten a
+ http://www.PostgreSQL.org/docs/awbook.html �s a
+ http://www.commandprompt.com/ppbook/ c�meken.
+ A megv�s�rolhat� k�nyvek list�ja itt tal�lhat�:
+ http://www.ca.PostgreSQL.org/books/.
+ A PostgreSQL-lel kapcsolatos technikai jelleg� cikkek gy�jtem�nye:
+ http://techdocs.PostgreSQL.org/.
+
+ A psql parancs rendelkezik n�h�ny \d utas�t�ssal, amellyekkel list�zhat�ak
+ az oper�torok, a funkci�k, stb.
+
+ A website is tartalmaz tov�bbi dokument�ci�kat.
+
+ 1.9) Hogyan tal�lok inform�ci�t hib�kr�l vagy hi�nyz� funkcional�t�sr�l?
+
+ A PostgreSQLaz SQL-92 szabv�ny egy kieg�sz�t�se. N�zd meg a TODO list�kat
+ ha �rdekelnek az ismert hib�k.
+
+ 1.10) Hogy tanuljam meg az SQL nyelvet?
+
+ A PostgreSQL k�nyv a http://www.PostgreSQL.org/docs/awbook.html
+ c�men tartalmaz SQL alapokat. El�rhet� egy m�sik SQL k�nyv is a
+ http://www.commandprompt.com/ppbook c�men. Egy sz�p oktat� anyag
+ tal�lhat� a http://www.intermedia.net/support/sql/sqltut.shtm,
+ a http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
+ �s a http://sqlcourse.com oldalakon.
+
+ Egy m�sik lehet�s�g a "Tan�tsd magad 21 nap alatt SQL-re, m�sodik
+ kiad�s" a http://members.tripod.com/er4ebus/sql/index.htm.
+
+ Sok felhaszn�l�nak tetszett a gyakorlati SQL k�nyv ("The Practical
+ SQL Handbook").
+
+ 1.11) A PostgreSQL 2000. �v kompatibilis?
+
+ Igen, k�nnyed�n kezeli a 2000 ut�ni �s id�sz�m�t�sunk el�tt 2000 el�tti
+ d�tumokat is.
+
+ 1.12) Hogyan lehet csatlakozni a fejleszt� csapathoz?
+
+ El�ssz�r is t�ltsd le a forr�sk�dot, �s olvasd el a PostgreSQL
+ fejleszt�i dokumnet�ci�t a web oldalunkon vagy a kiad�sban. Ezut�n
+ �ratkozz fel a pgsql-hackers �s a pgsql-patches levelez�si list�kra.
+ V�g�l pedig k�ldj be magas szinvonal� patch-eket a pgsql-patches list�ra.
+
+ Van egy p�r ember, akiknek commit privil�giumuk a PostgreSQL CVS f�n.
+ �k olyan sok magas szinvonal� patch-et k�ldtek be, hogy az addigi
+ csapat m�r nem tudta k�vetni, �s nem volt k�ts�g�nk arr�l, hogy a
+ patch-ek amiket �k k�ldenek j� min�s�g�.
+
+ 1.13) Hogyan k�ldjek hibajelent�st?
+
+ L�togass el a BugTool oldalra:
+ http://www.PostgreSQL.org/bugs/bugs.php
+ Itt megtal�lod k�vetend� utas�t�sokat.
+
+ Ellen�rizd az ftp oldalunkon is, hogy nincs-e �jabb verzi� vagy folt.
+ ftp://ftp.PostgreSQL.org/pub
+
+ 1.14) Milyen a PostgreSQL m�s DBMS-ekkel �sszehasonl�tva?
+
+ Sz�mos n�z�pontb�l lehet vizsg�lni a szoftvert: k�pess�gek, teljes�tm�ny
+ megb�zhat�s�g, t�mogatotts�g �s �r.
+
+ K�pess�gek
+ A PostgreSQL rendelkezik a nagy, kereskedelmi DBMS-ek k�pess�geivel:
+ tranzakci�k, al-lek�rdez�sek, triggerek, n�zetek, k�ls� kulcsok,
+ integr�t�s �s kifinoult z�rmechanizmusok. Van n�h�ny k�pess�ge,
+ ami a kereskedelmi adatb�zisokb�l hi�nyzik, mint p�ld�ul a
+ felhaszn�l� �ltal defini�lt t�pusok, �r�kl�d�s, szab�lyok �s
+ verzi� kontroll a z�rol�si vit�k reduk�l�s��rt.
+
+ Teljes�tm�ny
+ A PostgreSQL teljes�tm�nye hasonl�t a kereskedelmi �s m�s ny�lt
+ adatb�zis szerverek�hez. Lehet bizonyos esetekben lassabb, m�sokban
+ gyorsabb. A MySQL nev� tanul� RDBMS p�ld�ul gyorsabban hajt v�gre
+ insert/update m�veleteket, mivel a tranzakci�kat elsum�kolja.
+ Persze a MySQL nem rendelkezik a k�pess�gek r�szben felsoroltak
+ nagy r�sz�vel. Mi a megb�zhat�s�gra �s a k�pess�gekre �p�t�nk, b�r
+ a teljes�tm�ny is n� minden kiad�ssal. Van egy �rdekes oldal a
+ MySQL �s a PostgreSQL �sszehasonl�t�s�val a
+ http://openacs.org/philosophy/why-not-mysql.html c�men.
+
+ Megb�zhat�s�g
+ Tudjuk hogy ha egy DBMS nem megb�zhat�, akkor teljesen haszontalan.
+ Igyeksz�nk j�l tesztelt, stabil k�dot kiadni, amiben a lehet�
+ legkevesebb hiba van. Minden kiad�s el�tt eltellik legal�bb 1
+ h�nap b�ta teszt, �s a kiad�si t�rt�net is azt mutatja, hogy
+ stabil k�dot adunk ki, ami k�szen �ll a produkt�v felhaszn�l�sra.
+ �gy gondoljuk, fel�lm�lunk m�s adatb�zis szoftvereket ezen a t�ren.
+
+ T�mogat�s
+ A levelez�si list�ink kapcsolatot teremtenek a fejleszt�k
+ �s felhaszn�l�k csoportj�val , akik seg�tenek a probl�m�k
+ megold�s�ban. B�r nem tudjuk garant�lni hogy ki tudjuk
+ jav�tani a hib�t, m�s, kereskedelmi adatb�zis c�gek sem tudj�k.
+ A fejleszt� csoport k�zvetlen el�r�si lehet�s�ge, a k�z�ss�g,
+ a dokument�ci� �s a forr�sk�d gyakran t�mogat�st biztos�t,
+ mint m�s adatb�zisokn�l. Van kereskedelmi, alkalmi t�mogat�s
+ azoknak, akiknek sz�ks�ge van r� (l�sd: 1.6).
+
+ �r
+ A PostgreSQL szabad b�rmilyen felhaszn�l�sra, ak�r kereskedelmire
+ is. A term�khez hozz�adhatod a saj�t forr�sk�djaidat korl�toz�s
+ n�lk�l,
+
+ 1.15) Hogyan tudom �zletileg segiteni a PostgreSQL-t?
+
+ A PostgreSQL els� oszt�ly� infrastrukt�r�val rendelkezik, amit 1996-ban
+ ind�tottunk el. Mindent Marc Fourniernek k�sz�nhet�nk, aki l�trehozta
+ �s karbantartja a rendszert.
+
+ A min�s�gi infrastrukt�ra nagyon fontos egy nyilt forr�s� szoftver
+ eset�ben. Megv�d az olyan fennakad�sokt�l, amelyek komoly k�s�seket
+ okoznak a fejleszt�sekben.
+
+ Term�szetesen ez az infrastrukt�ra nem olcs�. Sz�mos havi �s �lland�
+ kiad�sunk van. Ha a c�gednek van p�nze, amivel t�mogatn� er�fesz�t�seinket,
+ k�rlek l�togass el a http://store.pgsql.com/shopping/ oldalra.
+
+ B�r a weboldal "PostgreSQL, Inc"-k�nt eml�ti, a hozz�j�rul�sok kiz�r�lag
+ a PostgreSQL fejleszt�sre �rtend�ek, �s nem egy meghat�rozott c�gnek. Ha
+ jobban tetszik, k�ldhetsz csekket is a kapcsolati c�mek b�rmelyik�re.
+
+ _________________________________________________________________
+
+ Felhaszn�l�i kliens k�rd�sek
+
+ 2.1) Van ODBC meghajt� PostgreSQL-hez?
+
+ K�t ODBC meghajt� �rhet� el: PsqlODBC �s a OpenLink ODBC.
+
+ A PsqlODBC a PostgreSQL kiad�s r�sze. Tov�bbi inform�ci� tal�lhat� a
+ ftp://ftp.PostgreSQL.org/pub/odbc/ oldalon.
+
+ Az OpenLink ODBC-t a http://www.openlinksw.com c�mr�l t�ltheted le.
+ Ez az � szabv�nyos ODBC kliens szoftver�kkel m�k�dik, �gy minden
+ �ltaluk t�mogatott platformon (Win, Mac, Unix, VMS) el�rhet� lesz
+ a PostgreSQL szerver.
+
+ Tal�n olyan vev�knek fogj�k eladni, akik kereskedelmi min�s�g� term�ket
+ szeretn�nek kapni, de a freeware verzi� mindig el�rhet� lesz. K�rd�seidet
+ a term�kkel kapcsolatban a postgres95@openlink.co.uk c�men teheted fel.
+
+ Olvasd el az ODBC fejezetet is a programoz�k k�zik�nyv�ben!
+
+ 2.2) Milyen eszk�z�k �llnak rendelkez�sre PostgreSQL Web fejleszt�sekhez?
+
+ Egy sz�p bemutat� olvashat� az adatb�zissal t�mogatott web oldalanr�l
+ a http://www.webreview.com weboldalon.
+
+ A web integr�ci�hoz a PHP egy kiv�ll� szoftver. Let�lthet� a
+ http://www.php.net c�mr�l.
+
+ Komplexebb esetekre sokan haszn�lj�k a Perl fel�letet �s a CGI.pm vagy a
+ mod_perl-t.
+
+ 2.3) Van a PostgreSQL-hez grafikus felhaszn�l�i fel�let? Riport
+ gener�tor? Be�gyazott lek�rdez� nyelv fel�let?
+
+ Van egy sz�p PgAccess nev� grafikus fel�let�nk, ami riport gener�tork�nt
+ is haszn�lhat�. A weboldal�t megtal�lod a http://www.pgaccess.org/ c�men.
+
+ A disztrib�ci� tartalmazza az ecpg programot is, ami egy be�gyazott SQL
+ lek�rdez�si fel�let C nyelvhez.
+
+ 2.4) Milyen programoz�si nyelvekkel lehet el�rni a PostgreSQL szervert?
+
+ A k�vetkez�k:
+ * C (libpq)
+ * C++ (libpq++)
+ * Embedded C (ecpg)
+ * Java (jdbc)
+ * Perl (DBD::Pg and perl5)
+ * ODBC (odbc)
+ * Python (PyGreSQL)
+ * TCL (libpgtcl)
+ * C Easy API (libpgeasy)
+ * PHP ('pg_' functions, Pear::DB)
+
+ Tov�bbi programoz�si fel�letek �rhet�ek el a
http://www.PostgreSQL.org/interfaces.html �s a
http://gborg.PostgreSQL.org oldalakon.
- _________________________________________________________________
- Adminisztr�ci�s k�rd�sek 3.1) Hogyan tudom a PostgreSQL-t
- /usr/local/pgsql -t�l elt�r� helyre install�lni? A configure script
- --prefix param�ter�nek haszn�lat�val. 3.2) AMikor elind�tom a
- postmaster-t, egy "Bad System Call"-t vagy core dump-ot kapok. Mi�rt?
+
+ _________________________________________________________________
+
+ Adminisztr�ci�s k�rd�sek
+
+ 3.1) Hogyan tudom a PostgreSQL-t /usr/local/pgsql -t�l elt�r� helyre
+ install�lni?
+
+ A configure script --prefix param�ter�nek haszn�lat�val.
+
+ 3.2) AMikor elind�tom a postmaster-t, egy "Bad System Call"-t vagy core
+ dump-ot kapok.
+ Mi�rt?
+
Sz�mos probl�ma lehet, de legel�ssz�r ellen�rizd le, hogy a kerneled
System V kieg�sz�t�sekkel rendelkezik-e. A PostgreSQL haszn�lja a
- kernel osztott mem�ria �s szemafor API-j�t. 3.3) Amikor megpr�b�lom
- inditani a postmaster-t, "IpcMemoryCreate" hib�kat kapok. Mi�rt? Vagy
- nincs megfelel�en konfigur�lva a kerneled osztott mem�ria t�mogat�sa
- vagy meg kell nagyobb�tanod a maxim�lis osztott mem�ria m�retet. A
- pontos m�ret sz�ks�glet f�gg az architekt�r�dt�l �s att�l hogy h�ny
- buffert �s processzt konfigur�lsz a postmasternek. Legal�bb 1 MB
+ kernel osztott mem�ria �s szemafor API-j�t.
+
+ 3.3) Amikor megpr�b�lom inditani a postmaster-t, "IpcMemoryCreate" hib�kat
+ kapok. Mi�rt?
+
+ Vagy nincs megfelel�en konfigur�lva a kerneled osztott mem�ria t�mogat�sa
+ vagy meg kell nagyobb�tanod a maxim�lis osztott mem�ria m�retet.
+ A pontos m�ret sz�ks�glet f�gg az architekt�r�dt�l �s att�l hogy h�ny
+ buffert �s processzt konfigur�lsz a postmasternek. Legal�bb 1 MB
ter�letre sz�ks�ged van. A PostgreSQL Adminisztr�ci� k�zik�nyvben
olvashatsz r�szletesebb inform�ci�kat az osztott mem�ri�r�l �s a
- szemaforokr�l. 3.4) Amikor megpr�b�lom inditani a postmaster-t,
- "IpcSemaphoreCreate" hib�kat kapok. Mi�rt? Ha a hiba�zenet ez: "
- IpcSemaphoreCreate: semget failed (No space left on device)", akkor a
- kerneled konfigur�ci�ja nem tesz lehet�v� elegend� szemafort. A
- PostgreSQL szerver processzenk�nt 1 szemafort ig�nyel. Egy �tmeneti
- megold�s lehet az hogy a postmastert kevesebb maxim�lis processz
- sz�mmal inditod el. Haszn�ld a -D param�tert. Egy sokkal megfelel�bb
- megold�s az ha n�veled a kerneled SEMMNS �s SEMMNI param�tereit. A
- hib�s szemaforok is adat�zis lerobban�s�hoz is vezethet nagy terhel�s
- eset�n. Ha a hiba�zenet valami m�s, lehet hogy nincs szemaforok
- t�mogat�s forditva a kerneledbe. Olvasd el a PostgreSQL
- adminisztr�torok k�zik�nyv�ben az osztott mem�ri�r�l �s a
- szemaforokr�l sz�l� fejezetet. 3.5) Hogyan tudom kontroll�lni a m�s
- g�pekr�l �rkez� kapcsolat k�r�seket? Alap�rtelmez�sben a PostgreSQL a
- helyi kapcsolatokat Unix socketekkel val�s�tja meg. M�s g�pek nem
- lesznek k�pesek csatlakozni, ha nem enged�lyezed azt -i opci�val a
- postmasternek, �s nem �ll�tod be host a alap� azonos�t�st a
- pg_hba.conf �llom�nyban. Ezzel v�lnak lehet�v� a TCP/IP kapcsolatok.
- 3.6) Hogyan tudom nagyobb teljes�tm�nyre hangolni az adatb�zisomat? Az
- indexel�s felt�tlen�l gyors�tja a lek�rdez�seket. Az EXPLAIN parancs
- lehet�v� teszi hogy l�sd, hogy a PostgreSQL mik�nt interpret�lja a
- lek�rdez�st �s melyik indexet haszn�lja. Ha sok INSERT m�veletet
- hajtassz v�gre, csin�ld nagy k�tegekben a COPY paranccsal. Ez sokkal
- gyorsabb mint az egyedi INSERT parancsok. M�sodszor: Azok a m�veletek,
- amelyek nincsenek tranzakci� blokkon bel�l, azok saj�t tranzakci�t
- ind�tanak. Sok m�veletet �rdemes egy tranzakci�n bel�l v�grehajtani.
- Ez cs�kkenti a tranzakci� kezel�s t�bbletidej�t. Az indexeket javasolt
- a nagy adatv�ltoz�sok el�tt elt�vol�tani, majd �jra l�trehizni. Sz�mos
- teljes�tm�ny jav�t� lehet�s�g van. Kikapcsolhatod az fsync() m�veletet
- a postmaster -o -F opci�kval val� ind�t�sakor. �gy nem fog az amugy
- lass� fsync() f�ggv�ny megh�v�dni minden tranzakci� v�g�n.
+ szemaforokr�l.
+
+ 3.4) Amikor megpr�b�lom inditani a postmaster-t, "IpcSemaphoreCreate"
+ hib�kat kapok. Mi�rt?
+
+ Ha a hiba�zenet ez: " IpcSemaphoreCreate: semget failed (No space
+ left on device)", akkor a kerneled konfigur�ci�ja nem tesz lehet�v�
+ elegend� szemafort. A PostgreSQL szerver processzenk�nt 1 szemafort
+ ig�nyel. Egy �tmeneti megold�s lehet az hogy a postmastert kevesebb
+ maxim�lis processz sz�mmal inditod el. Haszn�ld a -D param�tert.
+ Egy sokkal megfelel�bb megold�s az ha n�veled a kerneled SEMMNS
+ �s SEMMNI param�tereit.
+
+ A hib�s szemaforok is adat�zis lerobban�s�hoz is vezethet nagy terhel�s
+ eset�n.
+ Ha a hiba�zenet valami m�s, lehet hogy nincs szemaforok t�mogat�s
+ forditva a kerneledbe. Olvasd el a PostgreSQL adminisztr�torok
+ k�zik�nyv�ben az osztott mem�ri�r�l �s a szemaforokr�l sz�l� fejezetet.
+
+ 3.5) Hogyan tudom kontroll�lni a m�s g�pekr�l �rkez� kapcsolat k�r�seket?
+
+ Alap�rtelmez�sben a PostgreSQL a helyi kapcsolatokat Unix socketekkel
+ val�s�tja meg. M�s g�pek nem lesznek k�pesek csatlakozni, ha nem
+ enged�lyezed azt -i opci�val a postmasternek, �s nem �ll�tod be host a
+ alap� azonos�t�st a pg_hba.conf �llom�nyban. Ezzel v�lnak lehet�v� a TCP/IP
+ kapcsolatok.
+
+ 3.6) Hogyan tudom nagyobb teljes�tm�nyre hangolni az adatb�zisomat?
+
+ Az indexel�s felt�tlen�l gyors�tja a lek�rdez�seket. Az EXPLAIN
+ parancs lehet�v� teszi hogy l�sd, hogy a PostgreSQL mik�nt interpret�lja
+ a lek�rdez�st �s melyik indexet haszn�lja.
+
+ Ha sok INSERT m�veletet hajtassz v�gre, csin�ld nagy k�tegekben a COPY
+ paranccsal. Ez sokkal gyorsabb mint az egyedi INSERT parancsok. M�sodszor:
+ Azok a m�veletek, amelyek nincsenek tranzakci� blokkon bel�l, azok saj�t
+ tranzakci�t ind�tanak. Sok m�veletet �rdemes egy tranzakci�n bel�l
+ v�grehajtani. Ez cs�kkenti a tranzakci� kezel�s t�bbletidej�t. Az indexeket
+ javasolt a nagy adatv�ltoz�sok el�tt elt�vol�tani, majd �jra l�trehizni.
+
+ Sz�mos teljes�tm�ny jav�t� lehet�s�g van. Kikapcsolhatod az fsync()
+ m�veletet a postmaster -o -F opci�kval val� ind�t�sakor. �gy nem fog
+ az amugy lass� fsync() f�ggv�ny megh�v�dni minden tranzakci� v�g�n.
+
Haszn�lhatod a postmaster -B opci�j�t is az osztott mem�ria szegmens
- m�ret�nek n�vel�s�hez. Ha az �rt�ket t�l magasra �ll�tod, lehet hogy a
- postmaster nem indul el, mert t�ll�pted az oper�ci�s rendszer �ltal
+ m�ret�nek n�vel�s�hez. Ha az �rt�ket t�l magasra �ll�tod, lehet hogy
+ a postmaster nem indul el, mert t�ll�pted az oper�ci�s rendszer �ltal
megengedett m�retet. Minden buffer 8K m�ret� �s alap�rtelmez�sban 64
- buffer van. A -S opci�val n�velheted a szerver �tmeneti rendez�sekre
- fenntartott mem�ria ter�let�t. Az �rt�ket kilobyteban add meg. Az
- alap�rtelmezett �rt�k 512K. Haszn�lhatod a CLUSTER utas�t�st is, hogy
- a t�bl�kat egy indexnek megfelel�en csoportos�tsd. Olvasd el a CLUSTER
- k�zik�nyv oldalt tov�bbi r�szletek�rt. 3.7) Milyen hibakeres�
- lehet�s�gek �rhet�ek el? A PostgreSQL sz�mos lehet�s�ggel rendelkezik
- ami �rt�kes lehet a hiba- keres�sn�l. El�ssz�r is, futtathatod a
- configure scriptet --enable-cassert opci�val, sok assert()
- funkci�hiv�s ellen�rzi a program fut�s�t �s meg�llitja ha valami
- v�ratlan hiba t�rt�nik. Mind a postmaster �s a postgres sz�mos
- hibakeres� lehet�s�ggel rendelkezik. Mindig amikor elinditod a
- postmastert, gy�z�dj meg r�la, hogy a kimenetet log �llom�nyba k�ld�d.
- Igy: cd /usr/local/pgsql ./bin/postmaster >server.log 2>&1 & Ez egy
- server.log �llom�nyt hoz l�tre a fels� PostgreSQL k�nyvt�rban. Ez az
- �llom�ny tartlamaz majd sz�mos hasznos inform�ci�t a szerverrel
+ buffer van.
+
+ A -S opci�val n�velheted a szerver �tmeneti rendez�sekre fenntartott
+ mem�ria ter�let�t. Az �rt�ket kilobyteban add meg. Az alap�rtelmezett
+ �rt�k 512K.
+
+ Haszn�lhatod a CLUSTER utas�t�st is, hogy a t�bl�kat egy indexnek
+ megfelel�en csoportos�tsd. Olvasd el a CLUSTER k�zik�nyv oldalt tov�bbi
+ r�szletek�rt.
+
+
+ 3.7) Milyen hibakeres� lehet�s�gek �rhet�ek el?
+
+ A PostgreSQL sz�mos lehet�s�ggel rendelkezik ami �rt�kes lehet a hiba-
+ keres�sn�l.
+
+ El�ssz�r is, futtathatod a configure scriptet --enable-cassert
+ opci�val, sok assert() funkci�hiv�s ellen�rzi a program fut�s�t �s
+ meg�llitja ha valami v�ratlan hiba t�rt�nik.
+
+ Mind a postmaster �s a postgres sz�mos hibakeres� lehet�s�ggel rendelkezik.
+ Mindig amikor elinditod a postmastert, gy�z�dj meg r�la, hogy a kimenetet
+ log �llom�nyba k�ld�d. Igy:
+ cd /usr/local/pgsql
+ ./bin/postmaster >server.log 2>&1 &
+
+ Ez egy server.log �llom�nyt hoz l�tre a fels� PostgreSQL k�nyvt�rban.
+ Ez az �llom�ny tartlamaz majd sz�mos hasznos inform�ci�t a szerverrel
kapcsolatos probl�m�kr�l �s hib�kr�l. A postmaster -d opci�j�val lehet
- r�szletesebb hibakeres� inform�ci�t kapni. A -d opci�hoz meg kell
- hat�rozni egy hiba szintet. Vigy�zz, a magas hibakeres� szint nagy log
- �llom�nyt okozhat. Ha a postmaster nem fut, akkor futtathatod a
- postgres szervert parancssorb�l is, �s az SQL kifejez�st k�zvetlen�l
- ennek adhatod �t. Ez csak hibakeres�s eset�ben javasolt. Az �j sor a
- kifejez�s v�g�t jelenti, nem a pontosvessz�. Ha hibakeres� opci�kkal
- forditottad a szervert, haszn�lhatsz egy debuggert is hogy l�sd hogy
- mi t�rt�nik. Mivel igy a szervert nem a postmaster inditotta, nem
- t�bbfelhaszn�l�s k�rnyezetk�nt fut, igy a z�rol�si �s a szerverek
- k�z�tti kommunik�ci�s hiba jelens�gek nem jelentkeznek. Ha m�r fut a
- postmaster, indits egy psql-t, �s n�zd meg a szerver processz PID-j�t!
- Egy debuggert haszn�lhatsz a processzhez csatlakoz�shoz. Be�llithatsz
- t�r�spontokat �s elindithatsz lek�rdez�seket. Ha a postgres indit�sban
- keresel hib�t, a PGOPTIONS k�rnyezeti v�ltoz�t �llitsd be "-W n"
+ r�szletesebb hibakeres� inform�ci�t kapni. A -d opci�hoz meg kell
+ hat�rozni egy hiba szintet. Vigy�zz, a magas hibakeres� szint nagy
+ log �llom�nyt okozhat.
+
+ Ha a postmaster nem fut, akkor futtathatod a postgres szervert
+ parancssorb�l is, �s az SQL kifejez�st k�zvetlen�l ennek adhatod �t.
+ Ez csak hibakeres�s eset�ben javasolt. Az �j sor a kifejez�s v�g�t jelenti,
+ nem a pontosvessz�. Ha hibakeres� opci�kkal forditottad a szervert,
+ haszn�lhatsz egy debuggert is hogy l�sd hogy mi t�rt�nik. Mivel igy a
+ szervert nem a postmaster inditotta, nem t�bbfelhaszn�l�s k�rnyezetk�nt
+ fut, igy a z�rol�si �s a szerverek k�z�tti kommunik�ci�s hiba jelens�gek
+ nem jelentkeznek.
+
+ Ha m�r fut a postmaster, indits egy psql-t, �s n�zd meg a szerver processz
+ PID-j�t! Egy debuggert haszn�lhatsz a processzhez csatlakoz�shoz.
+ Be�llithatsz t�r�spontokat �s elindithatsz lek�rdez�seket. Ha a postgres
+ indit�sban keresel hib�t, a PGOPTIONS k�rnyezeti v�ltoz�t �llitsd be "-W n"
�rt�kre. Ez n m�sodperc v�rakoz�st id�z el�, igy tudsz csatlakozni a
- processzhez, el tdsz hejezni t�r�spontokat, majd folytathatod a
- ind�t�st. A postgres program -s, -A �s -t opci�i is nagyon hasznosak
- lehetnek hibakeres�sn�l �s teljes�tm�ny m�r�sn�l. Profiling
- leht�s�ggel is fordithatod a szervert, hogy l�sd melyik funkci�k
- foglalj�k el a fut�si id�t. A szerver profile �llom�nyai a
- pgsql/data/base/dbname k�nzvt�rba ker�lnek, a kliens profile
- �llom�nyok az aktu�lis k�nyvt�rba. Linuxon ehhez sz�ks�ges a
- -DLINUX_PROFILE ford�t�si direktiva. 3.8) Mi�rt kapok "Sorry, too many
- clients" (T�l sok kliens) hib�t csatlakoz�sn�l? N�velned kell a
- postmaster egyidej�leg futtatott szerver processz sz�m korl�tj�t. Az
- alap�rtelmezett korl�t 32 processz. Ezt n�velhetjed �gy, hogy
+ processzhez, el tdsz hejezni t�r�spontokat, majd folytathatod a ind�t�st.
+
+ A postgres program -s, -A �s -t opci�i is nagyon hasznosak lehetnek
+ hibakeres�sn�l �s teljes�tm�ny m�r�sn�l.
+
+ Profiling leht�s�ggel is fordithatod a szervert, hogy l�sd melyik
+ funkci�k foglalj�k el a fut�si id�t. A szerver profile �llom�nyai
+ a pgsql/data/base/dbname k�nzvt�rba ker�lnek, a kliens profile
+ �llom�nyok az aktu�lis k�nyvt�rba. Linuxon ehhez sz�ks�ges a
+ -DLINUX_PROFILE ford�t�si direktiva.
+
+ 3.8) Mi�rt kapok "Sorry, too many clients" (T�l sok kliens)
+ hib�t csatlakoz�sn�l?
+
+ N�velned kell a postmaster egyidej�leg futtatott szerver processz sz�m
+ korl�tj�t.
+
+ Az alap�rtelmezett korl�t 32 processz. Ezt n�velhetjed �gy, hogy
�jrainditod a postmastert �s -N opci�val meghat�rotod az �j �rt�ket,
- vagy m�dositod a postgresql.conf-ot. Ne felejtsd el, hogy ha n�veled a
- szerver processzek maxim�lis sz�m�t, akkor bufferek sz�m�t is n�velned
- kell, legal�bb a processzek sz�m�nak k�tszeres�re. Nagy processz
- sz�mokeset�ben val�szin�leg a Unix konfigur�ci�s param�tereken is
- n�velni kell. Ellen�rizd a SHMMAX (az osztott mem�ria szegmensek
- maxim�lis m�rete), a SEMMNS �s a SEMMNI (a szemaforok maxim�lis
- sz�ma), az NPROC (a processzek maxim�lis sz�ma), a MAXUPRC
- (felhaszn�l�nk�nti maxim�lis processz sz�m) �s a NFILE �s NINODE (a
- megnzitott �llom�nzok maxim�lis sz�ma) param�tereket. A PostgreSQL
- az�rt korl�tozza k�l�n a processz sz�mot, hogy a rendszeredet ne
- terhelhesse meg t�ls�gosan. A PostgreSQL 6.5 verzi�ban a maxim�lis
- szerver processz sz�m 64 volt �s a m�dosit�shoz bele kellett irni a
- include/storage/sinvaladt.h �llom�nyba �s �jra kellett forditani a
- servert. 3.9) Mi van pgsql_tmp k�nyvt�rban? Ez a k�nyvt�r a lek�rdez�s
- v�grehajt� �ltal l�trehezott �tmeneti �llom�nyokat tartalmazza.
- P�ld�ul ha egy rendez�st kell v�grehajtani egy ORDER BY kifejez�s
- miatt �s a m?velet t�bb mem�ri�t vesz ig�nybe, mint amennyit a -S
- param�ter megenged, akkor az �tmeneti k�nyvt�rban hoz l�tre egy
- �llom�nyt a fennmarad� adat t�rol�s�ra. Az �tmeneti �llom�nyok
- t�bbnyire t�rl?dnek, de meg is maradhat ha p�ld�ul v�ratlan hib�val
- le�ll a szerver egy rendez�s k�zben. Indit�skor �s le�llit�skor ezeket
- az �llom�nyokat t�rli a postmaster. 3.10) Mi�rt kell dumpolni �s
- �jrat�lteni PostgreSQL kiad�s v�lt�s�n�l? A PostgreSQL csapat csak
- apr�bb v�ltoztat�sokat hajt v�gre a kisebb kiad�sok k�z�tt, igy ha 7.2
- verzi�r�l �llsz �t 7.2.1 verzi�ra, akkor nem sz�ks�ges kidumplonod az
- adatb�zist. A nagy kiad�sok eset�ben (p�ld�ul verzi�r�l 7.3-ra
- �tt�r�sn�l) v�ltozik a belsi� adatstrukt�r�k �s adat�llom�nyok
- form�tuma. Ezek a v�ltoz�sok gyakran nagyon �sszetettek, ez�rt ink�b
- nem tartunk fenn visszafel� kompatibilit�st. A dump az adatot
- �ltal�nos form�tumban irja ki, majd az �j form�tumban lehet azt
- visszat�leni. Azokban a kiad�sokban, amelyek k�z�tt az adat form�tum
- nem v�ltozik, a pg_upgrade program haszn�lhat� dumpol�s �s
- helzre�llit�s n�lk�l.
- _________________________________________________________________
- M�k�dtet�si k�rd�sek 4.1) Mi a k�l�nbs�g a bin�ris �s a norm�l
- kurzorok k�z�tt? N�zd meg a DECLARE dokument�ci�j�t. 4.2) Hogyan tudom
- select-elni a lek�rdez�s els� p�r sor�t? Olvasd el a FETCH
- dokument�ci�j�t, vagy haszn�ld a SELECT LIMIT-et. Az eg�sz lek�rdez�st
- v�gre kell hajtani, m�g akkor is, ha csak az els� p�r sort akarod
- megkapni. Gondolj arra, hogy a lek�rdez�sben lehet ORDER BY is. Ha van
- olyan index, ami megfelel az ORDER BY kifejez�sednek, a PostgreSQL
- k�pes lehet az els� n�h�ny rekord visszaad�s�ra, vagy a teljes
- lek�rdez�snek le kell futnia, amig a k�rt rekordok le nem
- gener�l�dnak. 4.3) Hogy tudom kilist�zni a t�bl�kat vagy m�s dolgokat
- a PostgreSQL-ben? Elolvashatod a psql forr�s k�dj�ban a
- pgsql/src/bin/psql/describe.c �llom�nyban. Ez SQL parancsokat
- tartalmaz, amelyek azokat a kimeneteket �llitj�k el�, amiket a per
- jellel kezd�d� parancsok adnak vissza. 4.4) Hogyan tudok elt�vol�tani
- egy oszlopot egy t�bl�b�l? Ez a funkcionalit�s a 7.3 verzi�t�l kezdve
- �rhet� el az ALTER TABLE DROP COLUMN -nal. A r�gebbi verti�kban igy
- lehet v�grehajtani: BEGIN; LOCK TABLE old_table; SELECT ... -- minden
- oszlopot, kiv�tel amit t�r�lni szeretn�l INTO TABLE new_table FROM
- old_table; DROP TABLE old_table; ALTER TABLE new_table RENAME TO
- old_table; COMMIT; 4.5) Mi a maxim�lis m�rete egy sornak, egy t�bl�nak
- vagy egy adatb�zisnak? A korl�tok: adatb�zis: korl�tlan (1 TB az
- �ltalunk ismert lagnagyobb) t�bla: 16 TB rekord/sor 1.6TB mez� 1 GB a
- t�bla sorainak sz�ma: korl�tlan a t�bla oszlopainak sz�ma: 250-1600 az
- oszlop nevekt�l f�gg�en A t�bla indexeinek sz�ma: korl�tlan
+ vagy m�dositod a postgresql.conf-ot.
+
+ Ne felejtsd el, hogy ha n�veled a szerver processzek maxim�lis sz�m�t,
+ akkor bufferek sz�m�t is n�velned kell, legal�bb a processzek sz�m�nak
+ k�tszeres�re. Nagy processz sz�mokeset�ben val�szin�leg a Unix
+ konfigur�ci�s param�tereken is n�velni kell. Ellen�rizd a SHMMAX
+ (az osztott mem�ria szegmensek maxim�lis m�rete), a SEMMNS �s a SEMMNI
+ (a szemaforok maxim�lis sz�ma), az NPROC (a processzek maxim�lis sz�ma),
+ a MAXUPRC (felhaszn�l�nk�nti maxim�lis processz sz�m) �s a NFILE �s NINODE
+ (a megnzitott �llom�nzok maxim�lis sz�ma) param�tereket. A PostgreSQL
+ az�rt korl�tozza k�l�n a processz sz�mot, hogy a rendszeredet ne terhelhesse
+ meg t�ls�gosan.
+
+ A PostgreSQL 6.5 verzi�ban a maxim�lis szerver processz sz�m 64 volt �s
+ a m�dosit�shoz bele kellett irni a include/storage/sinvaladt.h �llom�nyba
+ �s �jra kellett forditani a servert.
+
+ 3.9) Mi van pgsql_tmp k�nyvt�rban?
+
+ Ez a k�nyvt�r a lek�rdez�s v�grehajt� �ltal l�trehezott �tmeneti
+ �llom�nyokat tartalmazza. P�ld�ul ha egy rendez�st kell v�grehajtani
+ egy ORDER BY kifejez�s miatt �s a m?velet t�bb mem�ri�t vesz
+ ig�nybe, mint amennyit a -S param�ter megenged, akkor az �tmeneti
+ k�nyvt�rban hoz l�tre egy �llom�nyt a fennmarad� adat t�rol�s�ra.
+
+ Az �tmeneti �llom�nyok t�bbnyire t�rl?dnek, de meg is maradhat ha
+ p�ld�ul v�ratlan hib�val le�ll a szerver egy rendez�s k�zben. Indit�skor
+ �s le�llit�skor ezeket az �llom�nyokat t�rli a postmaster.
+
+ 3.10) Mi�rt kell dumpolni �s �jrat�lteni PostgreSQL kiad�s v�lt�s�n�l?
+
+ A PostgreSQL csapat csak apr�bb v�ltoztat�sokat hajt v�gre a kisebb
+ kiad�sok k�z�tt, igy ha 7.2 verzi�r�l �llsz �t 7.2.1 verzi�ra, akkor nem
+ sz�ks�ges kidumplonod az adatb�zist. A nagy kiad�sok eset�ben (p�ld�ul
+ verzi�r�l 7.3-ra �tt�r�sn�l) v�ltozik a belsi� adatstrukt�r�k �s
+ adat�llom�nyok form�tuma. Ezek a v�ltoz�sok gyakran nagyon �sszetettek,
+ ez�rt ink�b nem tartunk fenn visszafel� kompatibilit�st. A dump
+ az adatot �ltal�nos form�tumban irja ki, majd az �j form�tumban lehet
+ azt visszat�leni.
+
+ Azokban a kiad�sokban, amelyek k�z�tt az adat form�tum nem v�ltozik,
+ a pg_upgrade program haszn�lhat� dumpol�s �s helzre�llit�s n�lk�l.
+
+ _________________________________________________________________
+
+ M�k�dtet�si k�rd�sek
+
+ 4.1) Mi a k�l�nbs�g a bin�ris �s a norm�l kurzorok k�z�tt?
+
+ N�zd meg a DECLARE dokument�ci�j�t.
+
+ 4.2) Hogyan tudom select-elni a lek�rdez�s els� p�r sor�t?
+
+ Olvasd el a FETCH dokument�ci�j�t, vagy haszn�ld a SELECT
+ LIMIT-et.
+
+ Az eg�sz lek�rdez�st v�gre kell hajtani, m�g akkor is, ha csak az els�
+ p�r sort akarod megkapni. Gondolj arra, hogy a lek�rdez�sben lehet ORDER BY
+ is. Ha van olyan index, ami megfelel az ORDER BY kifejez�sednek, a
+ PostgreSQL k�pes lehet az els� n�h�ny rekord visszaad�s�ra, vagy a teljes
+ lek�rdez�snek le kell futnia, amig a k�rt rekordok le nem gener�l�dnak.
+
+ 4.3) Hogy tudom kilist�zni a t�bl�kat vagy m�s dolgokat a PostgreSQL-ben?
+
+ Elolvashatod a psql forr�s k�dj�ban a pgsql/src/bin/psql/describe.c
+ �llom�nyban. Ez SQL parancsokat tartalmaz, amelyek azokat a kimeneteket
+ �llitj�k el�, amiket a per jellel kezd�d� parancsok adnak vissza.
+
+ 4.4) Hogyan tudok elt�vol�tani egy oszlopot egy t�bl�b�l?
+
+ Ez a funkcionalit�s a 7.3 verzi�t�l kezdve �rhet� el az ALTER TABLE
+ DROP COLUMN -nal. A r�gebbi verti�kban igy lehet v�grehajtani:
+ BEGIN;
+ LOCK TABLE old_table;
+ SELECT ... -- minden oszlopot, kiv�tel amit t�r�lni szeretn�l
+ INTO TABLE new_table
+ FROM old_table;
+ DROP TABLE old_table;
+ ALTER TABLE new_table RENAME TO old_table;
+ COMMIT;
+
+ 4.5) Mi a maxim�lis m�rete egy sornak, egy t�bl�nak vagy egy adatb�zisnak?
+
+ A korl�tok:
+ adatb�zis: korl�tlan (1 TB az �ltalunk ismert lagnagyobb)
+ t�bla: 16 TB
+ rekord/sor 1.6TB
+ mez� 1 GB
+ a t�bla sorainak sz�ma: korl�tlan
+ a t�bla oszlopainak sz�ma: 250-1600 az oszlop nevekt�l f�gg�en
+ A t�bla indexeinek sz�ma: korl�tlan
+
Term�szetesen nem igaz�n korl�tlan, de a t�rter�let, mem�ria �s egy�b
- k�ls� t�nyez�k korl�tozz�k. A teljesitm�ny romolhat, ha ezek az
- �rt�kek szokatlanul nagyok. A 16 TB-os legnagyobb t�bla m�ret nem
- ig�nyel nagy �llom�ny t�mogat�st. A nagy t�bl�k t�bb 1 GB m�ret�
- �llom�nyba ker�lnek, igy az �llom�ny rendszer korl�tai nem l�nyegesek.
- A maxim�lis t�bla m�ret �s az oszlopok maxim�lis oszlop sz�m
- n�velhet�, ha az alap�rtelmezett blokkm�retet 32k-ra n�veled. 4.6)
- Mekkora adatb�zis lemez ter�let sz�ks�ges egy tipikus sz�veg �llom�ny
- t�rol�s�hoz? A PostgreSQL ak�r a sz�veg �llom�ny helyig�nz�nek
- �tsz�r�s�t is elfoglalhaja. K�pzelj el p�ld�ul, egy 100.000 soros
- sz�veget, aminek minde sora egy sz�mb�l �s egy sz�vegb�l �ll. Tegy�k
- el, hogy �tlagosan 20 byte hossz� sz�vegek. Ez a sz�veg�llom�ny
- k�r�lbel�l 2.8 MB helyet foglalna el. A t�bla ami a fenti
- adatszerkezetet elt�roln�, k�r�lbel�l 6.4 MB-os lenne. Ezt a
- k�vetkez�k�ppen sz�molhatjuk ki: 36 byte: sor fejl�c 24 byte: egy int
- mez� + egy sz�veg mez� 4 byte: mutato
- --------------------------------------- 64 byte soronkent. Az adat
- oldal m�rete a PostgreSQL-ben 8192 byte, igy 8192 / 64 = 128 rekord
- adatb�zis oldalank�nt (lefel� kerekitve). 100000 rekord / 128 rekord
- oldalank�nt = 782 adat oldal (felel� kerekitve). 782 adatb�zis oldal *
- 8192 byte olalank�nt = 6,406,144 byte (6.4 MB) Az indexek nem
- foglalnak t�l sokat, de tartalmazz�k az indexelt adatot, igy ezek is
- lehetnek nagyok. A NULL �rt�kek bitt�rk�pben vannak t�rolva, igy kev�s
- helyet foglanak. 4.7) Hogy tudhatom meg milyen t�bl�k, indexek,
- adatb�zisok vagy felhaszn�l�k vannak defini�lva? A psql-ben tal�lsz
- sz�mos '\' karakterrel kezd�d� utas�t�st az ilyen inform�ci�k
- list�z�s�ra. A '\?' segits�g�vel tudot kilist�zni ezeket a
- parancsokat. Ezen kiv�l vannak rendszer t�bl�k, amelyek nevei 'pg_'
- -vel kezd�dnek. Pr�b�ld ki a pgsql/src/tutorial/syscat.source
- �llom�nyt is. Ez sok p�ld�t tartalmaz az rendszert�bl�kon v�grehajtott
- SELECT-ekr�l. 4.8) A lek�rdez�seim lass�ak, vagy nem haszn�lj�k az
- indexeket. Mi�rt? Az indexeket nem haszn�lja a szerver minden
- lek�rdez�sn�l automatikusan. Csak akkor haszn�l indexet, ha a t�bla
- m�rete egy megadott als� hat�r felett van, �s a lek�rdez�s csak a
- sorok egy kis r�sz�t �rinti. Ez az�rt van, mert a v�letlen hozz�f�r�s
- m�g mindig lassabb lehet mint az t�bla szekvenci�lis olvas�sa. Hogy a
- PostgreSQL meg tudja hat�rozni hogy kell-e indexet haszn�lni, l�teznie
- kell egy statisztik�nak a t�bl�r�l. Ez a statisztikai adatok a VAACUM
- ANALYZE vagy az egyszer� ANALYZE m�veletek sor�n j�nnek l�tre. A
- statisztikai adatok felhaszn�l�s�val az optimaliz�l� meg tudja
- hat�rozni, hogy h�ny sor van a t�bl�ban, �s el tudja d�nteni, hogy
- haszn�ljon-e indexet. A statisztiaki adatgy�jt�st id�nk�nt v�gre kell
- hajtani, ahogy a t�bla adatai v�ltoznak. Az indexeket norm�lis esetben
- nem haszn�lja az ORDER BY vagy az OUTER JOIN. A szekvenci�lis olvas�s
- �ltal�ban gyorsabb, mint az index keres�s egy nagy t�bl�ban. B�r a
- LIMIT az ORDER BY-val kombin�lva haszn�lhat indexet, mert a t�bla csak
- kis r�sze �rintett. B�r a MIN �s MAX SQL funkci�k sem haszn�lj�k az
- indexeket, ezeket az �rt�keket egy ORDER BY + LIMIT lek�rdez�ssel is
- le lehet k�rdezni: SELECT col FROM tab ORDER BY col [ DESC ] LIMIT 1;
+ k�ls� t�nyez�k korl�tozz�k. A teljesitm�ny romolhat, ha ezek az �rt�kek
+ szokatlanul nagyok.
+
+ A 16 TB-os legnagyobb t�bla m�ret nem ig�nyel nagy �llom�ny t�mogat�st.
+ A nagy t�bl�k t�bb 1 GB m�ret� �llom�nyba ker�lnek, igy az �llom�ny
+ rendszer korl�tai nem l�nyegesek.
+
+ A maxim�lis t�bla m�ret �s az oszlopok maxim�lis oszlop sz�m n�velhet�,
+ ha az alap�rtelmezett blokkm�retet 32k-ra n�veled.
+
+ 4.6) Mekkora adatb�zis lemez ter�let sz�ks�ges egy tipikus sz�veg �llom�ny
+ t�rol�s�hoz?
+
+ A PostgreSQL ak�r a sz�veg �llom�ny helyig�nz�nek �tsz�r�s�t is elfoglalhaja.
+
+ K�pzelj el p�ld�ul, egy 100.000 soros sz�veget, aminek minde sora
+ egy sz�mb�l �s egy sz�vegb�l �ll. Tegy�k el, hogy �tlagosan 20 byte hossz�
+ sz�vegek. Ez a sz�veg�llom�ny k�r�lbel�l 2.8 MB helyet foglalna el.
+ A t�bla ami a fenti adatszerkezetet elt�roln�, k�r�lbel�l 6.4 MB-os lenne.
+ Ezt a k�vetkez�k�ppen sz�molhatjuk ki:
+ 36 byte: sor fejl�c
+ 24 byte: egy int mez� + egy sz�veg mez�
+ 4 byte: mutato
+ ---------------------------------------
+ 64 byte soronkent.
+
+ Az adat oldal m�rete a PostgreSQL-ben 8192 byte, igy
+ 8192 / 64 = 128 rekord adatb�zis oldalank�nt (lefel� kerekitve).
+
+ 100000 rekord / 128 rekord oldalank�nt = 782 adat oldal (felel� kerekitve).
+
+ 782 adatb�zis oldal * 8192 byte olalank�nt = 6,406,144 byte (6.4 MB)
+
+ Az indexek nem foglalnak t�l sokat, de tartalmazz�k az indexelt adatot,
+ igy ezek is lehetnek nagyok.
+
+ A NULL �rt�kek bitt�rk�pben vannak t�rolva, igy kev�s helyet foglanak.
+
+
+ 4.7) Hogy tudhatom meg milyen t�bl�k, indexek, adatb�zisok vagy felhaszn�l�k
+ vannak defini�lva?
+
+ A psql-ben tal�lsz sz�mos '\' karakterrel kezd�d� utas�t�st az ilyen
+ inform�ci�k list�z�s�ra. A '\?' segits�g�vel tudot kilist�zni ezeket
+ a parancsokat. Ezen kiv�l vannak rendszer t�bl�k, amelyek nevei 'pg_'
+ -vel kezd�dnek.
+
+ Pr�b�ld ki a pgsql/src/tutorial/syscat.source �llom�nyt is. Ez sok
+ p�ld�t tartalmaz az rendszert�bl�kon v�grehajtott SELECT-ekr�l.
+
+ 4.8) A lek�rdez�seim lass�ak, vagy nem haszn�lj�k az indexeket. Mi�rt?
+
+ Az indexeket nem haszn�lja a szerver minden lek�rdez�sn�l automatikusan.
+ Csak akkor haszn�l indexet, ha a t�bla m�rete egy megadott als� hat�r
+ felett van, �s a lek�rdez�s csak a sorok egy kis r�sz�t �rinti. Ez az�rt
+ van, mert a v�letlen hozz�f�r�s m�g mindig lassabb lehet mint az t�bla
+ szekvenci�lis olvas�sa.
+
+ Hogy a PostgreSQL meg tudja hat�rozni hogy kell-e indexet haszn�lni,
+ l�teznie kell egy statisztik�nak a t�bl�r�l. Ez a statisztikai adatok a
+ VAACUM ANALYZE vagy az egyszer� ANALYZE m�veletek sor�n
+ j�nnek l�tre. A statisztikai adatok felhaszn�l�s�val az optimaliz�l�
+ meg tudja hat�rozni, hogy h�ny sor van a t�bl�ban, �s el tudja d�nteni,
+ hogy haszn�ljon-e indexet. A statisztiaki adatgy�jt�st id�nk�nt v�gre
+ kell hajtani, ahogy a t�bla adatai v�ltoznak.
+
+ Az indexeket norm�lis esetben nem haszn�lja az ORDER BY vagy
+ az OUTER JOIN. A szekvenci�lis olvas�s �ltal�ban gyorsabb, mint az
+ index keres�s egy nagy t�bl�ban.
+ B�r a LIMIT az ORDER BY-val kombin�lva haszn�lhat indexet, mert
+ a t�bla csak kis r�sze �rintett. B�r a MIN �s MAX SQL funkci�k sem
+ haszn�lj�k az indexeket, ezeket az �rt�keket egy ORDER BY + LIMIT
+ lek�rdez�ssel is le lehet k�rdezni:
+ SELECT col
+ FROM tab
+ ORDER BY col [ DESC ]
+ LIMIT 1;
+
Amikor helyettes�t� jel oper�torokat haszn�lsz, mint a LIKE kulcssz�
- vagy a ~, az indexeket csak bizonyos k�r�lm�nyek k�z�tt lehet
- haszn�lni: * A keres� string kezdete a keres�si minta elej�n kell hogy
- legyen. p�ld�ul: + A LIKE mint�k nem kezd�dhetnek % jellel. + ~
- (regexp) kifejez�sek nem kezd�dhetnek ^ jellel. * A keres�si kifejez�s
- nem kezd�dhet karakter oszt�llyal. * A case-insensitive keres�s
- (ILIKE, ~*) nem haszn�lnak indexet ehelyett funkcion�lis indexet
- haszn�lnak, amit a 4.12 pontban tal�lhatsz. * Az alap�rtelmezett C
- hellyel kell futtatni az initdb-t. 4.9) Hogy tudom ellen�rizni, hogy
- optimaliz�lta a lek�rdez�s optimaliz�l� a lek�rdez�sem? Olvasd el a
- dokument�ci� EXPLAIN-r�l sz�l� r�sz�t. 4.10) Mi az R-tree index? Az
- R-tree index a t�rbeli adat indexel�s�re alkalmas. Egy hash index nem
- k�pes tartom�ny keres�sekre. A B-tree index csak egy dimenzi�n kezeli
- a tartom�ny keres�seket. P�ld�ul ha az indexet egy pont (point
- adatt�pus) t�pus� mez.re �p�tj�k, gyorsabban kezeli az olyan jelleg�
- lek�rdez�seket, mint egy adott k�rben tal�lhat� pontok. Az R-tree
- tervez�si mint�t eredetileg le�r� sz�veg: 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. Ezt olvashatod
- Stonebraker "Readings in Database Systems" c. k�nyv�ben. A be�p�tett
- R-tree kezelni tudj�k a soksz�geket (polygon adatt�pus) �s a dobozokat
- (box). Elm�letileg, az R-tree kiterjeszthet� tov�bbi dimenzi�kra is.
- Gyakorlatilag ezen dolgoznod kell egy kicsit, �s m�g nincs
- dokument�ci�nk arr�l hogy az hogyan m�k�dik. 4.11) Mi a Genetic Query
- Optimizer? A GEQO modul a lek�rdez�s optimaliz�ci� sebess�g�t n�veli
- nagy mennyis�g� t�bla �sszekapcsol�sa eset�n. Lehet�v� teszi a nagy
- lek�rdez�sek v�grehajt�s�t nem teljes keres�ssel. 4.12) Hogyan tudok
- regexp keres�st �s case-insensitive regexp keres�st haszn�lni? Hogyan
- tudok indexet haszn�lni case-insensitive keres�shez? A ~ oper�tor hajt
- v�gre regul�ris kifejez�s (regexp) �rtelmez�st, a ~* ennek
- case-insensitive v�ltozata. A LIKE case-insensitive v�ltozata az
- ILIKE. A case-insensitive egyenl�s�g m�veleteket �ltal�ban igy hajtjuk
- v�gre: SELECT * FROM tab WHERE lower(col) = 'abc'; Ez nem fog indexet
- haszn�lni, b�r l�trehozhatsz egy funkci� indexet: CREATE INDEX
- tabindex ON tab (lower(col)); 4.13) Hogyan tudom �szlelni egy
- lek�rdez�sben, ha egy mez� NULL? Haszn�ld "IS NULL"-t �s az "IS NOT
- NULL"-t. 4.14) Mi a k�l�nbs�g a k�l�nb�z� karaktert�pusok k�z�tt? Type
- Internal Name Notes --------------------------------------------------
- "char" char 1 character CHAR(n) bpchar blank padded to the specified
- fixed length VARCHAR(n) varchar size specifies maximum length, no
- padding TEXT text no specific upper limit on length BYTEA bytea
- variable-length byte array (null-byte safe) L�tni fogod a bels�
- elnevez�s�ket, ha tanulm�nyozod a rendszert�bl�kat �s n�h�ny
- hiba�zenetet. Az ut�bbi n�gy a "varlena" t�pusok, ami a t�rol�suk
- m�dj�ra utal: az els� 4 byte a lemezen a hossz�s�g, a t�bbi az adat. A
- val�di m�ret teh�t nagyobb mint a deklar�lt hossz�s�g.Ezek azadatok
- t�m�ritve t�rol�dnak el, igy kevesebb helyet foglalnek el az el�re
- sz�mitottn�l. A CHAR(n) a legjobb megold�s, ha stabil hossz�s�g�
- stringet t�rolsz. A VARCHAR(n) j� arra az esetekre, ha a hossz�s�g
- v�ltozik, de van fels� korl�tja. A TEXT t�pus korl�tlan hossz�s�g� (1
- GB-ig) sz�vegek t�rol�s�ra alklamas. A BYTEA bin�ris adatok t�rol�s�ra
- van. A teljesitm�ny mutat�i hasonl�ak ezenek a t�pusoknak. 4.15.1)
- Hogyan tudok l�trehozni automatikusan n�vekv� �rt�k� mez�t? A
- PostgreSQL rendelkezik egy SERIAL adatt�pussal. Ez egy szekvenci�t �s
- egy indexet hoz l�tre az oszlopon. P�ld�ul ez: CREATE TABLE person (
- id SERIAL, name TEXT ); ugyanezt jelenti: 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 ); A szekvenci�kkal kapcsolatban olvasd
- el a create_sequence man oldalt. A sor OID-j�t is haszn�lhatod egyedi
- azonosit�k�nt, b�r ebben az esetben figyelj a pg_gump haszn�lat�n�l a
- -o opci�ra (COPY WITH OIDS, m�sol�s OID-dal), hogy meg?rizd az
- �rt�keket. 4.15.2) Hogyan kaphatom meg egy SERIAL besz�r�s �rt�k�t?
- Egy megold�s erre az, ha a nextval() funkci�val megszerzed az �rt�ket
- m�g miel�tt besz�rn�d az adatot a t�bl�ba. Erre itt l�thatsz egy
- p�ld�t: new_id = execute("SELECT nextval('person_id_seq')");
- execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise
- Pascal')"); Esetleg lek�rdezheted a szekvencia �llapot�t a sor
- besz�r�sa ut�n. execute("INSERT INTO person (name) VALUES ('Blaise
- Pascal')"); new_id = execute("SELECT currval('person_id_seq')"); V�g�l
- pedig, haszn�lhatod a visszaadott OID �rt�ket is, b�r ez a lehet�
+ vagy a ~, az indexeket csak bizonyos k�r�lm�nyek k�z�tt lehet haszn�lni:
+ * A keres� string kezdete a keres�si minta elej�n kell hogy legyen.
+ p�ld�ul:
+ + A LIKE mint�k nem kezd�dhetnek % jellel.
+ + ~ (regexp) kifejez�sek nem kezd�dhetnek ^ jellel.
+ * A keres�si kifejez�s nem kezd�dhet karakter oszt�llyal.
+ * A case-insensitive keres�s (ILIKE, ~*) nem haszn�lnak indexet
+ ehelyett funkcion�lis indexet haszn�lnak, amit a 4.12 pontban
+ tal�lhatsz.
+ * Az alap�rtelmezett C hellyel kell futtatni az initdb-t.
+
+ 4.9) Hogy tudom ellen�rizni, hogy optimaliz�lta a lek�rdez�s optimaliz�l�
+ a lek�rdez�sem?
+
+ Olvasd el a dokument�ci� EXPLAIN-r�l sz�l� r�sz�t.
+
+ 4.10) Mi az R-tree index?
+
+ Az R-tree index a t�rbeli adat indexel�s�re alkalmas. Egy hash
+ index nem k�pes tartom�ny keres�sekre. A B-tree index csak egy
+ dimenzi�n kezeli a tartom�ny keres�seket. P�ld�ul ha az indexet
+ egy pont (point adatt�pus) t�pus� mez.re �p�tj�k, gyorsabban
+ kezeli az olyan jelleg� lek�rdez�seket, mint egy adott k�rben
+ tal�lhat� pontok.
+
+ Az R-tree tervez�si mint�t eredetileg le�r� sz�veg:
+
+ 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.
+
+ Ezt olvashatod Stonebraker "Readings in Database Systems" c.
+ k�nyv�ben.
+
+ A be�p�tett R-tree kezelni tudj�k a soksz�geket (polygon adatt�pus)
+ �s a dobozokat (box). Elm�letileg, az R-tree kiterjeszthet� tov�bbi
+ dimenzi�kra is. Gyakorlatilag ezen dolgoznod kell egy kicsit, �s
+ m�g nincs dokument�ci�nk arr�l hogy az hogyan m�k�dik.
+
+ 4.11) Mi a Genetic Query Optimizer?
+
+ A GEQO modul a lek�rdez�s optimaliz�ci� sebess�g�t n�veli nagy
+ mennyis�g� t�bla �sszekapcsol�sa eset�n. Lehet�v� teszi a nagy
+ lek�rdez�sek v�grehajt�s�t nem teljes keres�ssel.
+
+ 4.12) Hogyan tudok regexp keres�st �s case-insensitive regexp keres�st
+ haszn�lni? Hogyan tudok indexet haszn�lni case-insensitive keres�shez?
+
+ A ~ oper�tor hajt v�gre regul�ris kifejez�s (regexp) �rtelmez�st,
+ a ~* ennek case-insensitive v�ltozata. A LIKE case-insensitive
+ v�ltozata az ILIKE.
+
+ A case-insensitive egyenl�s�g m�veleteket �ltal�ban igy hajtjuk
+ v�gre:
+ SELECT *
+ FROM tab
+ WHERE lower(col) = 'abc';
+
+ Ez nem fog indexet haszn�lni, b�r l�trehozhatsz egy funkci� indexet:
+ CREATE INDEX tabindex ON tab (lower(col));
+
+ 4.13) Hogyan tudom �szlelni egy lek�rdez�sben, ha egy mez� NULL?
+
+ Haszn�ld "IS NULL"-t �s az "IS NOT NULL"-t.
+
+ 4.14) Mi a k�l�nbs�g a k�l�nb�z� karaktert�pusok k�z�tt?
+
+Type Internal Name Notes
+--------------------------------------------------
+"char" char 1 character
+CHAR(n) bpchar blank padded to the specified fixed length
+VARCHAR(n) varchar size specifies maximum length, no padding
+TEXT text no specific upper limit on length
+BYTEA bytea variable-length byte array (null-byte safe)
+
+ L�tni fogod a bels� elnevez�s�ket, ha tanulm�nyozod a rendszert�bl�kat
+ �s n�h�ny hiba�zenetet.
+
+ Az ut�bbi n�gy a "varlena" t�pusok, ami a t�rol�suk m�dj�ra utal:
+ az els� 4 byte a lemezen a hossz�s�g, a t�bbi az adat. A val�di m�ret
+ teh�t nagyobb mint a deklar�lt hossz�s�g.Ezek azadatok t�m�ritve
+ t�rol�dnak el, igy kevesebb helyet foglalnek el az el�re sz�mitottn�l.
+
+ A CHAR(n) a legjobb megold�s, ha stabil hossz�s�g� stringet t�rolsz.
+ A VARCHAR(n) j� arra az esetekre, ha a hossz�s�g v�ltozik, de van
+ fels� korl�tja. A TEXT t�pus korl�tlan hossz�s�g� (1 GB-ig) sz�vegek
+ t�rol�s�ra alklamas. A BYTEA bin�ris adatok t�rol�s�ra van. A
+ teljesitm�ny mutat�i hasonl�ak ezenek a t�pusoknak.
+
+ 4.15.1) Hogyan tudok l�trehozni automatikusan n�vekv� �rt�k� mez�t?
+
+ A PostgreSQL rendelkezik egy SERIAL adatt�pussal. Ez egy szekvenci�t
+ �s egy indexet hoz l�tre az oszlopon. P�ld�ul ez:
+ CREATE TABLE person (
+ id SERIAL,
+ name TEXT
+ );
+
+ ugyanezt jelenti:
+ 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 );
+
+ A szekvenci�kkal kapcsolatban olvasd el a create_sequence man
+ oldalt. A sor OID-j�t is haszn�lhatod egyedi azonosit�k�nt, b�r
+ ebben az esetben figyelj a pg_gump haszn�lat�n�l a -o opci�ra
+ (COPY WITH OIDS, m�sol�s OID-dal), hogy meg?rizd az �rt�keket.
+
+ 4.15.2) Hogyan kaphatom meg egy SERIAL besz�r�s �rt�k�t?
+
+ Egy megold�s erre az, ha a nextval() funkci�val megszerzed az
+ �rt�ket m�g miel�tt besz�rn�d az adatot a t�bl�ba. Erre itt l�thatsz
+ egy p�ld�t:
+ new_id = execute("SELECT nextval('person_id_seq')");
+ execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
+
+ Esetleg lek�rdezheted a szekvencia �llapot�t a sor besz�r�sa ut�n.
+ execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
+ new_id = execute("SELECT currval('person_id_seq')");
+
+ V�g�l pedig, haszn�lhatod a visszaadott OID �rt�ket is, b�r ez a lehet�
legkev�sb� portolhat�. Perl DBI-ben, Edmund Mergl DBD::Pg modulj�ban
- az OID �rt�k haszn�lhat� a $sth->execute() ut�n
- ($sth->{pg_oid_status}). 4.15.3) A currval() �s a nextval() nem teremt
- holtpont vesz�lyes helyzetet a felhaszn�l�k k�z�tt? Nem. A currval()
- funkci� a szerver processzed �ltal adott �rt�ket adja vissza, nem
- pedig a t�bbi szerver processz �ltal adottat. 4.15.4) Mi�rt nem
- haszn�l�dnak fel �jra a sequence sz�mok tranzakci� abort eset�n? Mi�rt
- vannak probl�m�k a serial oszlopok sz�moz�s�val? A p�rhuzamoss�g
- fejleszt�se �rdek�ben a sorozat sz�mokat k�r�sre adja ki a szerver
- fut� tranzakci�knak, �s azokat nem z�rja, amig a tranzakci� v�get nem
- �r. Ez jukakat okoz a sz�moz�sokban a visszaforditott tranzakci�k
- miatt. 4.16) Mi a OID? Mi a TID? Az OID a PostgreSQL egyedi sor
- azonosit�ja. Minden sor, ami l�trej�n a szerveren, kap egy OID-t.
- Minden OID, amit az initdb alatt j�n l�tre 16384 alatt van (l�sd
- include/access/transam.h). Minden, felhaszn�l� �ltal l�trehozott OID
- legal�bb ennyi. Alap�rtelmez�sben, az OID nem csak a t�bl�ban vagy az
- adatb�zisban egyedi, hanem a teljes PostgreSQL adatb�zis rendszerben.
+ az OID �rt�k haszn�lhat� a $sth->execute() ut�n ($sth->{pg_oid_status}).
+
+ 4.15.3) A currval() �s a nextval() nem teremt holtpont vesz�lyes helyzetet
+ a felhaszn�l�k k�z�tt?
+
+ Nem. A currval() funkci� a szerver processzed �ltal adott �rt�ket adja
+ vissza, nem pedig a t�bbi szerver processz �ltal adottat.
+
+ 4.15.4) Mi�rt nem haszn�l�dnak fel �jra a sequence sz�mok tranzakci�
+ abort eset�n?
+ Mi�rt vannak probl�m�k a serial oszlopok sz�moz�s�val?
+
+ A p�rhuzamoss�g fejleszt�se �rdek�ben a sorozat sz�mokat k�r�sre
+ adja ki a szerver fut� tranzakci�knak, �s azokat nem z�rja, amig
+ a tranzakci� v�get nem �r. Ez jukakat okoz a sz�moz�sokban a
+ visszaforditott tranzakci�k miatt.
+
+ 4.16) Mi a OID? Mi a TID?
+
+ Az OID a PostgreSQL egyedi sor azonosit�ja. Minden sor, ami l�trej�n
+ a szerveren, kap egy OID-t. Minden OID, amit az initdb alatt j�n l�tre
+ 16384 alatt van (l�sd include/access/transam.h). Minden, felhaszn�l�
+ �ltal l�trehozott OID legal�bb ennyi. Alap�rtelmez�sben, az OID
+ nem csak a t�bl�ban vagy az adatb�zisban egyedi, hanem a teljes
+ PostgreSQL adatb�zis rendszerben.
+
A PostgreSQL az OID-okat a bels� t�bl�iban haszn�lja a sorok t�bl�k
k�z�tt �sszekapcsol�s�hoz. Ezek az OID-k haszn�lhat�ak a rekordok
- azonosit�s�ra is amikor t�bl�kat csatol �ssze a szerver (JOIN). Az
- OID-ot haszn�lhatod mez� t�pusk�nt is, �s indexelheted is. Az OID
- �rt�k egy k�zponti ter�letr�l sz�rmazik, amit minden szerver processz
- haszn�l. Ha az OID-ot valami m�sra szeretn�d cser�lni: 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'; Az OID 4 byte-os integer �rt�kk�nt t�rol�dik, igy
- 4 milli�rdn�l t�lcsordul. M�g soha senki nem jelezte hogy ez t�rt�nt
- volna, �s ezt a korl�tot igyeksz�nk elt�volitani, m�g miel�tt b�rki
- �szrevenn�. A TID a fizikai sorok blokk �s offszet c�mmel val�
- azonosit�s�ra szolg�l. A TID v�ltozik minden rekord m�dosit�s �s
- t�rl�s alkalm�val. Ezeket az indexek haszn�lj�k hogy a fizikai sort
- gyorsan megtal�lj�k. 4.17) Mi a PostgreSQL-ben haszn�lt kifejez�sek
- jelent�se? N�hol a forr�s k�dban �s a dokumnet�ci�ban tal�lhat�ak
- kifejez�sek, amelyek �ltal�nosabb jelent�ssel b�rnak. Itt van n�h�ny:
- * t�bla (table), rel�ci� (relation), oszt�ly (class) * sor (row),
- rekord (record), tuple (nincs magyar jelent�s) * oszlop (column), mez�
- (field), attributum (attribute) * retrieve, select * helyettesit
- (replace), m�dosit (update) * hozz�f�z (append), besz�r (insert) *
- OID, sorozat �rt�k (serial value) * portal, cursor * range variable,
- t�bla n�v, t�bla alias Az �ltal�nos adatb�zis kifejez�sek
- �sszefoglal�j�t itt olvashat�:
+ azonosit�s�ra is amikor t�bl�kat csatol �ssze a szerver (JOIN).
+ Az OID-ot haszn�lhatod mez� t�pusk�nt is, �s indexelheted is.
+
+ Az OID �rt�k egy k�zponti ter�letr�l sz�rmazik, amit minden szerver
+ processz haszn�l. Ha az OID-ot valami m�sra szeretn�d cser�lni:
+ 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';
+
+ Az OID 4 byte-os integer �rt�kk�nt t�rol�dik, igy 4 milli�rdn�l t�lcsordul.
+ M�g soha senki nem jelezte hogy ez t�rt�nt volna, �s ezt a korl�tot
+ igyeksz�nk elt�volitani, m�g miel�tt b�rki �szrevenn�.
+
+ A TID a fizikai sorok blokk �s offszet c�mmel val� azonosit�s�ra szolg�l.
+ A TID v�ltozik minden rekord m�dosit�s �s t�rl�s alkalm�val. Ezeket az
+ indexek haszn�lj�k hogy a fizikai sort gyorsan megtal�lj�k.
+
+ 4.17) Mi a PostgreSQL-ben haszn�lt kifejez�sek jelent�se?
+
+ N�hol a forr�s k�dban �s a dokumnet�ci�ban tal�lhat�ak kifejez�sek,
+ amelyek �ltal�nosabb jelent�ssel b�rnak. Itt van n�h�ny:
+ * t�bla (table), rel�ci� (relation), oszt�ly (class)
+ * sor (row), rekord (record), tuple (nincs magyar jelent�s)
+ * oszlop (column), mez� (field), attributum (attribute)
+ * retrieve, select
+ * helyettesit (replace), m�dosit (update)
+ * hozz�f�z (append), besz�r (insert)
+ * OID, sorozat �rt�k (serial value)
+ * portal, cursor
+ * range variable, t�bla n�v, t�bla alias
+
+ Az �ltal�nos adatb�zis kifejez�sek �sszefoglal�j�t itt olvashat�:
http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary
- /glossary.html 4.18) Mi�rt kapom ezt a hib�t: "ERROR: Memory exhausted
- in AllocSetAlloc()"? Lehet hogy elfogyott a virtu�lis mem�ri�d, vagy a
- kerneled er�forr�s korl�tai alacsonyak. Pr�b�ld ki ezt miel�tt
- elinditan�d a postmastert: ulimit -d 262144 limit datasize 256m A
- shellt�l f�gg�en ezek k�z�l csak az egyik fut majd le, de a processzek
- adatszegmens�t sokkal magasabbra �llitja, ami tal�n el�g lesz a
- lek�rdez�s v�grehajt�s�hoz. Ez az utas�t�s a jelenlegi processzre (a
- shelled) �rv�nyes, �s minden �ltala l�trehozott processzre. Ha
- probl�m�d van az SQL klienssel, mert a szerver t�l nagy adatot k�ld
- vissza, pr�b�ld meg e klienssel is ugyanezt. 4.19) Hogyan tudhatom meg
- PostgreSQL, milyen verzi�t futtatok? A psql programban select
- version(); 4.20) Mi�rt kapok "invalid large obj descriptor" hib�t nagy
- objektumok kezel�s�n�l? A nagy objektumok kezel�s�t egy tranzakci�s
- blokkban helyezd el. (BEGIN �s COMMIT k�z�tt) Jelenleg a PostgreSQL
- ezt a szab�lyt azzal teszi k�telez�v�, hogy a tranzakci� v�g�n a nagy
- objektumokat lez�rja, igy a tranzakci� ut�n az els� m�velet amit az
- objektumon v�grahajtan�l hib�s lesz. Ha olyan programoz�si fel�letet
- haszn�lsz mint az ODBC vagy a JDBC akkor val�szin�leg ki kell
- kapcsolnod az auto-commit-ot. 4.21) Hogy hozhatok l�tre olyan
- oszlopot, aminek alap�rtelmezett �r�tke a jelenlegi id�? Haszn�ld a
- CURRENT_TIMESTAMP -ot: CREATE TABLE test (x int, modtime timestamp
- DEFAULT CURRENT_TIMESTAMP ); 4.22) Mi�rt olyan lass�ak az
- al-lek�rdez�seim IN-nel? Jelenleg az al-lek�rdez�seket a k�ls�
- lek�rdez�shez csatoljuk. Ha az allek�rdez�s csak kev�s sort eredm�nyez
- �s a k�ls� lek�rdez�s sokat, akkor az IN is gyors. Az EXISTS kulcssz�
- haszn�lat�val gyorsithatod a lek�rdez�seket. SELECT * FROM tab WHERE
- col IN (SELECT subcol FROM subtab); EXISTS haszn�lat�val: SELECT *
- FROM tab WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
- Ahhoz hogy ez gyorsan fusson le, a subcol indexelt oszlopnak kell hogy
- legyen. Rem�lj�k ezt a korl�tot siker�l hamarosan legy�zn�nk. 4.23)
- Hogyan tudok outer join-t v�grehajtani? A PostgreSQL a szabv�nyos SQL
- szintaktik�t k�veti. Itt van k�t p�lda: SELECT * FROM t1 LEFT OUTER
- JOIN t2 ON (t1.col = t2.col); vagy SELECT * FROM t1 LEFT OUTER JOIN t2
- USING (col); Ezek az identikus lek�rdez�sek �sszekapcsolj�k a t1.col
- �s a t2.col mez�ket, �s a t1 b�rmelyik kapcsolatlan sor�t is
- visszadj�k. A RIGHT JOIN a t2 kapcsolatlan sorait adta volna vissza, a
- FULL JOIN pedig a kapcsolt, �s mindk�t t�bla kapcsolatlan sorait adja.
- Az OUTER kulcssz� opcion�lis, a LEFT, RIGHT �s FULL JOIN
- szintaktikailag helyes. Az �tlagos �sszekapcsol�sokat INNER JOIN-nak
- nevezz�k. Az el�z� kiad�sokban a OUTER JOIN lek�rdez�seket UNION �s
- NOT IN kulcsszavakkal lehetett szimul�lni. P�ld�ul a tab1 �s a tab2
- �sszekapcsol�sa: SELECT tab1.col1, tab2.col2 FROM tab1, tab2 WHERE
- tab1.col1 = tab2.col1 UNION ALL SELECT tab1.col1, NULL FROM tab1 WHERE
- tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) ORDER BY col1 4.24)
- Hogyan tudok t�bb adatb�zison v�grehajtani lek�rdez�st? Arra nincs
- lehet�s�g, hogy m�s adatb�zisb�l k�rdezz le adatot. Mivel a PostgreSQL
- adatb�zis specifikus rendszer t�bl�kat t�lt be, bizonytalan hogy egy
- adatb�zisok k�z�tti lek�rdez�snek hogyan kellene viselkednie. A
- contrib/dblink k�nyvt�rban tal�lsz egy megold�st erre, ami funkci�
- hiv�sok segits�g�vel m�k�dik. Persze, a kliens hozhat l�tre szimult�n
- kapcsolatot t�bb adatb�zissal, �s �sszef�s�lheti az eredm�nyeket.
- 4.25) Hogy tudok t�bb soros vagy oszlopos eredm�nyt visszaadni egy
- funkci�b�l? A PL/pgSQL t�rolt elj�r�s nyelvvel refcursor
- haszn�lat�val. R�szletesen itt:
- http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html 4.26)
- Mi�rt nem tudom megbizhat�an l�trehozni �s t�r�lni az �tmeneti
- t�bl�kat a PL/pgSQL funkci�kban? A PL/pgSQL cacheli a funkci�k
- tartalm�t, aminek az a szerencs�tlen mell�khat�sa, hogy ha egy
- PL/pgSQL funkci� haszn�l egy �tmeneti t�bl�t, ami k�s?bb t�rl�dik majd
- ujra l�trej�n, akkor az �jra lefut� funkci� nem fogja megtal�lni a
- t�bl�t, mert a cache v�ltozat a r�gi t�bl�ra tartalmaz mutat�t. A
- megold�s erre az EXECUTE utas�t�s haszn�lata az �tmeneti t�bl�k
- kezel�s�re PL/pgSQL-ben. Ez a lek�rdez�s �jraford�t�s�t fogja
- el�id�zni minden alkalommal. 4.27) Milyen replik�ci�s lehet�s�gek
- vannak? Sz�mos master/slave replik�ci�s lehet�s�g l�tezik. Ez csak a
- master adatb�zis sz�m�ra teszi lehet�v�, hogy az adatokat v�ltoztassa.
- Egy List�t olvashatsz ezekr�l itt:
- http://gborg.PostgreSQL.org/genpage?replication_research Egy
- t�bbfelhaszn�l�s replik�ci�s rendszer k�sz�l itt:
+ /glossary.html
+
+ 4.18) Mi�rt kapom ezt a hib�t: "ERROR: Memory exhausted in
+ AllocSetAlloc()"?
+
+ Lehet hogy elfogyott a virtu�lis mem�ri�d, vagy a kerneled er�forr�s
+ korl�tai alacsonyak. Pr�b�ld ki ezt miel�tt elinditan�d a postmastert:
+ ulimit -d 262144
+ limit datasize 256m
+
+ A shellt�l f�gg�en ezek k�z�l csak az egyik fut majd le, de a
+ processzek adatszegmens�t sokkal magasabbra �llitja, ami tal�n
+ el�g lesz a lek�rdez�s v�grehajt�s�hoz. Ez az utas�t�s a jelenlegi
+ processzre (a shelled) �rv�nyes, �s minden �ltala l�trehozott
+ processzre. Ha probl�m�d van az SQL klienssel, mert a szerver
+ t�l nagy adatot k�ld vissza, pr�b�ld meg e klienssel is ugyanezt.
+
+ 4.19) Hogyan tudhatom meg PostgreSQL, milyen verzi�t futtatok?
+
+ A psql programban select version();
+
+ 4.20) Mi�rt kapok "invalid large obj descriptor" hib�t nagy objektumok
+ kezel�s�n�l?
+
+ A nagy objektumok kezel�s�t egy tranzakci�s blokkban helyezd el.
+ (BEGIN �s COMMIT k�z�tt)
+
+ Jelenleg a PostgreSQL ezt a szab�lyt azzal teszi k�telez�v�, hogy a
+ tranzakci� v�g�n a nagy objektumokat lez�rja, igy a tranzakci� ut�n
+ az els� m�velet amit az objektumon v�grahajtan�l hib�s lesz.
+
+ Ha olyan programoz�si fel�letet haszn�lsz mint az ODBC vagy a JDBC
+ akkor val�szin�leg ki kell kapcsolnod az auto-commit-ot.
+
+
+ 4.21) Hogy hozhatok l�tre olyan oszlopot, aminek alap�rtelmezett
+ �r�tke a jelenlegi id�?
+
+ Haszn�ld a CURRENT_TIMESTAMP -ot:
+ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
+
+ 4.22) Mi�rt olyan lass�ak az al-lek�rdez�seim IN-nel?
+
+ Jelenleg az al-lek�rdez�seket a k�ls� lek�rdez�shez csatoljuk. Ha
+ az allek�rdez�s csak kev�s sort eredm�nyez �s a k�ls� lek�rdez�s
+ sokat, akkor az IN is gyors. Az EXISTS kulcssz� haszn�lat�val
+ gyorsithatod a lek�rdez�seket.
+ SELECT *
+ FROM tab
+ WHERE col IN (SELECT subcol FROM subtab);
+
+ EXISTS haszn�lat�val:
+ SELECT *
+ FROM tab
+ WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
+
+ Ahhoz hogy ez gyorsan fusson le, a subcol indexelt oszlopnak kell
+ hogy legyen. Rem�lj�k ezt a korl�tot siker�l hamarosan legy�zn�nk.
+
+ 4.23) Hogyan tudok outer join-t v�grehajtani?
+
+ A PostgreSQL a szabv�nyos SQL szintaktik�t k�veti. Itt van k�t p�lda:
+ SELECT *
+ FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
+
+ vagy
+ SELECT *
+ FROM t1 LEFT OUTER JOIN t2 USING (col);
+
+ Ezek az identikus lek�rdez�sek �sszekapcsolj�k a t1.col �s a t2.col
+ mez�ket, �s a t1 b�rmelyik kapcsolatlan sor�t is visszadj�k. A RIGHT
+ JOIN a t2 kapcsolatlan sorait adta volna vissza, a FULL JOIN pedig
+ a kapcsolt, �s mindk�t t�bla kapcsolatlan sorait adja. Az OUTER
+ kulcssz� opcion�lis, a LEFT, RIGHT �s FULL JOIN szintaktikailag
+ helyes. Az �tlagos �sszekapcsol�sokat INNER JOIN-nak nevezz�k.
+
+ Az el�z� kiad�sokban a OUTER JOIN lek�rdez�seket UNION �s NOT IN
+ kulcsszavakkal lehetett szimul�lni. P�ld�ul a tab1 �s a tab2
+ �sszekapcsol�sa:
+ SELECT tab1.col1, tab2.col2
+ FROM tab1, tab2
+ WHERE tab1.col1 = tab2.col1
+ UNION ALL
+ SELECT tab1.col1, NULL
+ FROM tab1
+ WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
+ ORDER BY col1
+
+ 4.24) Hogyan tudok t�bb adatb�zison v�grehajtani lek�rdez�st?
+
+ Arra nincs lehet�s�g, hogy m�s adatb�zisb�l k�rdezz le adatot.
+ Mivel a PostgreSQL adatb�zis specifikus rendszer t�bl�kat t�lt
+ be, bizonytalan hogy egy adatb�zisok k�z�tti lek�rdez�snek hogyan
+ kellene viselkednie.
+
+ A contrib/dblink k�nyvt�rban tal�lsz egy megold�st erre, ami
+ funkci� hiv�sok segits�g�vel m�k�dik. Persze, a kliens hozhat l�tre
+ szimult�n kapcsolatot t�bb adatb�zissal, �s �sszef�s�lheti az
+ eredm�nyeket.
+
+ 4.25) Hogy tudok t�bb soros vagy oszlopos eredm�nyt visszaadni egy
+ funkci�b�l?
+
+ A PL/pgSQL t�rolt elj�r�s nyelvvel refcursor haszn�lat�val.
+ R�szletesen itt:
+ http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html
+
+ 4.26) Mi�rt nem tudom megbizhat�an l�trehozni �s t�r�lni az �tmeneti
+ t�bl�kat a PL/pgSQL funkci�kban?
+
+ A PL/pgSQL cacheli a funkci�k tartalm�t, aminek az a szerencs�tlen
+ mell�khat�sa, hogy ha egy PL/pgSQL funkci� haszn�l egy �tmeneti
+ t�bl�t, ami k�s?bb t�rl�dik majd ujra l�trej�n, akkor az �jra lefut�
+ funkci� nem fogja megtal�lni a t�bl�t, mert a cache v�ltozat a r�gi
+ t�bl�ra tartalmaz mutat�t. A megold�s erre az EXECUTE utas�t�s
+ haszn�lata az �tmeneti t�bl�k kezel�s�re PL/pgSQL-ben. Ez a
+ lek�rdez�s �jraford�t�s�t fogja el�id�zni minden alkalommal.
+
+ 4.27) Milyen replik�ci�s lehet�s�gek vannak?
+
+ Sz�mos master/slave replik�ci�s lehet�s�g l�tezik. Ez csak a master
+ adatb�zis sz�m�ra teszi lehet�v�, hogy az adatokat v�ltoztassa. Egy
+ List�t olvashatsz ezekr�l itt:
+ http://gborg.PostgreSQL.org/genpage?replication_research
+
+ Egy t�bbfelhaszn�l�s replik�ci�s rendszer k�sz�l itt:
http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php.
- 4.28) Milyen k�dol�si lehet�s�gek vannak? - A contrib/pgcrypto
- tartlamaz sz�mos SQL lek�rdez�sben haszn�lhat� k�dol�st. - A
- kliens-szerver kommunik�ci� rejtjelez�s�re a hostssl haszn�lhat�. Ezt
- a pg_hba.conf-ben enged�lyeztheted. - Az adatb�zis felhszn�l�k
- jelszavait t�rol�skor k�dolja a rendszer. R�gebbi verzi�kban a
- PASSWORD_ENCRYPTION opci�val lehetett bekapcsolni. - A szerveren
- haszn�lhatsz k�dolt f�jrendszert.
- _________________________________________________________________ A
- PostgreSQL kiterjeszt�se 5.1) �rtam egy felhaszn�l�i funkci�t. Mi�rt
- core dumpol az adatb�zis amikor haszn�lom? Sz�mos probl�ma lehet.
- El�bb prob�ld ki a funkci�dat egy k�l�n�ll� alkalmaz�sban. 5.2) Hogyan
- lehet �j adatt�pusokat �s funkci�kat hozz�adni a PostgreSQL
- disztrib�ci�hoz? K�ldd el a kieg�sz�t�seid a pgsql-hackers levelez�si
- list�ra �s a forr�skodjaid v�g�l a contrib-ban k�tnek ki. 5.3) Hogyan
- lehet olyan C funkci�t �rni, ami Tuple-t ad vissza? A 7.3 verzi�t�l
- kezdve a PostgreSQL t�mogatja a t�bl�zatokat viszzaad� funkci�kat C,
- PL/pgSQL �s SQL nyelveken. B�vebb dokument�ci�t a Programoz�
- k�zik�nyvben tal�lsz. Egy C p�lda funkci� tal�lhat� a
- contrib/tablefunc k�nyvt�rban. 5.4) Megv�ltoztattam egy forr�s
- �llom�nyt. Mi�rt nem v�ltozik a bin�ris �jraford�t�s ut�n? A
- Makefile-ok nem ismerik a include �llom�nyok megfelel� f�gg�s�geit.
+
+ 4.28) Milyen k�dol�si lehet�s�gek vannak?
+
+ - A contrib/pgcrypto tartlamaz sz�mos SQL lek�rdez�sben haszn�lhat� k�dol�st.
+ - A kliens-szerver kommunik�ci� rejtjelez�s�re a hostssl haszn�lhat�.
+ Ezt a pg_hba.conf-ben enged�lyeztheted.
+ - Az adatb�zis felhszn�l�k jelszavait t�rol�skor k�dolja a rendszer.
+ R�gebbi verzi�kban a PASSWORD_ENCRYPTION opci�val lehetett
+ bekapcsolni.
+ - A szerveren haszn�lhatsz k�dolt f�jrendszert.
+ _________________________________________________________________
+
+ A PostgreSQL kiterjeszt�se
+
+ 5.1) �rtam egy felhaszn�l�i funkci�t. Mi�rt core dumpol az adatb�zis amikor
+ haszn�lom?
+
+ Sz�mos probl�ma lehet. El�bb prob�ld ki a funkci�dat egy k�l�n�ll�
+ alkalmaz�sban.
+
+ 5.2) Hogyan lehet �j adatt�pusokat �s funkci�kat hozz�adni a PostgreSQL
+ disztrib�ci�hoz?
+
+ K�ldd el a kieg�sz�t�seid a pgsql-hackers levelez�si list�ra �s a
+ forr�skodjaid v�g�l a contrib-ban k�tnek ki.
+
+ 5.3) Hogyan lehet olyan C funkci�t �rni, ami Tuple-t ad vissza?
+
+ A 7.3 verzi�t�l kezdve a PostgreSQL t�mogatja a t�bl�zatokat
+ viszzaad� funkci�kat C, PL/pgSQL �s SQL nyelveken. B�vebb
+ dokument�ci�t a Programoz� k�zik�nyvben tal�lsz. Egy C p�lda
+ funkci� tal�lhat� a contrib/tablefunc k�nyvt�rban.
+
+ 5.4) Megv�ltoztattam egy forr�s �llom�nyt. Mi�rt nem v�ltozik a bin�ris
+ �jraford�t�s ut�n?
+
+ A Makefile-ok nem ismerik a include �llom�nyok megfelel� f�gg�s�geit.
V�gre kell hajtanod egy make clean-t, majd �jra egy make-t. Ha GCC-t
haszn�lsz felhaszn�lhatod a configure script --enable-depend opci�j�t,
�gy a compiler maga fogja ellen�rizni a f�gg�s�geket.
+
+