diff options
Diffstat (limited to 'doc/src/FAQ/FAQ_hungarian.html')
-rw-r--r-- | doc/src/FAQ/FAQ_hungarian.html | 1668 |
1 files changed, 0 insertions, 1668 deletions
diff --git a/doc/src/FAQ/FAQ_hungarian.html b/doc/src/FAQ/FAQ_hungarian.html deleted file mode 100644 index af03d0cbbcb..00000000000 --- a/doc/src/FAQ/FAQ_hungarian.html +++ /dev/null @@ -1,1668 +0,0 @@ -<!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ó módosítás dátuma: 2005 május 9.</pre> -<pre>Fordítás aktualizálása: 2005 június</pre> -<pre><br> -A GyIK karbantartója: Bruce Momjian (<a - href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)</pre> -<pre>Fordító: Hornyák László<br>(<a - href="mailto:laszlo.hornyak.nospam@gmail.com">laszlo.hornyak.nospam@gmail.com</a>)</pre> -<pre><br> -A legfrissebb verzió itt érhetõ 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û verzió:</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érdé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>Általános kérdé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álási -feltételei?<br> -<a href="#1.3">1.3</a> Milyen UNIX operációs -rendszereken fut PostgreSQL?<br> -<a href="#1.4">1.4</a> Milyen nem UNIX operációs -rendszerek elérhetõ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éktámogatást?<br> -<a href="#1.7">1.7</a> Melyik a legfrissebb kiadás?<br> -<a href="#1.8">1.8</a> Milyen dokumentáció áll -rendelkezésre?<br> -<a href="#1.9">1.9</a> Hogyan találok információt -hibákról vagy hiányzó -funkcionalításró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. év kompatibilis?<br> -<a href="#1.12">1.12</a> Hogyan lehet csatlakozni a fejlesztõ -csapathoz?<br> -<a href="#1.13">1.13</a> Hogyan küldjek hibajelentést?<br> -<a href="#1.14">1.14</a> Milyen a PostgreSQL más DBMS-ekkel -összehasonlítva?<br> -<a href="#1.15">1.15</a> Hogyan tudom üzletileg segiteni a -PostgreSQL-t?<br> -<a href="#1.16">1.16</a> Ki irányítja a PostgreSQL-t?<br> -<br> -<div style="text-align: center;"> -<h2>Felhasználói kliens kérdések</h2> -</div> -<br> -<a href="#2.1">2.1</a> Van ODBC meghajtó PostgreSQL-hez?<br> -<a href="#2.2">2.2</a> Milyen eszközök állnak -rendelkezésre PostgreSQL Web fejlesztésekhez?<br> -<a href="#2.3">2.3</a> Van a PostgreSQL-hez grafikus -felhasználói felület ? Riport generátor? -Beágyazott lekérdezõ nyelv felület?<br> -<a href="#2.4">2.4</a> Milyen programozási nyelvekkel lehet -elérni a PostgreSQL szervert?<br> -<br> -<div style="text-align: center;"> -<h2>Adminisztrációs kérdések</h2> -</div> -<br> -<a href="#3.1">3.1</a> Hogyan tudom a PostgreSQL-t /usr/local/pgsql --tõl eltérõ helyre installálni?<br> -<a href="#3.2">3.2</a> AMikor elindítom a postmaster-t, egy -"Bad System Call"-t vagy core dump-ot kapok. Miért?<br> -<a href="#3.3">3.3</a> Amikor megpróbálom inditani a -postmaster-t, "IpcMemoryCreate" hibákat kapok. Miért?<br> -<a href="#3.4">3.4</a> Amikor megpróbálom inditani a -postmaster-t, "IpcSemaphoreCreate" hibákat kapok. Miért?<br> -<a href="#3.5">3.5</a> Hogyan tudom kontrollálni a más -gépekrõl érkezõ kapcsolat -kéréseket?<br> -<a href="#3.6">3.6</a> Hogyan tudom nagyobb -teljesítményre hangolni az -adatbázisomat?<br> -<a href="#3.7">3.7</a> Milyen hibakeresõ -lehetõségek -érhetõek el?<br> -<a href="#3.8">3.8</a> Miért kapok "Sorry, too many clients" -hibát -csatlakozásnál?<br> -<a href="#3.9">3.9</a> Mi van pgsql_tmp könyvtárban?<br> -<a href="#3.10">3.10</a> Miért kell dumpolni és -újratölteni -PostgreSQL kiadás váltásánál?<br> -<br> -<div style="text-align: center;"> -<h2>Mûködtetési kérdések</h2> -</div> -<br> -<a href="#4.1">4.1</a> Mi a különbség a bináris -és a -normál kurzorok között?<br> -<a href="#4.2">4.2</a> Hogyan tudom select-elni a -lekérdezés elsõ -pár sorát?<br> -<a href="#4.3">4.3</a> Hogy tudom kilistázni a -táblákat vagy -más dolgokat a PostgreSQL-ben?<br> -<a href="#4.4">4.4</a> Hogyan tudok eltávolítani egy -oszlopot egy -táblából?<br> -<a href="#4.5">4.5</a> Mi a maximális mérete egy sornak, -egy -táblának vagy egy adatbázisnak?<br> -<a href="#4.6">4.6</a> Mekkora adatbázis lemez terület -szükséges -egy tipikus szöveg állomány -tárolásához?<br> -<a href="#4.7">4.7</a> Hogy tudhatom meg milyen táblák, -indexek, -adatbázisok vagy felhasználók vannak -definiálva?<br> -<a href="#4.8">4.8</a> A lekérdezéseim lassúak, -vagy nem -használják az indexeket. Miért?<br> -<a href="#4.9">4.9</a> Hogy tudom ellenõrizni, hogy -optimalizálta a -lekérdezés optimalizáló a -lekérdezé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ést és -case-insensitive -regexp keresést használni? Hogyan tudok indexet -használni case-insensitive kereséshez?<br> -<a href="4.13">4.13</a> Hogyan tudom észlelni egy -lekérdezésban, ha -egy mezõ NULL?<br> -<a href="#4.14">4.14</a> Mi a különbség a -különbözõ -karaktertípusok között?<br> -<a href="#4.15.1">4.15.1</a> Hogyan tudok létrehozni -automatikusan -növekvõ értékû mezõt?<br> -<a href="#4.15.2">4.15.2</a> Hogyan kaphatom meg egy SERIAL -beszúrás -értékét?<br> -<a href="#4.15.3">4.15.3</a> A currval() és a nextval() nem -teremt holtpont -veszélyes helyzetet a felhasználók -között?<br> -<a href="#4.15.4">4.15.4</a> 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?<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ált -kifejezések -jelentése?<br> -<a href="#4.18">4.18</a> Miért kapom ezt a hibát: "ERROR: -Memory exhausted -in AllocSetAlloc()"?<br> -<a href="#4.19">4.19</a> Hogyan tudhatom meg PostgreSQL, milyen -verziót futtatok?<br> -<a href="#4.20">4.20</a> Miért kapok "invalid large obj -descriptor" hibát -nagy objektumok kezelésénél?<br> -<a href="#4.21">4.21</a> Hogy hozhatok létre olyan oszlopot, -aminek -alapértelmezett érétke a jelenlegi idõ?<br> -<a href="#4.22">4.22</a> Miért olyan lassúak az -al-lekérdezéseim IN-nel?<br> -<a href="#4.23">4.23</a> Hogyan tudok outer join-t végrehajtani?<br> -<a href="#4.24">4.24</a> Hogyan tudok több adatbázison -végrehajtani -lekérdezést?<br> -<a href="#4.25">4.25</a> Hogy tudok több soros vagy oszlopos -eredményt -visszaadni egy funkcióból?<br> -<a href="#4.26">4.26</a> Miért nem tudom megbizhatóan -létrehozni -és törölni az átmeneti táblákat a -PL/pgSQL funkciókban?<br> -<a href="#4.27">4.27</a> Milyen replikációs -lehetõségek vannak?<br> -<a href="#4.28">4.28</a> Milyen kódolási -lehetõségek vannak?<br> -<br> -<div style="text-align: center;"> -<h2>A PostgreSQL kiterjesztése</h2> -</div> -<br> -<a href="#5.1">5.1</a>) Írtam egy felhasználói -funkciót. -Miért core dumpol az adatbázis amikor használom?<br> -<a href="#5.1">5.2</a>) Hogyan lehet új adattípusokat -és -funkciókat hozzáadni a PostgreSQL -disztribúcióhoz?<br> -<a href="#5.3">5.3</a>) Hogyan lehet olyan C funkciót -írni, ami Tuple-t ad -vissza? (több soros több oszlopos eredmények)<br> -<a href="#5.4">5.4</a>) Megváltoztattam egy forrás -állományt. -Miért nem változik a bináris -újrafordítás után?<br> -<hr style="width: 100%; height: 2px;"> -<h2 style="text-align: center;"> Általános -kérdések</h2> -<br> -<a name="1.1"></a><big style="text-decoration: underline;">1.1 Mi a -PostgreSQL? Hogy kell kimondani?</big><br> -<p>Így ejstd ki: Post-Gres-Q-L.</p> -<p>(Vagy talán inkább töltsd le a kis mp3-at a -PostgreSQL homepage-rõl)</p> -<p>A PostgreSQL a POSTGRES adatbázis management rendszer egy -kiegészítése, ami egy következõ -generációs DBMS kutatási prototípus. -Megtartja a POSTGRES adatmodellét és gazdag -adattípus választékát, de a PostQuel -lekérdezõ nyelvet az SQL egy kiterjesztett -verziójával helyettesíti. A PostgreSQL szabad -és a teljes forráskód -hozzáférhetõ.</p> -<p>A PostgreSQL fejlesztését egy csapat végzi, -amelynek minden tagja megtalálható a PostgreSQL -fejlesztõi levelezési listán. A jelenlegi -koordinátor -Marc G. Fournier (scrappyp@PostgreSQL.org). Ez a csapat felelõs -minden fejlesztésért. <>A PostgreSQL 1.01 -alkotói -Andrew Yu és Jolly Chen voltak. Sokan járultak -hozzá portolással, teszteléssel, -hibakereséssel és fejlesztéssel. Az eredeti -Postgres kód, amibõl a PostgreSQL származik -Michael Stonebraker professzor irányítása alatt -fejlesztettek az egyetem programozói, tanulói és -végzett tanulói. <></p> -<p>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. </p> -<br> -<a name="1.2"></a> <big style="text-decoration: underline;">1.2 Mik a -PostgreSQL felhasználási -feltételei?</big><br> -<br> -<pre> Az eredeti angol copyright szö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û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. -<p> Kedveljük ezt a licensz formát és nem áll -szándékunkban megváltoztatni.</p> -<a name="1.3"></a> <big><span style="text-decoration: underline;">1.3 -Milyen UNIX operációs -rendszereken fut PostgreSQL?</span></big><br> -<p>Általában minden UNIX-kompatibilis -operációs rendszer képes arra hogy futtassa a -PostgreSQL-t. Azokat a platformokat, amiken tesztelték a -kiadást -megtalálhatod a installációs -utasítások között. </p> -<a name="1.4"></a> <big><span style="text-decoration: underline;">1.4 -Milyen nem UNIX operációs -rendszerek elérhetõek?</span></big><br> -<br> -<p>Kliens<br> -</p> -<p>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.</p> -<p> -Szerver</p> -<>Az adatbázis szerver Cygwin -segítségével -fut Windows NT és Win2k rendszereken. További -információ -található a pgsql/doc/FAQ_MSWIN állományban -és a MS Windows FAQ-ban a következõ helyen: <a - href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</a>. -Natív MS Windows NT/2000/XP portok jelenleg fejlesztés -alatt á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õdleges anonim ftp oldal: <a - href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a>. </p> -<p>A tükör oldalak listája megtalálható -a -fõ weboldalunkon.</p> -<a name="1.6"></a> <big style="text-decoration: underline;">1.6 Hogyan -kapok -terméktámogatást?</big><br> -<br> -<p>Az elsõdleges lista a <a - href="mailto:pgsql-general@postgresql.org">pgsql-general@postgresql.org</a>. -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<a - href="mailto:%20pgsql-general-request@postgresql.org"> -pgsql-general-request@postgresql.org</a> címre:</p> -<pre> -subscribe</pre> -<pre> -end </pre> -<br> -Van egy hibákkal kapcsolatos levelezési lista is: -pgsql-bugs-request@PostgreSQL.org a következõ tartalommal:<br> -<br> -<pre> -subscribe</pre> -<pre> -end -</pre> -<p>A fejlesztői levelezési lista:<a - href="mailto:pgsql-hackers-request@PostgreSQL.org"> -pgsql-hackers-request@PostgreSQL.org</a> a következõ -tartalommal:</p> -<pre> -subscribe</pre> -<pre> -end</pre> -<br> -Egyéb levelezési listák -található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éven ahol felteheted -kérédseid. A következõ unix paranccsal -csatlakozhatsz: -</p> -<p>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</p> -<p> -A kereskedelmi terméktámogatást -nyújtó cégek listája elérhetö -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ű levelezési lista nincs, de ha tudok segiteni a -fenit e-mail cimemen elérhető vagyok.</p> -<a name="1.7"></a> <big style="text-decoration: underline;">1.7 Melyik -a legfrissebb kiadás?</big><br> -<p>A legfrissebb PostgreSQL kiadás a 8.0.</p> -<p>A tervek szerint minden évben lesz egy nagyobb -fejlesztéseket tartalmazó kiadás, míg a -kisebb fejlesztéseket néhány havonta adjuk ki.<br> -</p> -<a name="1.8"></a> <big style="text-decoration: underline;">1.8 Milyen -dokumentáció áll -rendelkezésre?</big><br> -<p>Számos kézikönyv, man oldalak és kis teszt -példák találhatóak a kiadásban a -doc/ könyvtár alatt. Az interneten is olvashatod a -dokumentációt a következõ címen:</p> -<p><a href="http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</a>.</p> -<p>Két PostgreSQL könyv érhetõ el az -interneten -a <a href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a> -és a <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> -címeken. A megvásárolható könyvek -listája itt -található: <a href="http://www.ca.PostgreSQL.org/books/">http://www.ca.PostgreSQL.org/books/</a>. -A PostgreSQL-lel kapcsolatos technikai jellegû cikkek -gyûjteménye: <a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a>.</p> -<p>A psql parancs rendelkezik néhány \d -utasítással, amellyekkel listázhatóak az -operátorok, a funkciók, stb.</p> -<p>A website is tartalmaz további dokumentációkat.</p> -<a name="1.9"></a> <big style="text-decoration: underline;">1.9 Hogyan -találok információt -hibákról vagy hiányzó -funkcionalításról?</big><br> -<p>A PostgreSQLaz SQL-92 szabvány egy -kiegészítése. Nézd meg a TODO -listákat ha érdekelnek az ismert hibá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önyv a -<a href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a> -címen tartalmaz SQL -alapokat. Elérhetõ egy -másik SQL könyv is a <a - href="http://www.commandprompt.com/ppbook">http://www.commandprompt.com/ppbook</a> -címen. Egy szép -oktató anyag található 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> -és a <a href="http://sqlcourse.com">http://sqlcourse.com</a> -oldalakon. -</p> -<p>Egy másik lehetõség a "Tanítsd magad 21 -nap -alatt SQL-re, második kiadá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álónak tetszett a gyakorlati SQL könyv -("The Practical SQL Handbook"). </p> -<br> -<a name="1.11"></a> <big style="text-decoration: underline;">1.11 A -PostgreSQL 2000. év kompatibilis?</big><br> -<br> -<p>Igen, könnyedén kezeli a 2000 utáni és -idõszámításunk elött 2000 elötti -dátumokat is. </p> -<br> -<a name="1.12"></a> <big style="text-decoration: underline;">1.12 -Hogyan lehet csatlakozni a fejlesztõ -csapathoz?</big><br> -<br> -Elösször is töltsd le a forráskódot, -és olvasd el a PostgreSQL<br> -fejlesztõi dokumnetációt a web oldalunkon vagy a -kiadásban. Ezután<br> -íratkozz fel a pgsql-hackers és a pgsql-patches -levelezési listákra.<br> -Végül pedig küldj be magas szinvonalú -patch-eket a pgsql-patches listára.<br> -<br> -Van egy pár ember, akiknek commit privilégiumuk a -PostgreSQL CVS fán.<br> -Õk olyan sok magas szinvonalú patch-et küldtek be, -hogy az addigi <br> -csapat már nem tudta követni, és nem volt -kétségünk arról, hogy a<br> -patch-ek amiket õk küldenek jó -minõségû.<br> -<br> -<a name="1.13"></a> <big style="text-decoration: underline;">1.13 -Hogyan küldjek hibajelentést?</big><br> -<br> -Lá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álod követendõ utasításokat.<br> -<br> -Ellenõrizd az ftp oldalunkon is, hogy nincs-e újabb -verzió 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ás DBMS-ekkel -összehasonlítva?</big><br> -<p>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.</p> -<span style="text-decoration: underline;">Képességek:</span> -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. -<p><span style="text-decoration: underline;">Teljesítmény:</span> -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 -<a href="http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html -</a>címen. -</p> -<p><span style="text-decoration: underline;">Megbízhatóság:</span> -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. -</p> -<p></p> -<p><span style="text-decoration: underline;">Támogatás:</span> -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). -</p> -<p></p> -<p><span style="text-decoration: underline;">Ár:</span> 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.</p> -<a name="1.15"></a> <big style="text-decoration: underline;">1.15 -Hogyan tudom üzletileg segiteni a -PostgreSQL-t?</big><br> -<p>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. -</p> -<p>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 <a - href="http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</a> -oldalra.</p> -<p> -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.</p> -<p><big style="text-decoration: underline;"><a name="1.16"></a>1.16 Ki -irányí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özponti bizottságot, ellenörző 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örző célú. A projectet fejlesztők -és felhasználók közössége -irányítja, amihez bárki csatlakozhat. -Csupán annyit kell tenned hogy felíratkozol a -levelezőlistékra és részt veszel a -beszélgeté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álói kliens -kérdések</h2> -<br> -<a name="2.1"></a> <big style="text-decoration: underline;">2.1 Van -ODBC meghajtó PostgreSQL-hez?</big><br> -<p>Két ODBC meghajtó érhetõ el: PsqlODBC -és a OpenLink ODBC.</p> -<p>A PsqlODBC a PostgreSQL kiadás része. További -információ található a -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ímrõl -töltheted le. Ez az õ szabványos ODBC kliens -szoftverükkel -mûködik, így minden</p> -<p>általuk támogatott platformon (Win, Mac, Unix, VMS) -elérhetõ lesz a PostgreSQL szerver.</p> -<p>Talán olyan vevõknek fogják eladni, akik -kereskedelmi minõségû terméket -szeretnének kapni, de a freeware verzió mindig -elérhetõ lesz. Kérdéseidet a -termékkel kapcsolatban a postgres95@openlink.co.uk -címen teheted fel.</p> -<p>Olvasd el az ODBC fejezetet is a programozók -kézikönyvében!</p> -<p><a name="2.2"></a><big style="text-decoration: underline;">2.2 -Milyen -eszközök állnak -rendelkezésre PostgreSQL Web fejlesztésekhez?</big></p> -<p>Egy szép bemutató olvasható az -adatbázissal -támogatott web oldalanról a http://www.webreview.com -weboldalon.</p> -<p>A web integrációhoz a PHP egy kiválló -szoftver. Letölthetõ a <a href="http://www.php.net">http://www.php.net</a> -címrõl. </p> -<p>Komplexebb esetekre sokan használják a Perl -felületet é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álói felület?</big></p> -<p>Van egy szép PgAccess nevû grafikus -felületünk, -ami riport generátorként is használható. A -weboldalát megtalálod a -<a href="http://www.pgaccess.org/">http://www.pgaccess.org/</a> -címen.</p> -<p>A <a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a> -oldalon találhatsz egy pontos és részltes -listát.<br> -</p> -<p><a name="2.4"></a><big style="text-decoration: underline;">2.4 -Milyen -programozási nyelvekkel lehet -elérni a PostgreSQL szervert?</big></p> -<p>A következö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ábbi programozási felületek -érhetõek el a <br> -<a href="http://www.PostgreSQL.org/interfaces.html"> -http://www.PostgreSQL.org/interfaces.html</a> é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ációs -kérdé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õl eltérõ helyre installálni?</span></big><br> -<p>A configure script --prefix paraméterének -használatával.</p> -<a name="3.2"></a> <big style="text-decoration: underline;">3.2 AMikor -elindítom a postmaster-t, egy -"Bad System Call"-t vagy core dump-ot kapok. Miért?</big><br> -<p>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. </p> -<p><a name="3.3"></a><big style="text-decoration: underline;">3.3 -Amikor -megpróbálom inditani a -postmaster-t, "IpcMemoryCreate" hibákat kapok. Miért?</big></p> -<p> -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.</p> -<p>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.</p> -<a name="3.4"></a><big style="text-decoration: underline;">3.4) Amikor -megpróbálom inditani a -postmaster-t, "IpcSemaphoreCreate" <br> -hibákat kapok. Miért?</big><br> -<p>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.</p> -<p>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</p> -<p>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.</p> -<p><a name="3.5"></a><big style="text-decoration: underline;">3.5) -Hogyan tudom kontrollálni a más -gépekrõl érkezõ kapcsolat -kéréseket?</big></p> -<p>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.</p> -<p><a name="3.6"></a><big style="text-decoration: underline;">3.6) -Hogyan tudom nagyobb -teljesítményre hangolni az adatbázisomat?</big></p> -<p>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.</p> -<p>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étrehozni.</p> -<p>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.</p> -<p>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 megengedett -méretet. Minden buffer 8K méretû -és alapértelmezésban 64 buffer van.</p> -<p>A -S opcióval növelheted a szerver átmeneti -rendezésekre fenntartott memória területét. -Az értéket -kilobyteban add meg. Az alapértelmezett érték -512K. </p> -<p>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.<br> -</p> -<p>Hardver kiválasztásában segí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> -és <a href="http://www.powerpostgresql.com/PerfList/">http://www.powerpostgresql.com/PerfList/</a>.<br> -</p> -<p>A postgresql.conf beállitásaival kapcsolatos -tudnivaló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> -é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õ -lehetõségek érhetõek el?</big></p> -<p>A PostgreSQL számos lehetöséggel rendelkezik ami -értékes lehet a hibakeresésnél.</p> -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.<br> -<p>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:</p> -<p>cd /usr/local/pgsql</p> -<p>./bin/postmaster >server.log 2>&1 &</p> -<p>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.</p> -<p>Ha a postmaster nem fut, akkor futtathatod a postgres szervert -parancssorból is, és az SQL kifejezést -közvetlenül ennek adhatod át. Ez csak -hibakeresés esetében javasolt. Az új sor a -kifejezés végét jelenti, nem a pontosvesszö. -Ha hibakeresö opciókkal -forditottad a szervert, használhatsz egy debuggert is hogy -lásd hogy mi -történik. Mivel igy a szervert nem a postmaster inditotta, -nem -többfelhasználós környezetként fut, igy -a zárolási és a szerverek -közötti kommunikációs hiba jelenségek -nem jelentkeznek.</p> -<p>Ha már fut a postmaster, indits egy psql-t, és -nézd meg a szerver processz PID-jét! Egy debuggert -használhatsz a processzhez -csatlakozáshoz. Beállithatsz töréspontokat -és elindithatsz -lekérdezéseket. Ha a postgres inditásban keresel -hibát, a PGOPTIONS környezeti -változót állitsd be "-W n" értékre. -Ez n másodperc várakozást -idéz elö, igy tudsz csatlakozni a processzhez, el tdsz -hejezni töréspontokat, majd -folytathatod a indítást.</p> -<p>A postgres program -s, -A és -t opciói is nagyon -hasznosak lehetnek hibakeresésnél és -teljesítmény -mérésnél.</p> -<p>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.</p> -<a name="3.8"></a> <big style="text-decoration: underline;">3.8) -Miért kapok "Sorry, too many clients" -(Túl sok kliens) <br> -hibát csatlakozásnál?</big><br> -<p>Növelned kell a postmaster egyidejûleg futtatott szerver -processz szám korlátját.</p> -<p>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.</p> -<p>Ne felejtsd el, hogy ha növeled a szerver processzek -maximális számát, akkor bufferek -számát is növelned kell, -legalább a processzek számának -kétszeresére. Nagy processz számokesetében -valószinüleg a Unix konfigurációs -paramétereken is növelni kell. -Ellenörizd a SHMMAX (az osztott memória szegmensek -maximális mérete), -a SEMMNS és a SEMMNI (a szemaforok maximális -száma), az NPROC (a processzek -maximális száma), a MAXUPRC -(felhasználónkénti maximális -processz szám) és a NFILE és NINODE (a megnzitott -állománzok maximális száma) -paramétereket. A PostgreSQL azért korlátozza -külön a processz -számot, hogy a rendszeredet ne terhelhesse meg -túlságosan.</p> -<p>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. <a name="3.9"></a></p> -<big style="text-decoration: underline;">3.9) Mi van pgsql_tmp -könyvtárban?</big><br> -<p>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.</p> -<p>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.</p> -<a name="3.10"></a> <big style="text-decoration: underline;">3.10) -Miért kell dumpolni és -újratölteni PostgreSQL kiadás -váltásánál?</big><br> -<p>A PostgreSQL csapat csak apróbb -változtatásokat -hajt végre a kisebb kiadások között, igy ha 7.2 -verzióról -állsz át 7.2.1 verzióra, akkor nem -szükséges kidumplonod az adatbázist. A nagy -kiadások esetében (például -verzióról 7.3-ra áttérésnél) -változik a belsiõ adatstruktúrák és -adatállományok formátuma. Ezek a -változások gyakran nagyon összetettek, ezért -inkáb nem tartunk fenn visszafelé -kompatibilitást. A dump az adatot általános -formátumban irja ki, majd az -új formátumban lehet azt visszatöleni. -</p> -Azokban a kiadásokban, amelyek között az adat -formátum nem változik, a pg_upgrade program -használható dumpolás -és helyreállitás nélkül. -<hr style="width: 100%; height: 2px;"><br> -<h2 style="text-align: center;"> Mûködtetési -kérdések</h2> -<br> -<a name="4.1"></a> <big style="text-decoration: underline;">4.1) Mi a -különbség a -bináris és a normál kurzorok között?</big><br> -<p>Nézd meg a DECLARE dokumentációját.</p> -<a name="4.2"></a> <big style="text-decoration: underline;">4.2) -Hogyan tudom select-elni a -lekérdezés elsõ pár sorát?</big><br> -<p>Olvasd el a FETCH dokumentációját, vagy -használd a SELECT LIMIT-et.</p> -<p>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. -<a name="4.3"></a><big style="text-decoration: underline;"><br> -</big></p> -<p><big style="text-decoration: underline;">4.3) Hogy tudom -kilistázni a -táblákat vagy más dolgokat a PostgreSQL-ben?</big></p> -<p>Elolvashatod a psql forrás kódjában a -pgsql/src/bin/psql/describe.c állományban. Ez SQL -parancsokat tartalmaz, amelyek azokat -a kimeneteket állitják elö, amiket a per jellel -kezdödö -parancsok adnak vissza.</p> -<a name="4.4"></a> <big style="text-decoration: underline;">4.4) -Hogyan tudok eltávolítani egy -oszlopot egy táblából?</big><br> -<br> -<p>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:</p> -<pre>BEGIN;</pre> -<pre>LOCK TABLE old_table;</pre> -<pre>SELECT ... -- minden oszlopot, kivétel amit törölni szeretné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ális mérete egy sornak, -egy táblának vagy egy adatbázisnak?</big></h4> -<br> -<p>A korlátok:</p> -<ul> - <li> - <p>adatbázis: korlátlan (1 TB az általunk -ismert -lagnagyobb)</p> - </li> - <li> - <p>tábla: 16 TB</p> - </li> - <li> - <p>rekord/sor 1.6TB</p> - </li> - <li> - <p>mezö 1 GB</p> - </li> - <li> - <p>a tábla sorainak száma: korlátlan</p> - </li> - <li> - <p>a tábla oszlopainak száma: 250-1600 az oszlop -nevektõl függöen</p> - </li> - <li> - <p>A tábla indexeinek száma: korlátlan</p> - </li> -</ul> -<p>Természetesen nem igazán korlátlan, de a -tárterület, memória és egyéb -külsö tényezök korlátozzák. A -teljesitmény romolhat, ha ezek az értékek -szokatlanul nagyok.</p> -<p>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.</p> -<p>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.</p> -<a name="4.6"></a> <big style="text-decoration: underline;">4.6) -Mekkora adatbázis lemez terület -szükséges egy tipikus szöveg állomány <br> -tárolásához?</big><br> -<p>A PostgreSQL akár a szöveg állomány -helyigényének ötszörösét is -elfoglalhatja.</p> -<p>Képzelj el például, egy 100.000 soros -szöveget, aminek minde sora egy számból és -egy szövegbõl -áll. Tegyük el, hogy átlagosan 20 byte hosszú -szövegek. Ez a szövegállomány -körülbelül 2.8 MB helyet foglalna el. A tábla ami -a fenti adatszerkezetet eltárolná, -körülbelül 6.4 MB-os lenne. Ezt a -következöképpen számolhatjuk ki:</p> -<p>36 byte: sor fejléc</p> -<pre>24 byte: egy int mezö + egy szöveg mezö</pre> -<pre>4 byte: mutato</pre> -<pre>---------------------------------------</pre> -<pre>64 byte soronkent.</pre> -<p>Az adat oldal mérete a PostgreSQL-ben 8192 byte, igy 8192 / -64 = 128 rekord adatbázis oldalanként -(lefelé kerekitve).</p> -<pre>100000 rekord / 128 rekord oldalanként = 782 adat oldal<br>(felelé kerekitve).</pre> -<pre>782 adatbázis oldal * 8192 byte olalanként = 6,406,144<br>byte (6.4 MB)</pre> -<p>Az indexek nem foglalnak túl sokat, de tartalmazzák az -indexelt adatot, igy ezek is lehetnek nagyok.</p> -<p>A NULL értékek bittérképben vannak -tárolva, igy kevés helyet foglanak.</p> -<p><a name="4.7"></a><big style="text-decoration: underline;">4.7) Hogy -tudhatom meg milyen táblák, -indexek, adatbázisok vagy felhasználók</big></p> -<big style="text-decoration: underline;">vannak definiálva?<br> -</big> -<p>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 ezeketa parancsokat. -Ezen kivül vannak rendszer táblák, -amelyek nevei 'pg_'-vel kezdödnek.</p> -<p>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.</p> -<p><a name="4.8"></a><big style="text-decoration: underline;">4.8) A -lekérdezéseim lassúak, -vagy nem használják az indexeket. Miért?</big></p> -<p><big style="text-decoration: underline;"></big></p> -<p>Az indexeket nem használja a szerver minden -lekérdezésnél automatikusan. Csak akkor -használ indexet, ha a tábla mérete egy -megadott alsó határ felett van, és a -lekérdezés csak a sorok egy kis -részét érinti. Ez azért van, mert a -véletlen hozzáférés még -mindig lassabb lehet mint az tábla szekvenciális -olvasása.</p> -<p>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.</p> -<p>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:</p> -<pre>SELECT col</pre> -<pre>FROM tab</pre> -<pre>ORDER BY col [ DESC ]</pre> -<pre>LIMIT 1;</pre> -<br> -<p>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:</p> -<p>A keresõ string kezdete a keresési minta elején -kell hogy legyen. Például:</p> -<ul> - <li>A LIKE minták nem kezdõdhetnek % jellel.</li> - <li> ~ (regexp) kifejezések nem kezdõdhetnek ^ -jellel.</li> - <li>A keresési kifejezés nem kezdõdhet karakter -osztállyal.</li> - <li>A case-insensitive keresés (ILIKE, ~*) nem -használnak -indexet ehelyett funkcionális indexet használnak, amit a -4.12 -pontban találhatsz.</li> - <li>Az alapé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õrizni, hogy -optimalizálta a lekérdezés -optimalizáló<br> -a lekérdezésem?<br> -</big> -<p>Olvasd el a dokumentáció EXPLAIN-ról -szóló részé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é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</p> -<p>található pontok.</p> -<p>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.</p> -<p>Ezt olvashatod Stonebraker "Readings in Database Systems" c. -könyvében.</p> -<p>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.</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é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.</p> -<p><a name="4.12"></a><big style="text-decoration: underline;">4.12) -Hogyan tudok regexp keresést és -case-insensitive regexp keresést </big><big - style="text-decoration: underline;">használni? Hogyan tudok -indexet használni -case-insensitive kereséshez?</big><br> -</p> -<p>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.</p> -<p>A case-insensitive egyenlõség mûveleteket -általában igy hajtjuk végre:</p> -<p>SELECT *</p> -<pre>FROM tab</pre> -<pre>WHERE lower(col) = 'abc';</pre> -<p>Ez nem fog indexet használni, bár létrehozhatsz -egy funkció 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 észlelni egy -lekérdezésben, ha egy mezõ NULL?</big><br> -<p>Használd "IS NULL"-t és az "IS NOT NULL"-t.</p> -<p><a name="4.14"></a><big style="text-decoration: underline;">4.14) Mi -a különbség a -különbözõ karaktertípusok között?</big></p> -<ul> - <li>"char" egy karakter hosszú string</li> - <li>CHAR(n) bpchar üres hellyel a megadott n -hosszúságig</li> - <li>VARCHAR(n) varchar méret maximális hossz -meghatározásával, a lefogllat terület is -változó hosszú lesz</li> - <li>TEXT nincs meghatározott felső korlát</li> - <li>BYTEA változó hosszúságú -byte-tömb</li> -</ul> -<p>Látni fogod a belsõ elnevezésüket, ha -tanulmányozod a rendszertáblákatés -néhány hibaüzenetet.</p> -<p>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.</p> -<p>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.</p> -<p><a name="4.15.1"></a><big style="text-decoration: underline;">4.15.1) -Hogyan tudok létrehozni -automatikusan növekvõ értékû -mezõt?</big></p> -<br> -A PostgreSQL rendelkezik egy SERIAL adattípussal. Ez egy -szekvenciát és egy indexet hoz létre az oszlopon. -Példá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á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.</p> -<p><a name="4.15.2"></a><big style="text-decoration: underline;">4.15.2) -Hogyan kaphatom meg egy SERIAL -beszúrás értékét?</big></p> -<p>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:</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érdezheted a szekvencia állapotát a sor -beszúrása után. </p> -<pre>execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");</pre> -<pre>new_id = execute("SELECT currval('person_id_seq')");</pre> -<p> -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}).</p> -<a name="4.15.3"></a> <big style="text-decoration: underline;">4.15.3) -A currval() és a nextval() nem -teremt holtpont veszélyes helyzetet a felhasználók -között?</big><br> -<p>Nem. A currval() funkció a szerver processzed által -adott -értéket adja vissza, nem pedig a többi szerver -processz által adottat.</p> -<big style="text-decoration: underline;"><a name="4.15.4"></a>4.15.4) -Miért nem használódnak fel újra a -sequence számok tranzakció abort esetén?</big><br> -<p>Miért vannak problémák a serial oszlopok -számozásával?</p> -<p>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.</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ó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.</p> -<p>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.</p> -<p>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:</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 é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é.</p> -<p>A TID a fizikai sorok blokk és offszet címmel -való -azonositására szolgál. A TID változik -minden rekord módositás és -törlés alkalmával. Ezeket az indexek -használják hogy a fizikai sort gyorsan -megtalálják.</p> -<p><a name="4.17"></a><big style="text-decoration: underline;">4.17) Mi -a PostgreSQL-ben használt -kifejezések jelentése?</big></p> -<br> -<p>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:</p> -<ul> - <li>tábla (table), reláció (relation), -osztály (class)</li> - <li>sor (row), rekord (record), tuple (nincs magyar jelentés)</li> - <li>oszlop (column), mezö (field), attributum (attribute)</li> - <li>retrieve, select</li> - <li>helyettesit (replace), módosit (update)</li> - <li>hozzáfûz (append), beszúr (insert)</li> - <li>OID, sorozat érték (serial value)</li> - <li>portal, cursor</li> - <li>range variable, tábla név, tábla alias</li> -</ul> -Az általános adatbázis kifejezések -összefoglalóját itt olvasható: -<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ért kapom ezt a hibát: -"ERROR: Memory exhausted in AllocSetAlloc()"?<br> -</big> -<p>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:</p> -<pre>ulimit -d 262144</pre> -<pre>limit datasize 256m</pre> -<p>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.</p> -<p><a name="4.19"></a><big style="text-decoration: underline;">4.19) -Hogyan tudhatom meg PostgreSQL, milyen -verziót futtatok?</big></p> -<p>A psql programban select version();</p> -<a name="4.20"></a> <big style="text-decoration: underline;">4.20) -Miért kapok "invalid large obj -descriptor" hibát nagy objektumok -kezelésénél?</big><br> -<p>A nagy objektumok kezelését egy tranzakciós -blokkban helyezd el. (BEGIN és COMMIT között)</p> -<p><br> -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.</p> -<p>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.</p> -<p><a name="4.21"></a><big style="text-decoration: underline;">4.21) -Hogy hozhatok létre olyan oszlopot, -aminek alapértelmezett </big><big - style="text-decoration: underline;">érétke a jelenlegi -idõ?</big><br> -</p> -<p>Haszná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ért olyan lassúak az -al-lekérdezéseim IN-nel?</big><br> -<p>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.</p> -<p>SELECT *</p> -<pre>FROM tab</pre> -<pre>WHERE col IN (SELECT subcol FROM subtab);</pre> -<br> -<p>EXISTS használatá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éljük ezt a korlátot sikerül -hamarosan legyõznünk. -<p><a name="4.23"></a><big style="text-decoration: underline;">4.23) -Hogyan tudok outer join-t végrehajtani?</big></p> -<p>A PostgreSQL a szabványos SQL szintaktikát -követi. -Itt van két pé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é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.</p> -<p>Az elõzõ kiadásokban a OUTER JOIN -lekérdezéseket UNION és NOT IN kulcsszavakkal -lehetett szimulálni. Például a tab1 -és a tab2 összekapcsolása:</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öbb adatbázison -végrehajtani lekérdezést?<br> -</big> -<p>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öltbe, bizonytalan hogy egy -adatbázisok közötti -lekérdezésnek hogyankellene viselkednie. </p> -<p>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étreszimultán kapcsolatot több adatbázissal, -és -összefésülheti az eredményeket.</p> -<p><big style="text-decoration: underline;"><a name="4.25"></a>4.25) -Hogy tudok több soros vagy oszlopos -eredményt visszaadni egy funkcióból?</big><br> -</p> -<big style="text-decoration: underline;"></big> -<p>A PL/pgSQL tárolt eljárás nyelvvel refcursor -használatával. Ré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ért nem tudom megbizhatóan -létrehozni és törölni az átmeneti -táblákat a PL/pgSQL funkciókban?</big><br> -<p>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 <code>EXECUTE</code> 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.</p> -<big style="text-decoration: underline;">4.27) -Milyen replikációs -lehetõségek vannak?</big><br> -<p>Bár a replikáció egyetlen terület, -több technológia létezik replikációra, -természetesen mindnek meg vannak a maga előnyei és -hátrányai.</p> -<p>A master/slave replikációs 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épszerűbb -master/slave replikációs megoldása a Solny-I. </p> -<p>Számos más master/slave replikációs -lehetõség létezik.Egy Listát olvashatsz -ezekrõ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áció lehetővé teszi -több master adatbázis használatát, bár -ez a technológia drasztikusan csökkenti az adatbázis -teljesítményét a sok szinkornizáció -miatt. A PGCluster a legelterjedtebb ilyen megoldás.</p> -<p>Egy többfelhasználós replikációs -rendszer készü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ódolási -lehetõségek vannak?</big></p> -<ul> - <li>A contrib/pgcrypto tartlamaz számos SQL -lekérdezésben használható -kódolást.</li> - <li>A kliens-szerver kommunikáció -rejtjelezésére a hostssl használható. Ezt a -pg_hba.conf-ben engedélyeztheted.</li> - <li>Az adatbázis felhsználók jelszavait -tároláskor kódolja a rendszer. </li> - <li>Régebbi verziókban a PASSWORD_ENCRYPTION -opcióval -lehetett bekapcsolni.</li> - <li>A szerveren használhatsz kódolt fájrendszert.<br> - </li> -</ul> -<hr style="width: 100%; height: 2px;"><br> -<div style="text-align: center;"> -<h2>A PostgreSQL kiterjesztése</h2> -</div> -<br> -<a name="5.1"></a> <big style="text-decoration: underline;">5.1) -Írtam egy felhasználói -funkciót. Miért core dumpol az adatbázis amikor -használom?<br> -</big> -<p>Számos probléma lehet. Elöbb probáld ki a -funkciódat egy különálló -alkalmazásban.</p> -<p><a name="5.2"></a><big style="text-decoration: underline;">5.2) -Hogyan lehet új adattípusokat -és funkciókat hozzáadni a PostgreSQL </big><big - style="text-decoration: underline;">disztribúcióhoz?</big><br> -</p> -<p>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.</p> -<a name="5.3"></a> <big style="text-decoration: underline;">5.3) -Hogyan lehet olyan C funkciót -írni, ami Tuple-t ad vissza?</big><br> -<p>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.</p> -<p><a name="5.4"></a><big style="text-decoration: underline;">5.4) -Megváltoztattam egy forrás -állományt. Miért nem változik a -bináris </big><big style="text-decoration: underline;">újrafordítás -után?</big><br> -</p> -<p>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.</p> -<br> -<br> -</body> -</html> |