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