From 49032ca76554e4bdbff5f72f7dced146fb14ef0d Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Tue, 2 Mar 2004 15:46:22 +0000
Subject: [PATCH] Update Turkish FAQ, Devrim GUNDUZ

---
 doc/FAQ_turkish              |  313 +++--
 doc/src/FAQ/FAQ_turkish.html | 2278 +++++++++++++++-------------------
 2 files changed, 1160 insertions(+), 1431 deletions(-)

diff --git a/doc/FAQ_turkish b/doc/FAQ_turkish
index e9e23986fb8..494ee468457 100644
--- a/doc/FAQ_turkish
+++ b/doc/FAQ_turkish
@@ -1,11 +1,11 @@
 		PostgreSQL i�in S�k�a Sorulan Sorular (SSS)
                                        
-   Son g�ncelleme : 19.05.2003 Cuma 05:03
+   Son g�ncelleme : 23 �ubat 2004  Pazartesi - 13:34:26
 
    Bruce Momjian (pgman@candle.pha.pa.us)
-   �eviren : Devrim G�ND�Z (devrim@gunduz.org), Nicolai Tufar (ntufar@yahoo.com), Volkan Yaz�c� (volkany@celiknet.com)
+   �eviren : Devrim G�ND�Z (devrim@gunduz.org), Nicolai Tufar (ntufar@yahoo.com), Volkan YAZICI (vyazici@phreaker.net)
    
-   Bu belgenin en g�ncel hali, http://www.gunduz.org/seminer/pg/FAQ_turkish ve 
+   Bu belgenin en g�ncel hali, http://www.gunduz.org/seminer/pg/FAQ_turkish.html ve 
    http://www.PostgreSQL.org/docs/faq-turkish.html 
    adreslerinde gor�lebilir.
    
@@ -60,7 +60,7 @@
                                       
    4.1) Binary cursor ve normal cursor aras�ndaki fark nedir?
    4.2) Sorgunun sadece ilk birka� sat�r�n� nas�l SELECT edebilirim?
-   4.3) psql'in i�inde g�rd���m tablolar�n ya da di�er �eylerin listesini nasil alabilirim?
+   4.3) psql'in i�inde g�rd���m tablolar�n ya da di�er �eylerin listesini nas�l alabilirim?
    4.4) Bir tablodan bir kolonu nas�l kald�rabilirim?
    4.5) Bir sat�r, tablo ve veritaban� icin en fazla b�y�kl�k nedir? 
    4.6) Tipik bir metin dosyas�ndaki veriyi saklamak i�in ne kadar disk alan� gereklidir?
@@ -69,8 +69,8 @@
    4.9) Query-optimizer in sorgular�m� nas�l de�erlendirdigini, i�leme soktu�unu nas�l g�rebilirim?
    4.10) R-tree index nedir?
    4.11) Genetic Query Optimizer nedir?
-   4.12) D�zenli ifade (Regular Expression) aramalar�n� ve b�y�k/k���k harfe duyars�z aramalar� nasil yapabilirim?
-	Bu b�y�k(k���k harfe duyarl� aramalar i�in indeksi nasil kullanabilirim?
+   4.12) D�zenli ifade (Regular Expression) aramalar�n� ve b�y�k/k���k harfe duyars�z aramalar� nas�l yapabilirim?
+	Bu b�y�k(k���k harfe duyarl� aramalar i�in indeksi nas�l kullanabilirim?
 
    4.13) Bir sorguda, bir alan�n "NULL" oldu�unu nas�l ortaya ��karabilirim?
    4.14) �esitli karakter tipleri aras�ndaki farklar nelerdir?
@@ -89,7 +89,7 @@
    4.23) Outer join i�lemini nas�l yapabilirim?
    4.24) Ayn� anda birden fazla veritaban�nda nas�l i�lem yapabilirim?
    4.25) Bir fonksiyondan nas�l �oklu sat�r ya da kolon d�nd�rebilirim?
-   4.26) Neden Pl/PgSQL fonksiyonlar� i�inden g�venli bir �ekilde tablo yaratma/kald�rma i�lemlerini yapam�yoruz?
+   4.26) Neden PL/pgSQL fonksiyonlar� i�inden g�venli bir �ekilde tablo yaratma/kald�rma i�lemlerini yapam�yoruz?
    4.27) Hangi replikasyon se�enekleri bulunmaktad�r?
    4.28) Hangi �ifreleme se�enekleri bulunmaktad�r?
 	
@@ -169,14 +169,14 @@
    libpq C k�t�phanesini, psql ve diger arabirimleri ve binary dosyalar�, MS
    Windows ortamlar�nda �al�smas� i�in derlemeniz m�mk�nd�r. Bu �rnekte  istemcide
    MS Windows �al�s�yor ve desteklenen Unix platformlar�ndan birinde �al�san PostgreSQL
-   sunucuna TCP/IP ile baglanmaktad�r. Da��t�m i�indeki win31.mak dosyas� ile,
+   sunucuna TCP/IP ile baglanmaktad�r. Da��t�m i�indeki win32.mak dosyas� ile,
    Win32 libpg k�t�phanesi ve psql yaratabilirsiniz. PostgreSQL ayn� zamanda ODBC
    istemcileri ile haberlesebilmektedir.
 
    Sunucu
 
-   Veritaban� sunuucsu Cygwin kullanarak Windows NT, 2K ya da XP �zerinde calistirilabilir.
-   Dag�t�m i�indeki pgsql/doc/FAQ_MSW�N dosyas�n� ya da web sitemizdeki MS Windows FAQ'u
+   Veritaban� sunucusu Cygwin kullanarak Windows NT, 2K ya da XP �zerinde �al��t�r�labilir.
+   Da��t�m i�indeki pgsql/doc/FAQ_MSW�N dosyas�n� ya da web sitemizdeki MS Windows FAQ'u
    inceleyebilirsiniz. 
 	
    Do�al Windows NT/2000/XP portu i�in �u anda �al��malar devam etmektedir. Windows s�r�m�  
@@ -185,15 +185,15 @@
  	
    Ayr�ca, http://forge.novell.com adresinde Novell Netware 6 portu bulunmaktad�r.  
 
-       1.5) PostgreSQL'in nereden indirebilirim?
+       1.5) PostgreSQL'i nereden indirebilirim?
     
    PostgreSQL i�in ana anonim ftp sitesi ftp://ftp.PostgreSQL.org/pub ' dur.
    Yans�lar i�in, ana web sayfam�za bakabilirsiniz.
    
    1.6) Deste�i nereden alabilirim?
     
-   Ana e-posta listesi : pgsql-general@PostgreSQL.org. PostgreSQL konusundaki tart�smalara
-   a��kt�r. �ye olmak i�in, asag�daki sat�rlar� e-postanizin body k�sm�na (konu k�sm�na degil)
+   Ana e-posta listesi : pgsql-general@PostgreSQL.org. PostgreSQL konusundaki tart��malara
+   a��kt�r. �ye olmak i�in, asa��daki sat�rlar� e-postan�z�n g�vde k�sm�na (konu k�sm�na de�il)
    yaz�p, pgsql-general-request@PostgreSQL.org adresine g�nderin:
 
     subscribe
@@ -207,30 +207,30 @@
 
    yazan bir e-posta atman�z yeterli olacakt�r.
 
-   Digest postalar, ana liste 30k civar�nda e-postaya ulastiginda �yelere g�nderilmektedir.
+   Digest postalar, ana liste 30k civar�nda e-postaya ulast���nda �yelere g�nderilmektedir.
 
    Buglar i�in bir e-posta listesi bulunmaktad�r. Bu listeye �ye olmak i�in,
-   email to pgsql-bugs-request@PostgreSQL.org adresine, body k�sm�nda
+   pgsql-bugs-request@PostgreSQL.org adresine, body k�sm�nda
 
     subscribe
     end
 
     yazan bir e-posta atman�z yeterli olacakt�r.
 
-   Ayn� zamanda, gelistiriciler i�in tart�sma listesi bulunmaktad�r. Bu listeye �ye olmak
-   i�in,  pgsql-hackers-request@PostgreSQL.org adresine,  body k�sm�nda
+   Ayn� zamanda, geli�tiriciler i�in tart��ma listesi bulunmaktad�r. Bu listeye �ye olmak
+   i�in,  pgsql-hackers-request@PostgreSQL.org adresine,  g�vde k�sm�nda
 
     subscribe
     end
 
    yazan bir e-posta atman�z yeterli olacakt�r.
 
-   Bunun d�s�ndaki e-posta listelerine ve PostgreSQL hakk�nda bilgiye, PostgreSQL WWW 
-   ana sayfas�ndan ulasabilirsiniz:
+   Bunlar�n d���ndaki e-posta listelerine ve PostgreSQL hakk�nda bilgiye, PostgreSQL WWW 
+   ana sayfas�ndan ula�abilirsiniz:
    
      http://www.PostgreSQL.org
 
-   Ayn� zamanda, EFNet �zerinde, #PostgreSQL adl� bir �RC kanal� bulunmaktad�r. Bunun i�in,
+   Ayn� zamanda, EFNet ve OpenProjects �zerinde, #PostgreSQL adl� bir IRC kanal� bulunmaktad�r. Bunun i�in,
     irc -c '#PostgreSQL' "$USER" irc.phoenix.net Unix komutunu kullanabilirsiniz.
    
    Ticari destek veren firmalar�n listesine,
@@ -318,7 +318,7 @@
    PostgreSQL mevcut b�y�k ticari veritabanlarinin, transaction, subselect, 
    trigger, view, foreign key referential integrity ve sophisticated locking gibi
    t�m �zelliklerine sahiptir. Onlarin sahip olmadiklari, kullanici-tanimli tipler 
-   (user-defined types), rules, inheritance  ve lock cak�smalarini d�s�rmek icin 
+   (user-defined types), rules, inheritance  ve lock cak��malar�n� d���rmek i�in 
    multi-version uyumluluk �zellikleri bulunmaktadir.
           
    Performans (Ba�ar�m)
@@ -460,7 +460,7 @@
    ve $PGDATA_pg_hba.conf dosyas�n� d�zenleyerek  host-based authentication'a 
    olanak vermezseniz, baglant� yapamayacaklard�r. 
    
-       3.6) Veritabani motorunu daha iyi basarim icin nasil ayarlayabilirim?
+       3.6) Veritabani motorunu daha iyi basarim icin nas�l ayarlayabilirim?
   
    Indexler sorgular� h�zland�rabilir. EXPLAIN komutu, PostgreSQL'in sorgunuzu nas�l
    yorumlad���n� ve hangi indexleri kullandigini g�rmenize izin verir.
@@ -577,17 +577,15 @@
     
    DECLARE yard�m sayfasina bakiniz.
    
-       4.2) Sorgunun sadece ilk birka� sat�r�n� nasil SELECT edebilirim?
+       4.2) Sorgunun sadece ilk birka� sat�r�n� nas�l SELECT edebilirim?
 	    
    FETCH yard�m sayfasina bakiniz, aya da  SELECT ... LIMIT.... kullan�n�z.
    
-   The entire query may have to be evaluated, even if you only want the
-   first few rows. Consider a query that has an ORDER BY. �f there is an
-   index that matches the ORDER BY, PostgreSQL may be able to evaluate
-   only the first few records requested, or the entire query may have to
-   be evaluated until the desired rows have been generated.
+   �lk birka� sat�r� almak isteseniz bile, t�m sorgu de�erlendirilmek durumunda kal�nabilir. ORDER BY i�eren bir 
+   sorgu d���n�n. E�er ORDER BY i�e e�le�en bir index varsa, PostgreSQL istenen ilk birka� sat�r� i�leyebilir, ya da
+   t�m sorgu istenen sat�rlar �retilene kadar i�lenebilir.
    
-       4.3) psql'in i�inde g�rd�g�m tablolarin ya da diger seylerin listesini nasil alabilirim?
+       4.3) psql'in i�inde g�rd�g�m tablolarin ya da diger seylerin listesini nas�l alabilirim?
     
    pgsql/src/bin/psql/describe.c i�indeki psql kaynak kodunu okuyabilirsiniz. Bu kod, 
    psql'in \ ile baslayan komutlar�n�n ��kt�s�n� olusturan SQL komutlarini i�erir. Ayn� 
@@ -612,8 +610,8 @@
   
     S�n�rlar:   
  
-    Veritabani icin en fazla b�y�kl�k nedir?			S�n�rs�z (4 TB'l�k veritaban� bulunmaktad�r)
-    Bir tablo icin en fazla b�y�kl�k nedir?			16 TB
+    Veritabani icin en fazla b�y�kl�k nedir?			S�n�rs�z (32 TB'l�k veritaban� bulunmaktad�r)
+    Bir tablo icin en fazla b�y�kl�k nedir?			32 TB
     Bir sat�r i�in en fazla b�y�kl�k nedir?			1.6 TB
     Bir alan i�in en fazla b�y�kl�k nedir?			1 GB
     Tabloda en fazla sat�r say�s� ka�t�r?			S�n�rs�z
@@ -664,7 +662,7 @@
    
    NULL de�erler bitmapler i�inde tutulur; dolay�s�yla �ok az yer kaplarlar.
 
-       4.7) Veritaban�nda hangi tablo ya da indexlerin tan�mland�g�n� nasil g�rebilirim?
+       4.7) Veritaban�nda hangi tablo ya da indexlerin tan�mland�g�n� nas�l g�rebilirim?
     
     psql, bu t�r bilgileri g�stermek i�in, \ ile ba�layan bir �ok komut sunmaktad�r. 
     \? komutu ile bu komutlar� g�rebilirsiniz. Ayr�ca, bunlar� a��klayan ve pg_ ile ba�layan 
@@ -675,69 +673,67 @@
    sistem dosyalarindan bilgiyi almak i�in gereksinim duyulan  bir �ok SELECTleri g�sterir.
 
     4.8) Sorgular�m cok yava�, ya da indexlerimi kullanm�yorlar. Neden? 
-
- Indexes are not automatically used by every query. Indexes are only used if the table is larger than a minimum size,
-and the query selects only a small percentage of the rows in the table. This is because the random disk access caused
-by an index scan can be slower than a straight read through the table, or sequential scan.
-
-To determine if an index should be used, PostgreSQL must have statistics about the table. These statistics are
-collected using VACUUM ANALYZE, or simply ANALYZE. Using statistics, the optimizer knows how many rows are in the
-table, and can better determine if indexes should be used. Statistics are also valuable in determining optimal join
-order and join methods. Statistics collection should be performed periodically as the contents of the table change.
-
-Indexes are normally not used for ORDER BY or to perform joins. A sequential scan followed by an explicit sort is
-usually faster than an index scan of a large table.
-However, LIMIT combined with ORDER BY often will use an index because only a small portion of the table is returned.
-In fact, though MAX() and MIN() don't use indexes, it is possible to retrieve such values using an index with ORDER
-BY and LIMIT:
+Indexler her sorgu taraf�ndan otomatik olarak kullan�lmazlar. Indexler e�er bir tablonun b�y�kl��� minimum bir 
+b�y�kl�kten fazla ise ve sorgu tablodaki sat�rlar�n sadece k���k bir y�zdesini se�iyorsa kullan�l�r. Bunun nedeni, 
+index eri�iminin neden oldu�u raslansal disk eri�imi nin diskin ya da tablonun s�ral� okunmas�ndan daha yavas 
+olabilmesidir.
+
+Bir index'in kullan�l�p kullan�lmayaca��n� belirlemek i�in, PostgreSQL tablo hakk�ndaki istatistiklere gereksinmesi 
+vard�r. Bu istatistikler, VACUUM ANALYZE kullan�larak toplan�rlar. Optimizer, istatistikleri kullanarak, tabloda ka� 
+sat�r oldu�unu ve bilir ve indexin kullan�l�p kullan�lmayaca��na daha iyi karar verir. Istatistikler, ayn� zamanda en 
+uygun join s�ras�n� ve y�ntemini belirlemekte �ok �nemlidir. �statistik toplanmas�, tablo i�erikleri de�i�tik�e 
+periyodik olarak yap�lmal�d�r.
+
+Indexler normalde ORDER BY sorgular� ya da join i�lemlerini ger�ekle�tirmek i�in kullan�lmazlar. A��k bir s�ralamay� 
+takip eden s�ral� bir arama (sequential scan), b�y�k bir tabloda index aramas� yapmaktan genelde daha h�zl�d�r.
+Ancak, ORDER BY ile birle�mi� LIMIT genellikle bir index kullanacakt�r; ��nk� tablonun sadece belirli bir miktar� 
+d�nd�r�lecektir. Asl�nda, MAX() ve MIN() fonksiyonlar�n�n index kullanmamalar�ndan dolay�, bu gibi de�erleri ORDER BY 
+ve LIMIT kullanarak da almak olas�d�r:
 
     SELECT col
     FROM tab
     ORDER BY col [ DESC ]
     LIMIT 1;
 
-   E�er optimizer'in sequential scan i�leminde hata yapt���n� d���n�yorsan�z, SET enable_seqscan TO 'off' 'u kullan�n�z 
-   ve index scan'in hala h�zl� olup olmad���n� g�rmek i�in testler yap�n�z.
+E�er optimizer'�n s�ral� arama yapmas�n�n yanl�� oldu�una inan�yorsan�z, SET enable_seqscan TO 'off' kullan�n ve 
+index kullanan aramalar�n hala daha h�zl� olup olmad���n� g�r�n.
 
-   LIKE ya da ~ gibi operatorler kullaniyorsan�z, indeksler sadece a�a��daki ko�ullarda kullan�labilir:
+LIKE ya da ~ gibi operat�rler kullan�yorsan�z, index'ler sadece a�a��daki ko�ullarda kullan�labilir:
 
-    * Arama dizininin ba��, dizinin ba�� ile ba�lanmal�d�r. Yani, 
-	  o LIKE sorgular� % ile ba�lamamal�d�r.
-	  o D�zenli ifade sorgular� ^ i�e ba�lamamal�d�r.
+    * Arama dizininin ba��, dizinin ba�� ile ba�lanmal�d�r. Yani,
+          o LIKE sorgular� % ile ba�lamamal�d�r.
+          o D�zenli ifade sorgular� ^ i�e ba�lamamal�d�r.
     * Arama metni bir karakter s�n�f� ile ba�layamaz. �rnek: [a-e]
-    * ILIKE ve ~* gibi  b�y�k/k���k harfe duyars�z  aramalar indekslerden yararlanmazlar. Onun yerine, b�l�m 4.12'de 
-anlat�lan fonksiyonel indeksleri kullanabilirsiniz.
-    * initdb s�ras�nda �ntan�ml� C localei kullan�lmal�d�r.
+    * ILIKE ve ~* gibi b�y�k/k���k harfe duyars�z aramalar index'lerden yararlanmazlar. Onun yerine, b�l�m 4.12'de 
+anlat�lan fonksiyonel index'leri kullanabilirsiniz.
+    * initdb s�ras�nda �ntan�ml� C locale'i kullan�lmal�d�r.
 
  4.9) query-optimizer in sorgular�m� nas�l de�erlendirdi�ini, i�leme soktu�unu nas�l g�rebilirim?
     
    EXPLAIN yard�m sayfas�na bak�n�z.	
    
        4.10) R-tree index nedir?
+R-tree index, uzaysal (spatial) verileri indexlemek i�in kullan�l�r. Bir hash index, dizi aramalar�nda (range search) 
+kullan�lamaz. B-tree index dizi aramalar�nda sadece tek boyutlu �al��maktad�r. R-tree, �ok boyutlu veriyi destekler. 
+�rne�in, e�er bir R-tree index point veri tipi �zerinde in�a edililebilirse, sistem "select all points within a 
+bounding rectangle" gibi sorgulara daha verimli yan�tlar verecektir.
 
-   An R-tree index is used for indexing spatial data. A hash index can't handle range searches. A B-tree index only
-handles range searches in a single dimension. R-trees can handle multi-dimensional data. For example, if an R-tree
-index can be built on an attribute of type point, the system can more efficiently answer queries such as "select all
-points within a bounding rectangle."
-
-The canonical paper that describes the original R-tree design is:
+Orijinal R-tree tasar�m�n� a��klayan belge:
 
-Guttman, A. "R-trees: A Dynamic Index Structure for Spatial Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf
+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.
 
-Bu paperi, Stonebraker'�n "Readings in Database Systems" kitab�nda bulabilirsiniz.
+Bu belgeyi, Stonebraker'�n "Readings in Database Systems" kitab�nda bulabilirsiniz.
+
+G�m�l� R-tree indexleri poligon ve boxlar� kullanabilir. Teorik olarak, R-tree indexlerin �zelliklerini 
+geni�letmek bir miktar �aba gerektirir ve bunun nas�l yap�laca��na dair bir belgemiz hen�z bulunmamaktad�r.
 
-Built-in R-trees can handle polygons and boxes. In theory, R-trees can be extended to handle higher number of
-dimensions. In practice, extending R-trees requires a bit of work and we don't currently have any documentation on
-how to do it.
-    
        4.11) Genetic Query Optimizer nedir?
   
    GEQO mod�l�, Genetic Algorith(GA) kullan�larak tablolar birle�tirildi�inde sorgu optimizasyonunu h�zland�r�r. 
-   It  allows the handling of large   join queries through nonexhaustive search.
-   
-    4.12) D�zenli ifade (Regular Expression) aramalar�n� ve b�y�k/k���k harfe duyars�z aramalar� nasil yapabilirim?
-	Bu b�y�k(k���k harfe duyarl� aramalar i�in indeksi nasil kullanabilirim?
+
+    4.12) D�zenli ifade (Regular Expression) aramalar�n� ve b�y�k/k���k harfe duyars�z aramalar� nas�l yapabilirim?
+	Bu b�y�k(k���k harfe duyarl� aramalar i�in indeksi nas�l kullanabilirim?
     
    ~ operat�r� d�zenli ifade e�le�mesi ve ~*  b�y�k/k���k harfe duyars�z d�zenli ifade e�le�mesi yapar.
    B�y�k/k���k harfe duyarl� olan LIKE'in  b�y�k/k���k harfe duyars�z olan bi�ini ILIKE't�r ve PostgreSQL
@@ -753,7 +749,7 @@ how to do it.
 
     CREATE INDEX tabindex on tab (lower(col));
 
-    4.13)  Bir sorguda, bir alanin "NULL" oldugunu nasil ortaya ��karabilirim?
+    4.13)  Bir sorguda, bir alanin "NULL" oldugunu nas�l ortaya ��karabilirim?
     
    Kolonu, IS NULL ve IS NOT NULL ile test edebilirsiniz.
    
@@ -779,14 +775,14 @@ BYTEA           bytea           variable-length byte array (null-byte safe)
    doldurur; ancak VARCHAR(n) sadece verilen karakterleri saklar.BYTEA binary veri saklamak i�indir; ayr�ca "NULL" bayt 
    i�eren de�erleri de saklar. Burada anlat�lan �� veri tipi de benzer ba�ar�m karakteristiklere sahiptir.
    
-       4.15.1) Nasil serial/otomatik artan(auto-incrementing) bir alan yaratabilirim?
+       4.15.1) nas�l serial/otomatik artan(auto-incrementing) bir alan yaratabilirim?
     
      PostgreSQL'de SERIAL veri tipi vard�r. Bu veri tipi bir sequence ve kolon �zerinde bir indeks yarat�r.
 
     �rnek, a�a��daki sorgu:
 
     CREATE TABLE person (
-        id   SER�AL,
+        id   SERIAL,
         name TEXT
     );
 
@@ -803,19 +799,16 @@ BYTEA           bytea           variable-length byte array (null-byte safe)
   tekil bir say� olarak alabilirsiniz. Ancak, veritaban�n�z�n dump'�n� al�p yeniden y�klerseniz, OID de�erlerini
   koruyabilmek i�in pg_dump'�n -o parametresini ya da "COPY WITH OIDS" se�ene�ini kullanman�z gerekecektir.
    
-   4.15.2) SERIAL giri�inin degerini nasil alabilirim?
-    
-One approach is to retrieve the next SERIAL value from the sequence object with the nextval() function before
-inserting and then insert it explicitly. Using the example table in 4.15.1, an example in a pseudo-language would
-look like this:
+   4.15.2) SERIAL giri�inin degerini nas�l alabilirim?
+
+  Bir yakla��m, sequence nesnesindeki SERIAL de�erini, veriyi girmeden �nce nextval() ile al�p, ald���n�z de�eri 
+kendinizin girmesidir. 4.15.1'deki �rnek tabloyu kullanarak bir �rnek verelim:
 
     new_id = execute("SELECT nextval('person_id_seq')");
     execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
 
-You would then also have the new value stored in new_id for use in other queries (e.g., as a foreign key to the
-person table). Note that the name of the automatically created SEQUENCE object will be named
-<table>_<serialcolumn>_seq, where table and serialcolumn are the names of your table and your SERIAL column,
-respectively.
+  Di�er sorgular i�in new_id'de yeni de�erin saklanmas� gerekir. Otomatik olarak yarat�lan SEQUENE nesnesinin ad�,
+  <tablo ad�>_<serial kolonu ad�>_seq �eklinde olacakt�r (< > i�aretleri olmadan).
 
  Alternatif olarak, atanm�� SERIAL de�erini, de�er girildikten sonra currval() fonksiyonu ile alabilirsiniz:
 
@@ -823,8 +816,8 @@ respectively.
     new_id = execute("SELECT currval('person_id_seq')");
 
   Son olarak, �n tan�ml� de�eri bulmak i�in INSERT ifadesinden d�nen OID de�erini kullanabilirsiniz; ancak bu
-  en az ta��nabilir ��z�m olacakt�r. Perl'de, Edmund Mergl'in DBD:Pg m�d�l� ile birlikte DBI kullanarak, oid de�eri
-  $sth->execute() �al��t�r�ld�ktan sonra $sth->(pg_oid_status) ile al�nabilir.
+  en az ta��nabilir ��z�m olacakt�r. Perl'de, Edmund Mergl'in DBD:Pg m�d�l� ile birlikte DBI kullanarak, OID de�eri
+  $sth->execute() �al��t�r�ld�ktan sonra $sth->(pg_OID_status) ile al�nabilir.
 
        4.15.3) currval() ve  nextval() diger kullanicilara sorun yaratmaz m�?
     
@@ -838,41 +831,34 @@ respectively.
    bitene kadar o de�er kilitlenmez. Bu, iptal edilen transaction i�lemleri nedeniyle bo�luklara neden olur. 
 
     4.16) OID nedir? TID nedir?
-    
-   O�Ds are PostgreSQL's answer to unique row ids. Every row that is
-   created in PostgreSQL gets a unique O�D. All O�Ds generated during
-   initdb are less than 16384 (from backend/access/transam.h). All
-   user-created O�Ds are equal to or greater than this. By default, all
-   these O�Ds are unique not only within a table or database, but unique
-   within the entire PostgreSQL installation.
-   
-   PostgreSQL uses O�Ds in its internal system tables to link rows
-   between tables. These O�Ds can be used to identify specific user rows
-   and used in joins. �t is recommended you use column type O�D to store
-   O�D values. You can create an index on the O�D field for faster
-   access.
-   
-   O�Ds are assigned to all new rows from a central area that is used by
-   all databases. �f you want to change the O�D to something else, or if
-   you want to make a copy of the table, with the original O�Ds, there is
-   no reason you can't do it:
-        CREATE TABLE new_table(old_oid oid, mycol int);
-        SELECT old_oid, mycol �NTO new FROM old;
+
+OIDler, tekil sat�r numaralar�na PostgreSQL'in yan�t�d�r. PostgreSQL'de yarat�lan her say�, tekil bir OID al�r. 
+initdb i�lemi s�ras�nda yarat�lan t�m OID'ler 16384'ten k���kt�r (backend/access/transam.h). Kullan�c�lar taraf�ndan 
+yarat�lan t�m OID'ler bu say�ya e�it ya da bu say�dan b�y�kt�r. Varsay�lan durumda, t�m bu OIDler sadece bir tablo ya 
+da veritaban�nda de�il, t�m PostgreSQL kurulumunda tekildir.
+
+PostgreSQL OIDleri, tablolar aras�nda sat�rlar� ili�kilendirmek i�in kendi i� tablolar�nda kullan�r. Bu OIDler 
+belirli kullan�c� sat�rlar�n� belirtmek i�in kullanabilir ve join i�lemlerinde kullan�l�r. OID de�erlerini saklamak 
+i�in OID kolon tipini kullanman�z �nerinir. Daha h�zl� bir eri�im i�in, OID alan�nda bir index yaratabilirsiniz.
+
+OID'ler yeni sat�rlara, t�m veritabanlar� taraf�nda kullan�lan ortak bir alandan atan�rlar. E�er OID'i ba�ka bir 
+de�ere e�itlemek isterseniz ya da tablonun bir kopyas�n� orijinal OIDler ile ��karmak isterseniz, bu m�mk�nd�r:
+
+        CREATE TABLE new_table(old_OID OID, mycol int);
+        SELECT old_OID, mycol �NTO new FROM old;
         COPY new TO '/tmp/pgtable';
         DELETE FROM new;
-        COPY new W�TH O�DS FROM '/tmp/pgtable';
+        COPY new WITH OIDS FROM '/tmp/pgtable';
 
-   O�Ds are stored as 4-byte integers, and will overflow at 4 billion. No
-   one has reported this ever happening, and we plan to have the limit
-   removed before anyone does.
-   
-   TIDs are used to identify specific physical rows with block and offset
-   values. T�Ds change after rows are modified or reloaded. They are used
-   by index entries to point to physical rows.
+OIDler 4-bit tamsay� olarak saklan�rlar ve 4 milyarda overflow olacakt�r. Kimse bu say�ya ula�t���na dair bir bilgi 
+iletmedi ve bu s�n�r� kimse bu s�n�ra ula�madan kald�raca��z.
+
+TIDler, belirli fiziksel sat�rlar block ve offset de�erleri ile belirtmekte kullan�l�r. TIDler, sat�rlar de�i�ti�inde 
+ya da yeniden y�klendi�inde de�i�irler. Index girdileri taraf�ndan fiziksel sat�rlar� g�stermek i�in kullan�l�rlar.
    
        4.17) PostgreSQL'de kullan�lan baz� terimlerin anlamlar� nelerdir?
     
-   Kaynak kodun bir k�sm� ve eski belgeler, daha genis kullan�m alan� olan terimleri
+   Kaynak kodun bir k�sm� ve eski belgeler, daha geni� kullan�m alan� olan terimleri
    kullan�rlar. Bunlar�n baz�lar�:
 
      * table, relation, class
@@ -892,31 +878,31 @@ respectively.
    
        4.18) Neden  "ERROR: Memory exhausted in AllocSetAlloc()"? hatas�n� al�yorum?
     
-   Sisteminizde sanal belleginizi t�ketmis olabilirsiniz, ya da �ekirdeginiz
-   belli kaynaklar icin d���k bir s�n�ra sahip olabilir. postmasteri baslatmadan �nce 
-   asagidakileri deneyebilirsiniz:
+   Sisteminizde sanal belle�inizi t�ketmis olabilirsiniz, ya da �ekirde�iniz
+   belli kaynaklar icin d���k bir s�n�ra sahip olabilir. Postmaster'i ba�latmadan �nce 
+   a�a��dakileri deneyebilirsiniz:
 
     ulimit -d 262144
     limit datasize 256m
 
    Kabu�unuza ba�l� olarak, bunlardan sadece biri olumlu sonu� verecektir, ama
    bu i�lem veri segment s�n�r�n�z� artt�racak, ve belki de sorgunuzun tamamlanmas�n�
-   saglayacakt�r. Bu komut, varolan isleme (current process) ve komut �al�st�r�ld�ktan
-   sonraki t�m alt islemlere uygulanir. Eger SQL istemcinizle, backendin �ok fazla veri 
-   d�nd�rmesi nedeniyle bir sorun yas�yorsan�z, bunu istemciyi baslatmadan �nce deneyiniz.
+   saglayacakt�r. Bu komut, varolan s�rece (current process) ve komut �al�st�r�ld�ktan
+   sonraki t�m alt islemlere uygulan�r. E�er SQL istemcinizle, backendin �ok fazla veri 
+   d�nd�rmesi nedeniyle bir sorun ya��yorsan�z, bunu istemciyi ba�latmadan �nce deneyiniz.
    
-       4.19) Hangi PostgreSQL s�r�m�n� �al�st�rd�g�m� nasil g�rebilirim?
+       4.19) Hangi PostgreSQL s�r�m�n� �al�st�rd�g�m� nas�l g�rebilirim?
     
-   psql arabiriminde, select version(); yaz�n�z.
+   psql arabiriminde, SELECT version(); yaz�n�z.
    
    4.20) Neden large-object islemlerim, "invalid large obj descriptor"? hatas�n� veriyor?
 
-   Large object islemlerinizin uclarina, yani  lo_open ... lo_close komutlar�n�n �evresine, 
-    BEGIN WORK ve COMMIT koyman�z gerekmektedir;
+   Large object i�lemlerinizin u�lar�na, yani  lo_open ... lo_close komutlar�n�n �evresine, 
+    BEGIN WORK ve COMMIT koyman�z gerekmektedir.
 
    Eger ODBC gibi bir istemci arabirimi kullan�yorsan�z, auto-commit'i kapatman�z gerekebilir.
    
-   4.21) Su andaki zaman� �ntan�ml� deger olarak kabul eden How do � create a column that will default to the current time?
+   4.21) �u andaki zaman� �ntan�ml� de�er olarak kabul eden kolonu nas�l yaratabilirim?
     
    Alttakini kullanabilirsiniz:
 
@@ -924,25 +910,29 @@ respectively.
 	CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
 
    4.22) Neden IN kullanan subquerylerim �ok yavas?
-    
-   Currently, we join subqueries to outer queries by sequentially scanning the result of the subquery for 
-   each row of the outer query. IN' i EXISTS ile de�i�tirerek bir ��z�me ula��labilir.
 
-SELECT *
+7.4 s�r�m�nden �nce, subqueryler. E�er subquery sadece birka� sat�r ve outer query bol say�da sat�r d�nd�r�yorsa, IN 
+en h�zl�s�d�r. Sorgular� h�zland�rmak i�in IN yerine EXISTS kullan�n:
+
+    SELECT *
     FROM tab
-    WHERE col1 �N (SELECT col2 FROM TAB2)
+    WHERE col IN (SELECT subcol FROM subtab);
+
+sorgusunu, a�a��daki ile de�i�tirin:
 
-   to:
-SELECT *
+    SELECT *
     FROM tab
-    WHERE EX�STS (SELECT col2 FROM TAB2 WHERE col1 = col2)
+    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
 
-   Bu s�n�rlamay� ilerdeki s�r�mlerimizde d�zeltmeyi planlamaktay�z.
+ Bunun h�zl� olabilmesi i�in, subcol'un indekslenmi� bir kolon olmas� gerekmektedir.
+ 
+	7.4 s�r�m� ve sonras�nda, IN asl�nda normal sorgularla ayn� karma��k join tekniklerini kullan�r ve EXISTS'e tercih 
+	edilir.
    
-       4.23) Outer join islemini nasil yapabilirim?
+       4.23) Outer join islemini nas�l yapabilirim?
     
-   PostgreSQL outer joins islemlerini SQL standartlar�n� kullanarak ger�eklestirmektedir.
-   Asagida 2 �rnek bulunmaktad�r:
+   PostgreSQL outer join i�lemlerini SQL standartlar�n� kullanarak ger�ekle�tirmektedir.
+   A�a��da 2 �rnek bulunmaktad�r:
 
     SELECT *
     FROM t1 LEFT OUTER JO�N t2 ON (t1.col = t2.col);
@@ -952,9 +942,9 @@ SELECT *
     SELECT *
     FROM t1 LEFT OUTER JO�N t2 US�NG (col);
 
-   Bu �zdes sorgular t1.col ' i  t2.col'ye join ederler ve ayn� zamanda t1'deki unjoined sat�rlar� 
-   (t2'de eslenmenis olanlarla) d�nd�r�rler. R�GHT JO�N t2'nin unjoined sat�rlar�n� ekleyecektir.
-   Bir FULL join, e�le�mi� bt�n sat�rlar� ve t1 ile t2'den t�m ba�lanmam�� (unjoined) sat�rlar� al�r.
+   Bu �zde� sorgular t1.col ' i  t2.col'ye join ederler ve ayn� zamanda t1'deki unjoined sat�rlar� 
+   (t2'de e�lenmenis olanlarla) d�nd�r�rler. RIGHT JO�N t2'nin unjoined sat�rlar�n� ekleyecektir.
+   Bir FULL join, e�le�mi� b�t�n sat�rlar� ve t1 ile t2'den t�m ba�lanmam�� (unjoined) sat�rlar� al�r.
    OUTER s�zc��� se�imseldir ve LEFT, RIGHT ve FULL join i�lemlerinde oldu�u kabul edilir. S�radan 
    join i�lemleri INNER join olarak adland�r�l�r.
 
@@ -970,28 +960,28 @@ SELECT *
     WHERE tab1.col1 NOT �N (SELECT tab2.col1 FROM tab2)
     ORDER BY col1
 
-       4.24) Ayni andan birden fazla veritabaninda nasil islem yapabilirim?
-    
+       4.24) Ayn� anda birden fazla veritaban�nda nas�l i�lem yapabilirim?
+
    Mevcut veritaban�n�z d�s�ndaki baska bir veritaban�n�z� sorgulaman�z�n bir yolu bulunmamaktad�r.
    bunun nedeni, PostgreSQL'in veritaban�na �zel sistem kataloglar� y�klemesidir. Bu nedenle, 
-   cross-database bir sorgunun nasil davranacag�n� kestirmek zordur.
+   cross-database bir sorgunun nas�l davranacag�n� kestirmek zordur.
    
-   contrib/dblink fonksiyon �a�r�lar�n� kullanarak cross-database sorgulara izin verid. Tabii ki, 
-   bir istemci degisik veritabanlar�na ayn� anda erisim saglayabilir ve bilgiyi bu sekilde
-   birlestirebilir.
+   contrib/dblink fonksiyon �a�r�lar�n� kullanarak cross-database sorgulara izin vermektedir. Tabii ki, 
+   bir istemci de�i�ik veritabanlar�na ayn� anda eri�im sa�layabilir ve bilgiyi bu sekilde
+   birle�tirebilir.
 
    4.25) Bir fonksiyondan nas�l �oklu sat�r ya da kolon d�nd�rebilirim?
 
    7.3 s�r�m�nde, bir fonksiyondan kolayl�kla �oklu sat�r ya da s�tun d�nd�rebilirsiniz.
 
-	http://techdocs.postgresql.org/guides/SetReturningFunctions.
+	http://techdocs.postgresql.org/guides/SetReturningFunctions .
 
-   4.26) Neden Pl/PgSQL fonksiyonlar� i�inden g�venli bir �ekilde tablo yaratma/kald�rma i�lemlerini yapam�yoruz?
+   4.26) Neden PL/pgSQL fonksiyonlar� i�inden g�venli bir �ekilde tablo yaratma/kald�rma i�lemlerini yapam�yoruz?
 
-   PL/PgSQL fonksiyon i�erikleri cacheler. Bunun istenmeyen bir taraf�, e�er bir PL/PgSQL fonksiyonu ge�ici bir
+   PL/pgSQL fonksiyon i�erikleri cacheler. Bunun istenmeyen bir taraf�, e�er bir PL/pgSQL fonksiyonu ge�ici bir
    tabloya eri�iyorsa ve bu tablo ileride kald�r�l�p yeniden olu�turulduktan sonra fonksiyon yeniden �a�r�l�rsa,
    fonksiyon �al��mayacakt�r; ��nk� cachelenmi� fonksiyon hala eski ge�ici tabloyu g�steriyor olacakt�r. ��z�m,
-   ge�ici tablo eri�imleri i�in PL/PgSQL'de EXECUTE kullanmakt�r. Bu, sorgunun her seferinde yeniden i�lenmesini
+   ge�ici tablo eri�imleri i�in PL/pgSQL'de EXECUTE kullanmakt�r. Bu, sorgunun her seferinde yeniden i�lenmesini
    sa�layacakt�r.
 
    4.27) Hangi replikasyon se�enekleri bulunmaktad�r?
@@ -1005,33 +995,36 @@ SELECT *
    4.28) Hangi �ifreleme se�enekleri bulunmaktad�r?
 
     * contrib/pgcrypto SQL sorgular�nda kullan�labilmesi i�in �ifreleme fonksiyonlar� i�ermektedir.
-    * �stemciden sunucuya ileti�imi �ifrelemenin tek yolu, pg_hba.conf i�inde hostssl kullanmakt�r.
+    * �stemciden sunucuya ileti�imi �ifrelemek i�in, sunucuda ssl se�ene�i postgresql.conf i�inde a��k olmal�d�r.
+      Ayr�ca,pg_hba.conf dosyas� i�inde host ya da hostssl kayd� mutlaka olmal�d�r ve istemci sslmode 
+      kapat�lmamal�d�r. (Ayn� zamanda,PostgreSQL'in do�al SSL ba�lant�lar� d���nda ssh ya da ssl gibi 3.parti 
+      �ifrelenmi� veri iletimi de m�mk�nd�r.)
     * Veritaban� kullan�c� ad� ve �ifreleri 7.3 s�r�m� ile birlikte otomatik olarak �ifrelenirler. �nceki 
-     s�r�mlerde, postgresql.conf i�indeki PASSWORD_ENCRYPTION se�ene�ini aktif hale getirmeniz gerekmektedir.
+      s�r�mlerde, postgresql.conf i�indeki PASSWORD_ENCRYPTION se�ene�ini aktif hale getirmeniz gerekmektedir.
     * Sunucunun kendisini �ifreli dosya sistemi �zerinde �al��t�rabilirsiniz.
 
      _________________________________________________________________
    
     		PostgreSQL �zelliklerini Geni�letmek
 
-    5.1)  Kullanici-tanimli bir fonksiyon yazdim. psql'de �alistirdigim zaman neden core dump ediyor?
+    5.1)  Kullan�c�-tan�ml� bir fonksiyon yazd�m. psql'de �al��t�rd���m zaman neden core dump ediyor?
     
    Sorunun nedeni birden fazla sey olabilir. Kullanici-tanimli fonksiyonunuzu stand-alone bir programda
    calistirmayi deneyiniz.
    
-    5.2) PostgreSQL'e nasil yeni tipler/fonksiyonlar ekleyeiblirim?
+    5.2) PostgreSQL'e nas�l yeni veri tipleri/fonksiyonlar ekleyebilirim?
     
-   �al�smalar�n�z� pgsql-hackers e-posta listesine g�nderiniz. Kodunuz incelendikten sonra
+   �al��malar�n�z� pgsql-hackers e-posta listesine g�nderiniz. Kodunuz incelendikten sonra
    /contrib dizinine konacakt�r.
    
-    5.3) Bir tuple dond�rmek icin bir C fonksiyonunu nasil yazar�m?
+    5.3) Bir tuple d�nd�rmek icin bir C fonksiyonunu nas�l yazar�m?
     
-     PostgreSQL 7.3 s�r�m� ile birlikte, C, PL/PgSQL ve SQL kullan�larak tablo-d�nd�ren 
+     PostgreSQL 7.3 s�r�m� ile birlikte, C, PL/pgSQL ve SQL kullan�larak tablo-d�nd�ren 
      fonksiyonlar tamamen desteklenmektedir. Ayr�nt�l� bilgi i�in "Programmer's Guide" a 
-    bakabilrisiniz. Bir �rne�i contrib/tablefunc i�inde bulabilirsiniz.
+     bakabilirsiniz. Bir �rne�i contrib/tablefunc i�inde bulabilirsiniz.
 
     5.4) Bir kaynak dosyas�nda de�i�iklik yapt�m. Yeniden derlememe ra�men de�i�iklik 
-ge�erli olmuyor. Neden?
+     ge�erli olmuyor. Neden?
     
    Makefile'lar include dosyalar� i�in tam bir ba��ml�l�k i�ermezler. 
    �ncelikle make clean, ard�ndan da baska bir make i�lemi yapman�z gerekir.
diff --git a/doc/src/FAQ/FAQ_turkish.html b/doc/src/FAQ/FAQ_turkish.html
index 9e700dac678..a3f2636be95 100644
--- a/doc/src/FAQ/FAQ_turkish.html
+++ b/doc/src/FAQ/FAQ_turkish.html
@@ -1,734 +1,574 @@
-
-  PostgreSQL i�in S�k�a Sorulan Sorular (SSS)
-
-Son g�ncelleme : 26 Temmuz 2003 Cumartesi - 18:32:11
-
-Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us
-<mailto:pgman@candle.pha.pa.us>)
-
-�evirenler : Devrim G�nd�z (devrim@gunduz.org <mailto:devrim@gunduz.org>)
-Nicholas Morris Tufar (ntufar@yahoo.com <mailto:ntufar@yahoo.com>)
-Volkan Yaz�c� (volkany@celiknet.com <mailto:volkany@celiknet.com>)
-
-Bu belgenin en g�ncel hali,
-http://www.PostgreSQL.org/docs/faqs/FAQ_turkish.html
-<http://www.postgresql.org/docs/faqs/FAQ_turkish.html> ve
-http://www.gunduz.org/seminer/pg/FAQ_turkish adreslerinde g�r�lebilir.
-
-Platforma �zel sorular�n�z, http://www.PostgreSQL.org/docs/index.html
-<http://www.postgresql.org/docs/index.html> adresinde yan�tlan�r.
-
-------------------------------------------------------------------------
-
-
-    Genel Sorular
-
-1.1 <#1.1>) PostgreSQL nedir? Nas�l okunur?
-1.2 <#1.2>) PostgreSQL' in haklar� nedir?
-1.3 <#1.3>) PostgreSQL, hangi Unix platformlar�nda �al�s�r?
-1.4 <#1.4>) Hangi Unix olmayan uyarlamalar� bulunmaktad�r?
-1.5 <#1.5>) PostgreSQL'i nereden indirebilirim?
-1.6 <#1.6>) Deste�i nereden alabilirim?
-1.7 <#1.7>) En son s�r�m� nedir?
-1.8 <#1.8>) Hangi belgelere ula�abilirim?
-1.9 <#1.9>) Bilinen hatalar ya da eksik �zelliklere nereden ulasabilirim?
-1.10 <#1.10>) Nas�l SQL ��renebilirim?
-1.11 <#1.11>) PostgreSQL 2000 y�l�na uyumlu mudur?
-1.12 <#1.12>) Geli�tirme tak�m�na nas�l kat�labilirim??
-1.13 <#1.13>) Bir hata raporunu nas�l g�nderebilirim?
-1.14 <#1.14>) PostgreSQL, di�er VTYS(DBMS) lerle nas�l kar��la�t�r�labilir?
-1.15 <#1.15>) PostgreSQL'e maddi a��dan nas�l destek olabilirim?
-
-
-    Kullan�c�/istemci Sorular�
-
-2.1 <#2.1>) PostgreSQL i�in ODBC s�r�c�leri var m� ?
-2.2 <#2.2>) PostgreSQL'i web sayfalar�nda kullanabilmek i�in hangi
-ara�lar bulunmaktad�r ?
-2.3 <#2.3>) PostgreSQL'in grafik kullan�c� arabirimi var m�d�r?
-2.4 <#2.4>) PostgreSQL ile ileti�imi kurabilmek i�in hangi dilleri
-kullanabilirim?
-
-
-    Y�netimsel Sorular
-
-3.1 <#3.1>) PostgreSQL'i //usr/local/pgsql/ dizininden ba�ka dizinlere
-nas�l kurabilirim??
-3.2 <#3.2>) /Postmaster/'� ba�latt���mda /Bad System Call/ ya da core
-dumped mesaj� al�yorum. Neden?
-3.3 <#3.3>) /Postmaster/'� ba�latt���mda, /IpcMemoryCreate/ hatas�
-al�yorum. Neden?
-3.4 <#3.4>) /Postmaster/, ba�latt���mda, /IpcSemaphoreCreate hatas�/
-al�yorum. Neden?
-3.5 <#3.5>) Di�er bilgisayarlar�n benim PostgreSQL veritaban� sunucuma
-ba�lant�lar�n� nas�l kontrol edebilirim?
-3.6 <#3.6>) Veritaban� motorunu daha iyi ba�ar�m icin nas�l ayarlayabilirim?
-3.7 <#3.7>) Hangi hata ay�klama �zellikleri bulunmaktad�r?
-3.8 <#3.8>) Ba�lanmaya �al���rken, neden "/Sorry, too many clients/"
-hatas�n� al�yorum?
-3.9 <#3.9>) /pgsql_tmp/dizinin i�indeki dosyalar nelerdir?
-3.10 <#3.10>) PostgreSQL s�r�mlerini y�kselmek i�in neden bir
-dump/reload i�lemi ger�ekle�tirmek zorunday�m?
-
-
-    ��letimsel Sorular
-
-4.1 <#4.1>) Binary cursor ve normal cursor aras�ndaki fark ned�r?
-4.2 <#4.2>)Sorgunun sadece ilk birka� sat�r�n� nas�l SELECT edebilirim?
-4.3 <#4.3>) /psql/'in i�inde g�rd�g�m tablolarin ya da di�er �eylerin
-listesini nas�l alabilirim?
-4.4 <#4.4>)Bir tablodan bir kolonu nas�l kald�rabilirim?
-4.5 <#4.5>)Bir sat�r, tablo ve veritaban� icin en fazla b�y�kl�k nedir?
-4.6 <#4.6>) Tipik bir metin dosyas�ndaki veriyi saklamak i�in ne kadar
-disk alan� gereklidir?
-4.7 <#4.7>) Veritaban�nda hangi tablo ya da indexlerin tan�mland�g�n�
-nasil g�rebilirim?
-4.8 <#4.8>) Sorgular�m cok yavas, ya da indexlerimi kullanmiyorlar. Neden?
-4.9 <#4.9>) Query-optimizer in sorgular�m� nas�l de�erlendirdigini,
-i�leme soktu�unu nas�l g�rebilirim?
-4.10 <#4.10>) R-tree index nedir?
-4.11 <#4.11>) Genetic Query Optimizer nedir?
-4.12 <#4.12>) D�zenli ifade (Regular Expression) aramalar�n� ve
-b�y�k/k���k harfe duyars�z aramalar� nasil yapabilirim? Bu b�y�k(k���k
-harfe duyarl� aramalar i�in indeksi nasil kullanabilirim?
-4.13 <#4.13>) Bir sorguda, bir alan�n NULL oldu�unu nas�l ortaya
-��karabilirim?
-4.14 <#4.14>) �esitli karakter tipleri aras�ndaki farklar nelerdir?
-4.15.1 <#4.15.1>) Nas�l serial/otomatik artan(auto-incrementing) bir
-alan yaratabilirim?
-4.15.2 <#4.15.2>) Serial giri�inin de�erini nas�l alabilirim?
-4.15.3 <#4.15.3>) /currval()/ ve /nextval()/ di�er kullan�c�lara sorun
-yaratmaz m�?>
-4.15.4 <#4.15.4>) Neden sequence say�lar�n transaction i�leminin
-iptalinden sonra yeniden kullan�l�yor? Neden sequence/SERIAL kolonumdaki
-say�larda atlamalar oluyor?
-4.16 <#4.16>) OID nedir? TID nedir?
-4.17 <#4.17>) PostgreSQL' de kullan�lan baz� terimlerin anlamlar� nelerdi?
-4.18 <#4.18>) Neden /"ERROR: Memory exhausted in AllocSetAlloc()"/
-hatas�n� al�yorum?
-4.19 <#4.19>) Hangi PostgreSQL s�r�m�n� �al�st�rd���m� nas�l g�rebilirim??
-4.20 <#4.20>) Neden large-object i�lemlerim, /"invalid large obj
-descriptor"/ hatas�n� veriyor?
-4.21 <#4.21>) �u andaki zaman� �ntan�ml� de�er olarak kabul eden kolonu
-nas�l yarat�r�m?
-4.22 <#4.22>) Neden |IN| kullanan subquerylerim �ok yava�?
-4.23 <#4.23>) Outer join i�lemini nas�l yapabilirim?
-4.24 <#4.24>) Ayn� anda birden fazla veritaban�nda nas�l i�lem yapabilirim?
-4.25 <#4.25>) Bir fonksiyondan nas�l �oklu sat�r ya da kolon
-d�nd�rebilirim??
-4.26 <#4.26>) Neden Pl/PgSQL fonksiyonlar� i�inden g�venli bir �ekilde
-tablo yaratma/kald�rma i�lemlerini yapam�yoruz?
-4.27 <#4.27>) Hangi replikasyon se�enekleri bulunmaktad�r?
-4.28"D <#4.28>) Hangi �ifreleme se�enekleri bulunmaktad�r?
-
-
-    PostgreSQL �zelliklerini Geni�letmek
-
-5.1 <#5.1>) Kullan�c�-tan�ml� bir fonksiyon yazd�m. /psql/'de
-�al��t�rd���m zaman neden core dump ediyor?
-5.2 <#5.2>) PostgreSQL'e nas�l yeni veri tipleri/fonksiyonlar ekleyebilirim?
-5.3 <#5.3>) Bir tuple d�nd�rmek i�in bir C fonksiyonunu nas�l yazar�m?
-5.4 <#5.4>) Bir kaynak dosyas�nda de�isiklik yapt�m. Yeniden derlememe
-ra�men de�i�iklik ge�erli olmuyor. Neden??
-------------------------------------------------------------------------
-
-
-    Genel Sorular
-
-
-        1.1) PostgreSQL nedir? Nas�l okunur?
-
-PostgreSQL, /Post-Gres-Q-L/. olarak okunur
-
-PostgreSQL, yeni-nesil VTYS ara�t�rma prototipi olan POSTGRES veritaban�
-y�netim sisteminin geli�tirilmesidir. POSTGRES' in zengin veri tiplerini
-ve g��l� veri modelini tutarken, SQL'in geli�tirilmis alt k�mesi olan
-PostQuel dilini kullan�r. PostgreSQL �cretsizdir ve kaynak kodu a��k
-da��t�l�r.
-
-PostgreSQL, PostgreSQL geli�tirme listesine �ye olan bir Internet
-geli�tirici tak�m� taraf�ndan geli�tirilir. �u andaki koordinat�r, Marc
-G. Fournier (scrappy@PostgreSQL.org <mailto:scrappy@PostgreSQL.org>).
-(Bu tak�ma nas�l kat�lacag�n�z� ��renmek i�in 1.6 <#1.6> numaral�
-maddeyi okuyunuz.) Bu tak�m, t�m PostgreSQL geli�iminden sorumludur.
-
-PostgreSQL 1.01 s�r�m�n�n yazarlar� Andrew Yu ve Jolly Chen idi.
-Bunlar�n d���nda bir ka� kisi de uyarlama, hata ay�klama ve kodun
-geli�tirilmesi i�in �al�sm��t�. PostgreSQL'in t�redigi orijinal Postgres
-kodu, lisans, lisans�st� ve akademisyenler taraf�ndan, Professor Michael
-Stonebraker ) University of California, Berkeley) koordinat�rl�g�nde
-yaz�lm�st�r.
-
-Berkley'deki yaz�l�m�n ad� Postgres idi. SQL uyumlulu�u 1995'te
-eklenince, ad� Postgres 95 oldu. 1996 y�l�n�n sonlar�nda ad� PostgreSQL
-olarak de�i�tirildi.
-
-
-        1.2) PostgreSQL'in haklar� nedir?
-
-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.
-
-�stteki metin klasik a��k-kod lisans� olan BSD lisans�d�r. Kaynak kodun
-nas�l kullan�labilece�ine dair s�n�rlamalar� yoktur. Bu lisans�
-seviyoruz. De�i�tirme niyetimiz bulunmamaktad�r.
-
-
-        1.3) PostgreSQL, hangi Unix platforlar�nda �al�s�r?
-
-Genel olarak, modern bir Unix-uyumlu platform PostgreSQL'i
-�al��t�racakt�r. Ayr�nt�l� bilgi i�in kurulum belgelerine bakabilirsiniz.
-
-
-        1.4) Hangi Unix olmayan uyarlamalar� bulunmaktad�r?
-
-*�stemci*
-
-libpq C k�t�phanesini, psql ve diger arabirimleri ve binary dosyalar�,
-MS Windows ortamlar�nda �al�smas� i�in derlemeniz m�mk�nd�r. Bu �rnekte
-istemcide MS Windows �al�s�yor ve desteklenen Unix platformlar�ndan
-birinde �al�san PostgreSQL sunucuna TCP/IP ile baglanmaktad�r. Da��t�m
-i�indeki win31.mak dosyas� ile, Win32 libpg k�t�phanesi ve psql
-yaratabilirsiniz. PostgreSQL ayn� zamanda ODBC istemcileri ile
-haberlesebilmektedir.
-
-*Sunucu*
-
-Veritaban� sunuucsu Cygwin kullanarak Windows NT, 2K ya da XP �zerinde
-calistirilabilir. Dag�t�m i�indeki pgsql/doc/FAQ_MSW�N dosyas�n� ya da
-web sitemizdeki MS Windows FAQ'u inceleyebilirsiniz.
-
-Do�al Windows NT/2000/XP portu i�in �u anda �al��malar devam etmektedir.
-Windows s�r�m� hakk�nda g�ncel bilgi i�in,
-http://techdocs.postgresql.org/guides/Windows adresini ziyaret
-edebilirsiniz.
-
-Ayr�ca, http://forge.novell.com adresinde Novell Netware 6 portu
-bulunmaktad�r.
-
-
-        1.5) PostgreSQL'i nereden indirebilirim?
-
-PostgreSQL i�in ana anonim ftp sitesi ftp://ftp.PostgreSQL.org/pub' dur.
-Yans�lar i�in, ana web sayfam�za bakabilirsiniz.
-
-
-        1.6) Nereden destek alabilirim?
-
-Ana e-posta listesi : pgsql-general@PostgreSQL.org. PostgreSQL
-konusundaki tart�smalara a��kt�r. �ye olmak i�in, asag�daki sat�rlar�
-e-postanizin body k�sm�na (konu k�sm�na degil) yaz�p,
-pgsql-general-request@PostgreSQL.org adresine g�nderin:
-
-subscribe
-end
-
-Ayn� zamanda, bir digest listesi bulunmaktad�r. Bu listeye �ye olmak
-i�in, pgsql-general-digest-request@PostgreSQL.org adresine, body k�sm�nda
-
-subscribe
-end
-
-yazan bir e-posta atman�z yeterli olacakt�r.
-
-Digest postalar, ana liste 30k civar�nda e-postaya ulastiginda �yelere
-g�nderilmektedir.
-
-Buglar i�in bir e-posta listesi bulunmaktad�r. Bu listeye �ye olmak
-i�in, email to pgsql-bugs-request@PostgreSQL.org adresine, body k�sm�nda
-
-subscribe
-end
-
-yazan bir e-posta atman�z yeterli olacakt�r.
-
-Ayn� zamanda, gelistiriciler i�in tart�sma listesi bulunmaktad�r. Bu
-listeye �ye olmak i�in, pgsql-hackers-request@PostgreSQL.org adresine,
-body k�sm�nda
-
-subscribe
-end
-
-yazan bir e-posta atman�z yeterli olacakt�r.
-
-Bunun d�s�ndaki e-posta listelerine ve PostgreSQL hakk�nda bilgiye,
-PostgreSQL WWW ana sayfas�ndan ulasabilirsiniz:
-
-http://www.PostgreSQL.org
-
-Ayn� zamanda, EFNet �zerinde, #PostgreSQL adl� bir �RC kanal�
-bulunmaktad�r. Bunun i�in, irc -c '#PostgreSQL' "$USER" irc.phoenix.net
-Unix komutunu kullanabilirsiniz.
-
-Ticari destek veren firmalar�n listesine
-
-http://www.postgresql.org/users-lounge/commercial-support.html
-
-adresinden ulasabilirsiniz.
-
-
-        1.7) En son s�r�m nedir?
-
-PostgreSQL'in son s�r�m� 7.3.3't�r.
-
-Her 4 ayda major release ��kar�lmas� planlanmaktad�r.
-
-
-        1.8) Hangi belgelere ulasabilirim?
-
-Da��t�m�n icinde, kitapciklar, kitapcik sayfalari ve bazi k���k �rnekler
-verilmektedir. /doc dizinine bak�n�z. Ayrica, bu el kitap��klar�n�
-online olarak http://www.PostgreSQL.org/docs/ adresinden inceleyebilirsiniz.
-
-http://www.PostgreSQL.org/docs/awbook.html ve
-http://www.commandprompt.com/ppbook adreslerinde PostgreSQL kitaplar�
-bulunmaktad�r. PostgreSQL kitablar�n�n listesine,
-http://www.ca.PostgreSQL.org/books/ adresinden ula�aiblirsiniz. Ayr�ca,
-PostgreSQL konusundaki teknik makalelere de
-http://techdocs.PostgreSQL.org/ adresinden ula�abilirsiniz.
-
-psql'in, \d ile baslayan veri tipler, operatorler, fonksiyonlar,
-aggregateler, vb. ile ilgili g�zel komutlar� vard�r.
-
-Web sitemiz daha fazla belgeyi i�ermektedir.
-
-
-        1.9) Bilinen hatalar ya da eksik �zelliklere nereden ulasabilirim?
-
-PostgreSQL SQL-92 uyumlugugu icindedir, standartlardan fazla da
-�zellikleri bulunmaktad�r. Bilinen hatalar, eksik �zellikler ve gelecek
-ile ilgili planlar i�in TODO listesine bak�n�z.
-
-
-        1.10) Nas�l SQL ��renebilirim?
-
-http:/www.PostgreSQL.org/docs/awbook.html adresindeki kitap SQL
-�gretecektir. http://www.commandprompt.com/ppbook adresinde de bir baska
-PostgreSQL kitab� bulunmaktad�r.
-
-http://www.intermedia.net/support/sql/sqltut.shtm,
-http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
-http://sqlcourse.com ve http://sqlcourse2.com adreslerinde de g�zel
-belgeler bulunmaktad�r.
-
-Bir ba�kas� da, http://members.tripod.com/er4ebus/sql/index.htm
-adresinde bulunan "Teach Yourself SQL in 21 Days, Second Edition" kitab�d�r.
-
-Baz� kullan�c�lar�m�z da �u kitab� �nermektedirler: The Practical SQL
-Handbook, Bowman, Judith S., et al.,Addison-Wesley. Others like The
-Complete Reference SQL, Groff et al., McGraw-Hill.
-
-
-        1.11) PostgreSQL 2000 y�l�na uyumlu mudur?
-
-Evet.
-
-
-        1.12) Gelistirme tak�m�na nas�l kat�labilirim?
-
-�ncelikle, en son kaynak kodunu indirin ve web sitemizdeki ya da
-dag�t�m�n i�indeki PostgreSQL Developer belgesini okuyun. Ardindan,
-pgsql-hackers ve pgsql-patches listelerine �ye olun. ���nc� olarak da,
-pgsql-pacthes listesine y�ksek kalitede yamalar g�nderin.
-
-PostgreSQL CVS arsivine erisim izni olan, 10 kadar gelistirici
-bulunmaktadir. Hepsi defalarca, diger kisilerin yaptigindan cok daha
-y�ksek-kaliteli patchler gondermislerdir. Ayrica biz de bu
-gelistiricilerin ekledikleri yamalarin y�ksek kalitede olduguna g�veniyoruz.
-
-
-        1.13) Bir hata raporunu nas�l g�nderebilirim?
-
-PostgreSQL BugTool sayfasina gidiniz. O sayfada bir bug bildirmek icin
-neleri yapman�z gerektigi anlatilmistir.
-
-Ayr�ca, ftp://ftp.PostgreSQL.org/pub ftp adresimizde, yeni bir
-PostgreSQL s�r�m� ya da yamasi olup olmadigini kontrol ediniz.
-
-
-        1.14) PostgreSQL, diger DBMS'lerle nas�l karsilast�r�labilir?
-
-Bir yazilimin g�c�n� �l�mek i�in �esitli yollar vardir: Yazilimin
-�zellikleri, basar�m�, g�venilirligi, destegi ve �creti.
-
-�zellikler:
-
-PostgreSQL mevcut b�y�k ticari veritabanlarinin, transaction, subselect,
-trigger, view, foreign key referential integrity ve sophisticated
-locking gibi (user-defined types), rules, inheritance ve lock
-cak�smalarini d�s�rmek icin multi-version uyumluluk �zellikleri
-bulunmaktadir.
-
-Performans (Ba�ar�m):
-
-PostgreSQL, di�er ticari ve a��k kaynak kodlu veritabanlar�yla yak�n
-ba�ar�m� sa�lar. Baz� a��lardan daha h�zl�d�r, di�er a��lardan da
-yava�t�r. MySQL ya da daha zay�f veritabanlar� ile
-kar��la�t�r�ld���nda,insert/update islemlerinde, transaction bazl�
-�al�st���m�z i�in daha yava��z. MySQL, yukar�daki "�zellikler" k�sm�nda
-belirtilenlerden hi� birine sahip de�ildir. Biz, ba�ar�m�m�z� her
-s�r�mde artt�rsak da, esneklik ve geli�mi� �zellikler i�in yap�lanm�s
-durumday�z . PostgreSQL'i MySQL ile kar��la�t�ran �u web sitesine
-bakabilirsiniz: http://openacs.org/why-not-mysql.html
-
-G�venilirlik:
-
-DBMSlerin g�venilir olmas� gerketigi, yoksa degerleri olmayacagini
-d�s�n�yoruz �ok iyi test edilmis, dengeli �al�san minimum say�da hata
-i�eren kod sunmaya �al�s�yoruz. Her bir s�r�m en az 1 ayl�k beta
-testlerinden ge�irilmektedir. S�r�m ge�mi�ine bakarsan�z, �retime haz�r,
-dengeli ve kararl� kodlar sundugumuzu g�rebilirsiniz. Bu alanda, diger
-veritaban� yaZ�l�mlar�na �st�nl�g�m�z olduguna inanmaktay�z
-
-Destek:
-
-E-posta listemiz, olusan herhangi bir sorunu ��zebilecek b�y�k say�da
-kullan�c� ve gelistirici grubunu i�erir. Sorununuz i�in, en az bir
-ticari veritaban� kadar rahat ��z�m bulabilirsiniz. Gelistiricilere,
-kullan�c� grubuna, belgelere ve kaynak koda direk olarak erisebilme,
-PostgreSQL destegini, diger DBMSlere g�re daha �nemli k�lar. Gereksinimi
-olanlara, ticari destek verilebilir. (Destek i�in 1.6 b�l�m�ne bak�n�z.)
-
-Fiyat:
-
-Ticari ve ticari olmayan t�m kullan�mlar�n�z i�in PostgreSQL
-�cretsizdir. Kodumuzu, yukar�da belirtilen BSD-stili lisanstaki
-s�n�rlamalar hari�, �r�n�n�z�n i�ine ekleyebilirsiniz.
-
-
-        1.15) PostgreSQL'e maddi a��dan nas�l destek olabilirim?
-
-PostgreSQL, 1996 y�l�ndan beri 1.s�n�f altyap�ya ashiptir. Bunun i�in,
-y�llar boyu �al�s�p bu altyap�y� olusturup y�neten Marc Fournier'e
-tesekk�rler.
-
-Bir a��k kaynak kodlu proje i�in, kaliteli altyap� �ok �nemlidir. Bu
-altyap�, projenin kesilmesini �nler ve projenin ilerlemesini h�zland�r�r.
-
-Tabii ki bu altyap� ucuz degildir. �slerin y�r�mesi i�in �e�itli y�l�k
-ve anl�k harcamalar�m�z olmaktad�r. Eger siz ya da sirketinizin bu
-�abam�za bag�sta bulunabilecek paras� varsa, l�tfen
-http://www.pgsql.com/pg_goodies adresine gidiniz ve bag�sta, hibede
-bulununuz.
-
-Web sayfas�n�n PostgreSQL, �nc.' den bahsetmesine ragmen, "katk�da
-bulunanlar" (contributors) maddesi sadece PostgreSQL projesini
-desteklemek i�indir ve belirli bir sirketin para kaynag� degildir.
-isterseniz, baglant� adresine bir �ek g�nderebilirsiniz.
-
-------------------------------------------------------------------------
-
-
-    Kullan�c�/istemci Sorular�
-
-
-        2.1) PostgreSQL icin ODBC s�r�c�leri var m�?
-
-iki tane ODBC s�r�c�s� bulunmaktad�r: PsqlODBC ve OpenLink ODBC.
-
-PsqlODBC'i http://gborg.postgresql.org/project/psqlodbc/projdisplay.php
-adresinden indirebilirsiniz.
-
-OpenLink ODBC http://www.openlinksw.com adresinden al�nabilir.Bu s�r�c�,
-kendi standart ODBC istemci yaz�l�m� ile �al�st���ndan, destekledikleri
-her platformda (Win, Mac, Unix, VMS) PostgreSQL ODBC bulunmalidir.
-
-�cretsiz s�r�m� olmakla beraber, ticari kalitede destek almak
-isteyenlere satmak isteyeceklerdir. Sorular�n�z� l�tfen
-postgres95@openlink.co.uk adresine g�nderiniz.
-
-
-        2.2) PostgreSQL'i web sayfalar�nda kullanabilmek i�in hangi
-        ara�lar bulunmaktad�r?
-
-http://www.webreview.com adresinde, arka planda veritaban� �al�st�ran
-Web sayfalar� i�in giris seviyesinde bilgi bulunmaktad�r.
-
-Web ile b�t�nlesme i�in, PHP m�kemmel bir arabirim sunar. http://www.php.net
-
-Karma��k sorunlar i�in, �o�u kisi Perl arabirimini ve CGI.pm ya da
-mod_perl kullan�r.
-
-
-        2.3) PostgreSQL'in grafik kullan�c� arabirimi var m�d�r?
-
-�e�itli grafik arabirimlerimiz bulunmaktad�r. Bunlar�n aras�nda,
-PgAccess (http://www.pgaccess.org), PgAdmin II (http://www.pgadmin.org,
-sadece Win32 i�in), RHDB Admin (http://sources.redhat.com/rhdb/ ) ve
-Rekall (http://www.thekompany.com/products/rekall/) bulunmaktad�r.
-Ayr�ca, PostgreSQL i�in web tabanl� bir arabirim olan PHPPgAdmin (
-http://phppgadmin.sourceforge.net/ ) bulunmaktad�r.
-
-Daha ayr�nt�l� liste i�in http://techdocs.postgresql.org/guides/GUITools
-adresine bakabilirsiniz.
-
-
-        2.4) PostgreSQL ile ileti�imi kurabilmek i�in hangi dilleri
-        kullanabilirim?
-
-    * C (libpq)
-    * Embedded C (ecpg)
-    * Java (jdbc)
-    * Python (PyGreSQL)
-    * TCL (libpgtcl)
-
-Di�erleri i�in, http://gborg.postgresql.org adresindeki
-Drivers/Interfaces b�l�m�ne bakabilirsiniz.
-
-------------------------------------------------------------------------
-
-
-    Y�netimsel Sorular
-
-
-        3.1) PostgreSQL'i, /usr/local/pgsql dizininden baska dizinlere
-        nas�l kurabilirim?
-
-configure betigini �al�st�r�rken, --prefix se�enegini veriniz.
-
-
-        3.2) postmaster'i baslatt�g�mda, a Bad System Call ya da core
-        dumped mesaj� al�yorum. Neden?
-
-Bunun bir�ok nedeni olabilir. Ancak ilk kontrol edilmesi gereken sey,
-�ekirdeginize System V uzant�lar�n�n kurulu olup olmad�g�n� kontrol
-etmek olabilir. PostgreSQL shared memory ve semaphores i�in �ekirdek
-destegine gereksinim duyar.
-
-
-        3.3) postmaster'i baslatt�g�mda, a �pcMemoryCreate hatas�
-        al�yorum. Neden?
-
-Ya �ekirdeginizde shared memory desteginiz d�zg�nce
-yap�land�r�lmam�st�r, ya da �ekirdeginizdeki mevcut shared memory
-miktar�n� b�y�tmeniz gerekecektir. Gereksinim duyacag�n�z miktar,
-mimarinize ve postmaster i�in ayarlad�g�n�z tampon ile backend islemi
-say�s�na bagl�d�r. T�m sistemler i�in, tamponlar ve islemlerde �ntan�ml�
-say�larla, ~ 1MB kadar yere gereksinmeniz olacaktir.PostgreSQL
-Administrator's Guide' a, shared memory ve semaphorelar hakk�ndaki
-ayr�nt�l� bilgi i�in bakabilirsiniz.
-
-
-        3.4) postmaster'i baslatt�g�mda, a �pcSemaphoreCreate hatas�
-        al�yorum. Neden?
-
-Eger hata, "�pcSemaphoreCreate: semget failed (No space left on device)"
-ise, �ekirdeginiz yeterli semaphore ile yap�land�r�lmam�s demektir.
-Postgres, her bir potansiyel backend i�in bir semaphore gereksinmesi
-duyar. Ge�ici bir ��z�m, postmaster� backend islemleri i�in daha az
-miktarda s�n�rla baslatmak olabilir. -N i varsa�lan deger olan 32'den
-k���k bir degerle baslat�n�z. Daha kal�c� bir ��z�m, �ekirde�inizin
-SEMMNS ve SEMMNI parametrelerini y�kseltmek olacakt�r.
-
-�al��mayan semaphorelar a��r veritaban� islemlerinde ��kme yaratabilirler.
-
-Eger hata mesaj�n�z baska birsey ise, �ekirdeginizde semaphore destegini
-yap�land�rmam�s olabilirsiniz. Shared memory ve semaphorelar hakk�ndaki
-daha ayr�nt�l� bilgi i�in PostgreSQL Administrator's Guide'a bakabilirsiniz.
-
-
-        3.5) Diger bilgisayarlar�n benim PostgreSQL veritaban� sunucuma
-        baglant�lar�n� nas�l kontrol edebilirim?
-
-�n tan�ml� olarak, PostgreSQL sadece yerel makineden Unix domain sockets
-kullanarak baglan�lmas�na izin verir. Diger makineler, postmaster'a -i
-etiketini ge�irmezseniz ve $PGDATA_pg_hba.conf dosyas�n� d�zenleyerek
-host-based authentication'a olanak vermezseniz, baglant� yapamayacaklard�r.
-
-
-        3.6) Veritabani motorunu daha iyi basarim icin nasil
-        ayarlayabilirim?
-
-Indexler sorgular� h�zland�rabilir. EXPLAIN komutu, PostgreSQL'in
-sorgunuzu nas�l yorumlad���n� ve hangi indexleri kullandigini g�rmenize
-izin verir.
-
-E�er cok fazla INSERT islemi yapiyorsaniz, bunlar� b�y�k bir toplu islem
-dosyasi kullan�p COPY komutu ile veritabanina girmeyi deneyiniz. Bu,
-tekil �NSERTlerden daha h�zl�d�r. ikinci olarak, BEG�N WORK/COMM�T
-transaction blogu i�inde olmayan ifadeler kendi transactionlarindaymis
-gibi d�s�n�l�r. �oklu ifadeleri tek bir transaction blo�u i�inde
-yapabilirsiniz. Bu, transaction overheadini d���recektir. Tek bir
-transaction blo�u i�inde birden �ok ifadeyi �al��t�rmay�
-deneyebilirsiniz. Bu, transaction overhead ini d���r�r.
-
-�e�itli ayarlama se�enekleri mevcuttur. fsync() i�lemini, postmaster'�
--o -F se�ene�i ile ba�latarak devre d��� b�rakabilirsiniz. Bu i�lem,
-fsync()'lerin her transactiondan sonra diske flush etmesini engelleyecektir.
-
-Ayn� zamanda, postmaster'i -B se�ene�i ile ba�lat�p, backend i�lemleri
-taraf�ndan kullan�lan shared memorf buffers say�lar�n�
-artt�rabilirsiniz. Eger bu parametreyi �ok y�ksek tutarsan�z,
-�ekirde�inizin shared memory b�lgesindeki limiti a�ma olas�l���n�z
-y�z�nden postmaster ba�layamayabilir. Her bir tampon (buffer) 8K'd�r.
-�ntan�ml� say� ise 64 tampondur.
-
-Ayn� �ekilde, backend'in -S se�ene�ini ge�ici s�ralamalar i�in backend
-s�re�leri taraf�ndan kullan�lacak haf�zay� artt�rmak amac�yla
-kullanabilirsiniz. -S se�ene�i kilobayt cinsinden de�er al�r ve �n
-tan�ml� de�eri 512'dir (512 K)
-
-Tablolardaki veriyi bir indekse e�lemek amac�yla gruplama i�in CLUSTER
-komutunu kullanabilirsiniz. Ayr�nt�l� bilgi i�in CLUSTER komutunun
-yard�m sayfas�na bakabilirsiniz.
-
-
-        3.7) Hangi hata ay�klama �zellikleri bulunmaktad�r?
-
-PostgreSQL, hata ay�klama amac�yla kullan�labilecek durum bilgisi rapor
-eden �e�itli �zeliklere sahiptir.
-
-�ncelikle, configure beti�ini --enable-cassert se�ene�iyle
-�al��t�r�rsan�z, bir �ok assert() backend cal��mas�n� g�zlemler ve
-beklenmeyen bir durumda program� durdurur.
-
-Postmaster ve postgres �e�itli hata ay�klama se�eneklerine sahiptir.
-�ncelikle, postmaster'i ba�latt���n�zda, standart ��kt�y� ve hatalar�
-bir log dosyas�na y�nlendirdi�inize emin olun:
-
-cd /usr/local/pgsql
-./bin/postmaster >server.log 2>&1 &
-
-Bu i�lem PostgreSQL ana dizinine server.log dosyas� yerle�tirecektir. Bu
-dosya sunucunun ya�ad��� sorunlar ya da hatalar hakk�nda yararl�
-bilgiler i�erir. -d se�ene�i, hata ay�klama seviyesini belirten bir
-rakam ile kullan�l�r. Y�ksek hata ay�klama seviyelerinin b�y�k log
-dosyalar� olu�turaca��n� unutmay�n�z.
-
-E�er postmaster �al��m�yorsa, postgres backend'ini komut sat�r�ndan
-�al��t�rabilir ve SQL ifadenizi direk olarak yazabilirsiniz. Bu sadece
-hata ay�klama amac�yla �nerilir. Burada, noktal� virg�l�n de�il de yeni
-bir sat�r�n sorguyu sonland�rd���n� unutmay�n�z. E�er hata ay�klama
-sembolleri ile derlediyseniz, ne oldu�unu g�rmek i�in bir hata
-ay�klay�c� kullanabilirsiniz. backend postmasterdan ba�lat�lmad���ndan,
-e�de�er bir ortamda �al��mamaktad�r ve locking/backend etkile�im
-sorunlar� artabilir.
-
-E�er postmaster �al���yorsa, bir pencerede psql'i �al��t�r�n ve psql
-taraf�ndan kullan�lan postgres s�recinin s�re� numaras�n� (PID) bulun.
-Postgres s�reci ile ili�kilendirmek i�in bir hata ay�klar�c� kullan�n.
-Sorgular� psql arac�l��� ile �al��t�rabilirsiniz. E�er postgres
-ba�lang�c�nda hata ay�klamak istiyorsan�z, PGOPTIONS="-W n" se�ene�ini
-ayarlayabilir ve psql'i ba�latabilirsiniz. Bu i�lem, ba�lang�c�n n
-saniye kadar gecikmesini sa�layacakt�r; b�ylece hata ay�klay�c�y� s�rece
-ili�kilendirdikten sonra ba�lang�� s�recinin devam etmesini
-sa�layabilirsiniz.
-
-postgres program� hata ay�klama ve ba�ar�m �l��mleri i�in -s, -A ve -t
-se�eneklerine sahiptir.
-
-
-        3.8) Baglanmaya �al�s�ken, neden "Sorry, too many clients"
-        hatas�n� al�yorum?
-
-Postmaster'in e�zamanl� olarak ba�latabilece�i backend s�re�leri
-s�n�rlar�n� artt�rman�z gerekmektedir.
-
-�n tan�ml� de�er 32 s�re�tir. Bunu, postmaster'i uygun -N de�eri ile ya
-da postgresql.conf dosyas�n� d�zenleyerek yeniden ba�latmakla
-artt�rabilirsiniz.
-
-E�er -N de�erini 32'den b�y�k yapacaksan�z, ayn� zamanda -B de�erini de
-de�i�tirmeniz gerekti�ini unutmay�n. -B -N'nin en az 2 kat� kadar
-olmal�d�r; daha iyi ba�ar�m i�in bu say�y� daha da artt�rmal�s�n�z.
-Y�ksek say�daki backend s�re�leri i�in, �e�itli �ekirdek yap�land�rma
-parametrelerini artt�rman�z gerekecektir. Yap�lmas� gerekenler, SHMMAX,
-SEMMNS, SEMMNI, NPROC, MAXUPRC ve a��labilecek dosyalar�n maksimum
-say�s� olan NFILE ve NINODE de�erlerini kar��t�rmakt�r. Bunun nedeni,
-PostgreSQL'in izin verilen backend s�re�lerinin say�s� �zerinde bir
-s�n�r� olmas�d�r. B�ylelikle sistem kaynaklar�n�n d���na ��k�lmayacakt�r.
-
-PostgreSQL'in 6.5 s�r�m�ne kadar, en fazla backend say�s� 64 idi ve bunu
-de�i�tirmek i�in include/storage/sinvaladt.h dosyas� i�indeki
-MaxBAckendid sabitini de�i�tirdek sonra yaz�l�m� yeniden derlemek
-gerekiyordu.
-
-
-        3.9) pgsql_tmp dizinin i�indeki dosyalar nelerdir?
-
-Sorgu �al�st�r�c� (query executer) taraf�ndan yarat�lan ge�ici
-dosyalard�r. �rnegin, bir s�ralama ORDER BY ile yapilacaksa ve s�ralama
-backend'in -s parametresinin izin verdiginden daha fazla alana
-gereksinim duyuyorsa, ekstra veriyi tutmak i�in ge�ici dosyalar yarat�l�r.
-
-Ge�ici dosyalar, eger s�ralama s�ras�nda backend g��mezse otomatik
-olarak silinecektir. Eger �al�san durumda bir backendiniz yoksa,
-pg_tempNNN.NN dosyalar�n� silmeniz g�venlidir..
-
-
-        3.10) PostgreSQL s�r�mlerini y�kselmek i�in neden bir
-        dump/reload i�lemi ger�ekle�tirmek zorunday�m?
-
-PostgreSQL tak�m� ara s�r�mlerde sadece k���k de�i�iklikler yapmaktad�r;
-bu y�zden 7.2 s�r�m�nden 7.2.1'e y�kseltmek dump/restore i�lemi
-gerekmemektedir. Ancak, esas s�r�mlerde (�rnek: 7.2'den 7.3'e)
-�o�unlukla sistem tablolar�n�n ve veri dosyalar�n�n i� yap�s�
-de�i�tirilir. Bu de�i�iklikler �o�unlukla karma��kt�r; dolay�s�yla veri
-dosyalar�n�n geriye d�n�k uyumlulu�u i�lemlerini yapm�yoruz. Dump
-i�lemi, veriyi genel bi�imde alaca��ndan yeniden y�kleme esnas�nda veri,
-yeni i� bi�ime uygun �ekilde yerle�tirilecektir.
-
-Disk bi�iminin de�i�medi�i s�r�mlerde, pg_upgrade beti�i g�ncellemenin
-bir dump/restore gerektirmeden yap�lmas�n� sa�layacakt�r. pg_upgrade
-beti�inin o s�r�m i�in bulunup bulunmad���n� s�r�m notlar� i�inde
-bulabilirsiniz.
-
-------------------------------------------------------------------------
-
-
-    ��letimsel Sorular
-
-
-        4.1) Binary cursor ve normal cursor arasindaki fark nedir?
-
-DECLARE yard�m sayfasina bakiniz.
-
-
-        4.2) Sorgunun sadece ilk birka� sat�r�n� nasil SELECT edebilirim?
-
-FETCH yard�m sayfasina bakiniz, aya da SELECT ... LIMIT.... kullan�n�z.
-
-The entire query may have to be evaluated, even if you only want the
-first few rows. Consider a query that has an ORDER BY. �f there is an
-index that matches the ORDER BY, PostgreSQL may be able to evaluate only
-the first few records requested, or the entire query may have to be
-evaluated until the desired rows have been generated.
-
-
-        4.3) psql'in i�inde g�rd�g�m tablolarin ya da diger seylerin
-        listesini nasil alabilirim?
-
-pgsql/src/bin/psql/describe.c i�indeki psql kaynak kodunu
-okuyabilirsiniz. Bu kod, psql'in \ ile baslayan komutlar�n�n ��kt�s�n�
-olusturan SQL komutlarini i�erir. Ayn� zamanda, psql'i -E se�ene�i ile
-ba�lat�p, verdi�iniz komutlar� �al��t�rmak i�in yapt��� sorgular�n
-��kt�lar�n� g�rebilirsiniz.
-
-
-        4.4) Bir tablodan bir kolonu nas�l kald�rabilirim?
-
-Bu �zellik (ALTER TABLE DROP COLUMN) 7.3 s�r�m� ile gelmi�tir. Eski
-s�r�mlerde a�a��dakileri uygulamal�s�n�z:
-
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso8859-9">
+	<title>PostgreSQL S�k�a Sorulan Sorular - T�rk�e</title>
+	<style type="text/css"><!--
+	body { background: #FFFFFF; }
+	a:link { color: #ff0000; }
+	a:active { color: #0000ff; }
+	a:visited { color: #a00000; }
+	i { font-style: oblique; }
+	body, h1, h2, h4, ul, p, a { font-family: helvetica, arial, sans-serif; font-size: medium; color: black; }
+	pre { color: #5C5C5C; padding-left: 30px; }
+	.fixme { color: cyan; }
+	--></style>
+</head>
+<body bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
+
+<h1>PostgreSQL i�in S�k�a Sorulan Sorular (SSS)</h1>
+<p>Son g�ncelleme : 23 �ubat 2004  Pazartesi - 13:34:26</p>
+<p>Current maintainer: Bruce Momjian
+(<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br></p>
+<p>�evirenler : Devrim G�nd�z (<a href="mailto:devrim@tdmsoft.com">devrim@tdmsoft.com</a>)<br>Nicholas Morris Tufar 
+(<a href="mailto:ntufar@tdmsoft.com">ntufar@tdmsoft.com</a>)<BR>Volkan YAZICI (<a href="mailto:volkany@phreaker.net">volkany@phreaker.net</a>)</p>
+<p>Bu belgenin en g�ncel hali, <a href="http://www.postgresql.org/docs/faqs/FAQ_turkish.html">http://www.PostgreSQL.org/docs/faqs/FAQ_turkish.html</a> 
+ve <a href="http://www.gunduz.org/seminer/pg/FAQ_turkish.html">http://www.gunduz.org/seminer/pg/FAQ_turkish.html</a> 
+adreslerinde g�r�lebilir.</p>
+<p>Platforma �zel sorular�n�z, <a href="http://www.postgresql.org/docs/index.html">http://www.PostgreSQL.org/docs/index.html</a> adresinde yan�tlan�r.</p>
+
+<hr>
+
+<h2 align="center">Genel Sorular</h2>
+	<a href="#1.1">1.1</a>) PostgreSQL nedir? Nas�l okunur?<br>
+	<a href="#1.2">1.2</a>) PostgreSQL'in haklar� nedir?<br>
+	<a href="#1.3">1.3</a>) PostgreSQL, hangi Unix platformlar�nda �al���r?<br>
+	<a href="#1.4">1.4</a>) Hangi Unix olmayan uyarlamalar� bulunmaktad�r?<br>
+	<a href="#1.5">1.5</a>) PostgreSQL'i nereden indirebilirim?<br>
+	<a href="#1.6">1.6</a>) Deste�i nereden alabilirim?<br>
+	<a href="#1.7">1.7</a>) En son s�r�m� nedir?<br>
+	<a href="#1.8">1.8</a>) Hangi belgelere ula�abilirim?<br>
+	<a href="#1.9">1.9</a>) Bilinen hatalar ya da eksik �zelliklere nereden ulasabilirim?<br>
+	<a href="#1.10">1.10</a>) Nas�l <small>SQL</small> ��renebilirim?<br>
+	<a href="#1.11">1.11</a>) PostgreSQL 2000 y�l�na uyumlu mudur?<br>
+	<a href="#1.12">1.12</a>) Geli�tirme tak�m�na nas�l kat�labilirim??<br>
+	<a href="#1.13">1.13</a>) Bir hata raporunu nas�l g�nderebilirim?<br>
+	<a href="#1.14">1.14</a>) PostgreSQL, di�er <small>VTYS(DBMS)</small> lerle nas�l
+	kar��la�t�r�labilir?<br>
+	<a href="#1.15">1.15</a>) PostgreSQL'e maddi a��dan nas�l destek olabilirim?<br>
+	
+<h2 align="center">Kullan�c�/istemci Sorular�</h2>
+	<a href="#2.1">2.1</a>) PostgreSQL i�in <i>ODBC</i> s�r�c�leri var m�?<br>
+	<a href="#2.2">2.2</a>) PostgreSQL'i web sayfalar�nda kullanabilmek i�in
+	hangi ara�lar bulunmaktad�r?<br>
+	<a href="#2.3">2.3</a>) PostgreSQL'in grafik kullan�c� arabirimi var m�d�r?<br>
+	<a href="#2.4">2.4</a>) PostgreSQL ile ileti�imi kurabilmek i�in
+	hangi dilleri kullanabilirim? <br>
+	
+<h2 align="center">Y�netimsel Sorular</h2>
+	<a href="#3.1">3.1</a>) PostgreSQL'i <code>/usr/local/pgsql</code> dizininden
+	ba�ka dizinlere nas�l kurabilirim?<br>
+	<a href="#3.2">3.2</a>) <i>Postmaster</i>'� ba�latt���mda <code>Bad System Call</code>
+	ya da <code>core dumped</code> mesaj� al�yorum. Neden?<br>
+	<a href="#3.3">3.3</a>) <i>Postmaster</i>'� ba�latt���mda, <code>IpcMemoryCreate</code>
+	hatas� al�yorum. Neden?<br>
+	<a href="#3.4">3.4</a>) <i>Postmaster</i>'�, ba�latt���mda, <code>IpcSemaphoreCreate</code>
+	hatas� al�yorum. Neden?<br>
+	<a href="#3.5">3.5</a>) Di�er bilgisayarlar�n benim PostgreSQL veritaban�
+	sunucuma ba�lant�lar�n� nas�l kontrol edebilirim?<br>
+	<a href="#3.6">3.6</a>) Veritaban� motorunu daha iyi ba�ar�m icin nas�l ayarlayabilirim?<br>
+	<a href="#3.7">3.7</a>) Hangi hata ay�klama �zellikleri bulunmaktad�r?<br>
+	<a href="#3.8">3.8</a>) Ba�lanmaya �al���rken, neden "<code>Sorry, too many clients</code>"
+	hatas�n� al�yorum. Neden?<br>
+	<a href="#3.9">3.9</a>) <code>pgsql_tmp</code>dizinin i�indeki dosyalar nelerdir?<br>
+	<a href="#3.10">3.10</a>) PostgreSQL s�r�mlerini y�kseltmek i�in neden bir
+	<code>dump/reload</code> i�lemi ger�ekle�tirmek zorunday�m?<br>
+	
+<h2 align="center">��letimsel Sorular</h2>
+	<a href="#4.1">4.1</a>) <i>Binary cursor</i> ve <i>normal cursor</i> aras�ndaki fark ned�r?<br>
+	<a href="#4.2">4.2</a>) Sorgunun sadece ilk birka� sat�r�n� nas�l
+	<code>SELECT</code> edebilirim?<br>
+	<a href="#4.3">4.3</a>) <i>psql</i>'in i�inde g�rd�g�m tablolar�n ya da di�er
+	�eylerin listesini nas�l alabilirim?<br>
+	<a href="#4.4">4.4</a>) Bir tablodan bir kolonu nas�l kald�rabilirim?<br>
+	<a href="#4.5">4.5</a>) Bir sat�r, tablo ve veritaban� i�in en fazla b�y�kl�k nedir?<br>
+	<a href="#4.6">4.6</a>) Tipik bir metin dosyas�ndaki veriyi saklamak i�in ne
+	kadar disk alan� gereklidir?<br>
+	<a href="#4.7">4.7</a>) Veritaban�nda hangi tablo ya da <i>index</i>'lerin
+	tan�mland���n� nas�l g�rebilirim?<br>
+	<a href="#4.8">4.8</a>) Sorgular�m cok yava�, ya da <i>index</i>'lerimi kullanm�yorlar. Neden?<br>
+	<a href="#4.9">4.9</a>) <i>Query-optimizer</i>'�n sorgular�m� nas�l de�erlendirdi�ini,
+	i�leme soktu�unu nas�l g�rebilirim?<br>
+	<a href="#4.10">4.10</a>) <i>R-tree index</i> nedir?<br>
+	<a href="#4.11">4.11</a>) <i>Genetic Query Optimizer</i> nedir?<br>
+	<a href="#4.12">4.12</a>) D�zenli ifade (<i>Regular Expression</i>) aramalar�n�
+	ve b�y�k/k���k harfe duyars�z aramalar� nas�l yapabilirim? Bu b�y�k/k���k harfe duyarl�
+	aramalar i�in <i>index</i>'i nas�l kullanabilirim?<br>
+	<a href="#4.13">4.13</a>) Bir sorguda, bir alan�n <code>NULL</code> oldu�unu nas�l
+	ortaya ��karabilirim?<br>
+	<a href="#4.14">4.14</a>) �esitli karakter tipleri aras�ndaki farklar nelerdir?<br>
+	<a href="#4.15.1">4.15.1</a>) Nas�l <code>serial</code>/otomatik artan
+	(<i>auto-incrementing</i>) bir alan yaratabilirim?<br>
+	<a href="#4.15.2">4.15.2</a>) <code>Serial</code> giri�inin de�erini nas�l alabilirim?<br>
+	<a href="#4.15.3">4.15.3</a>) <code>currval()</code> ve  <code>nextval()</code>
+	di�er kullan�c�lara sorun yaratmaz m�?<br>
+	<a href="#4.15.4">4.15.4</a>) Neden sequence say�lar�n <i>transaction</i>
+	i�leminin iptalinden sonra yeniden kullan�l�yor? Neden <code>sequence/SERIAL</code>
+	kolonumdaki say�larda atlamalar oluyor?<br>
+	<a href="#4.16">4.16</a>) <code>OID</code> nedir? <code>TID</code> nedir?<br>
+	<a href="#4.17">4.17</a>) PostgreSQL' de kullan�lan baz� terimlerin anlamlar� nelerdir?<br>
+	<a href="#4.18">4.18</a>) Neden "<code>ERROR: Memory exhausted in AllocSetAlloc()</code>"
+	hatas�n� al�yorum?<br>
+	<a href="#4.19">4.19</a>) Hangi PostgreSQL s�r�m�n� �al�st�rd���m� nas�l g�rebilirim?<br>
+	<a href="#4.20">4.20</a>) Neden <i>large-object</i> i�lemlerim, "</code>invalid large
+	obj descriptor</code>" hatas�n� veriyor?<br>
+	<a href="#4.21">4.21</a>) �u andaki zaman� �ntan�ml� de�er olarak kabul
+	eden kolonu nas�l yarat�r�m?<br>
+	<a href="#4.22">4.22</a>) Neden <code>IN</code> kullanan <i>subquery</i>'lerim �ok yava�?<br>
+	<a href="#4.23">4.23</a>) <i>Outer join</i> i�lemini nas�l yapabilirim?<br>
+	<a href="#4.24">4.24</a>) Ayn� anda birden fazla veritaban�nda nas�l i�lem yapabilirim?<br>
+	<a href="#4.25">4.25</a>) Bir fonksiyondan nas�l �oklu sat�r ya da kolon d�nd�rebilirim?<br>
+	<a href="#4.26">4.26</a>) Neden Pl/PgSQL fonksiyonlar� i�inden g�venli
+	bir �ekilde tablo yaratma/kald�rma i�lemlerini yapam�yoruz?<br>
+	<a href="#4.27">4.27</a>) Hangi replikasyon se�enekleri bulunmaktad�r?<br>
+	<a href="#4.28">4.28"D</a>) Hangi �ifreleme se�enekleri bulunmaktad�r?<br>
+	
+
+<h2 align="center">PostgreSQL �zelliklerini Geni�letmek</h2>
+	<a href="#5.1">5.1</a>) Kullan�c�-tan�ml� bir fonksiyon yazd�m. <i>psql</i>'de
+	�al��t�rd���m zaman neden <code>core dump</code> ediyor?<br>
+	<a href="#5.2">5.2</a>) PostgreSQL'e nas�l yeni veri tipleri/fonksiyonlar ekleyebilirim?<br>
+	<a href="#5.3">5.3</a>) Bir tuple d�nd�rmek i�in bir C fonksiyonunu nas�l yazar�m?<br>
+	<a href="#5.4">5.4</a>) Bir kaynak dosyas�nda de�i�iklik yapt�m.
+	Yeniden derlememe ra�men de�i�iklik ge�erli olmuyor. Neden?<br>
+	
+    <hr>
+
+	<h2 align="center">Genel Sorular</h2>
+
+		<h4><a name="1.1">1.1</a>) PostgreSQL nedir? Nas�l okunur?</h4>
+		<p>PostgreSQL, <i>Post-Gres-Q-L</i>. olarak okunur</p>
+		<p>PostgreSQL, yeni-nesil <small>VTYS</small> ara�t�rma prototipi olan POSTGRES
+		veritaban� y�netim sisteminin geli�tirilmesidir. POSTGRES'in zengin veri tiplerini ve
+		g��l� veri modelini tutarken, <small>SQL</small>'in geli�tirilmi� alt k�mesi 
+		olan PostQuel dilini kullan�r. PostgreSQL �cretsizdir ve kaynak kodu a��k da��t�l�r.</p>
+		<p>PostgreSQL, PostgreSQL geli�tirme listesine �ye olan bir Internet geli�tirici
+		tak�m� taraf�ndan geli�tirilir. �u andaki koordinat�r, Marc G. Fournier 
+		(<a href="mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</a>). 
+		(Bu tak�ma nas�l kat�lacag�n�z� ��renmek i�in <a href="#1.6">1.6</a> numaral� maddeyi
+		okuyunuz.) Bu tak�m, t�m PostgreSQL geli�iminden sorumludur.</p>
+		<p>PostgreSQL 1.01 s�r�m�n�n yazarlar� Andrew Yu ve Jolly Chen idi. Bunlar�n d���nda
+		bir ka� kisi de uyarlama, hata ay�klama ve kodun geli�tirilmesi i�in �al�sm��t�.
+		PostgreSQL'in t�redi�i orijinal Postgres kodu, lisans, lisans�st� ve akademisyenler
+		taraf�ndan, Professor Michael Stonebraker (University of California, Berkeley)
+		koordinat�rl�g�nde yaz�lm��t�r.</p>
+		<p>Berkley'deki yaz�l�m�n ad� Postgres idi. <small>SQL</small> uyumlulu�u
+		1995'te eklenince, ad� Postgres 95 oldu. 1996 y�l�n�n sonlar�nda ad�
+		PostgreSQL olarak de�i�tirildi.</p>
+		
+		<h4><a name="1.2">1.2</a>) PostgreSQL'in haklar� nedir?</h4>
+		<p>PostgreSQL Data Base Management System</p>
+		<p>Portions copyright (c) 1996-2002, PostgreSQL Global Development
+		Group Portions Copyright (c) 1994-6 Regents of the University of
+		California</p>
+		<p>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.</p>
+		<p>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.</p>
+		<p>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.</p>
+		<p>�stteki metin klasik a��k-kod lisans� olan BSD lisans�d�r. Kaynak kodun nas�l 
+		kullan�labilece�ine dair s�n�rlamalar� yoktur. Bu lisans� seviyoruz. De�i�tirme 
+		niyetimiz bulunmamaktad�r.</p>
+		
+		<h4><a name="1.3">1.3</a>) PostgreSQL, hangi Unix platforlar�nda �al���r?</h4>
+		<p>Genel olarak, modern bir Unix-uyumlu platform PostgreSQL'i �al��t�racakt�r.
+		Ayr�nt�l� bilgi i�in kurulum belgelerine bakabilirsiniz.</p>
+		
+		<h4><a name="1.4">1.4</a>) Hangi Unix olmayan uyarlamalar� bulunmaktad�r?</h4>
+		<p><strong>�stemci</strong></p>
+		<p><code>libpq C</code> k�t�phanesini, psql ve diger arabirimleri ve binary dosyalar�,
+		MS Windows ortamlar�nda �al�smas� i�in derlemeniz m�mk�nd�r. Bu �rnekte  istemcide
+		MS Windows �al���yor ve desteklenen Unix platformlar�ndan birinde �al��an PostgreSQL
+		sunucuna TCP/IP ile ba�lanmaktad�r. Da��t�m i�indeki <code>win31.mak</code> dosyas� ile,
+		<code>Win32 libpg</code> k�t�phanesi ve psql yaratabilirsiniz. PostgreSQL ayn�
+		zamanda <i>ODBC</i> istemcileri ile haberle�ebilmektedir.</p>
+		<p><strong>Sunucu</strong></p>
+		<p>Veritaban� sunuucsu <code>Cygwin</code> kullanarak Windows NT, 2K ya da
+		XP �zerinde �al��t�r�labilir. Dag�t�m i�indeki <code>pgsql/doc/FAQ_MSWIN</code>
+		dosyas�n� ya da web sitemizdeki MS Windows FAQ'u inceleyebilirsiniz.</p>
+		<p>Do�al Windows NT/2000/XP portu i�in �u anda �al��malar devam etmektedir. Windows s�r�m�  
+		hakk�nda g�ncel bilgi i�in, http://techdocs.postgresql.org/guides/Windows adresini 
+		ziyaret edebilirsiniz.</p>
+		<p>Ayr�ca, http://forge.novell.com adresinde Novell Netware 6 portu bulunmaktad�r.</p>
+		
+		<h4><a name="1.5">1.5</a>) PostgreSQL'i nereden indirebilirim?</h4>
+		<p>PostgreSQL i�in ana anonim ftp sitesi <i><a href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a></i>
+		adresidir. Yans�lar i�in, ana web sayfam�za bakabilirsiniz.</p>
+		
+		<h4><a name="1.6">1.6</a>) Nereden destek alabilirim?</h4>
+		<p>Ana e-posta listesi : pgsql-general@PostgreSQL.org. PostgreSQL konusundaki tart��malara
+		a��kt�r. �ye olmak i�in, a�a��daki sat�rlar� e-postan�z�n <i>body</i> k�sm�na
+		(konu k�sm�na de�il) yaz�p, pgsql-general-request@PostgreSQL.org adresine g�nderin:</p>
+		<pre>subscribe<br>end</pre>
+		<p>Ayn� zamanda, bir <i>digest</i> listesi bulunmaktad�r. Bu listeye �ye olmak i�in, 
+		pgsql-general-digest-request@PostgreSQL.org adresine, body k�sm�nda</p>
+		<pre>subscribe<br>end</pre>
+		<p>yazan bir e-posta atman�z yeterli olacakt�r.</p>
+		<p><i>Digest</i> postalar, ana liste 30k civar�nda e-postaya ula�t���nda
+		�yelere g�nderilmektedir.</p>
+		<p><i>Bug</i>'lar i�in bir e-posta listesi bulunmaktad�r. Bu listeye �ye olmak i�in,
+		pgsql-bugs-request@PostgreSQL.org adresine, <i>body</i> k�sm�nda</p>
+		<pre>subscribe<br>end</pre>
+		<p>yazan bir e-posta atman�z yeterli olacakt�r.</p>
+		<p>Ayn� zamanda, geli�tiriciler i�in tart��ma listesi bulunmaktad�r. Bu listeye
+		�ye olmak i�in, pgsql-hackers-request@PostgreSQL.org adresine, body k�sm�nda</p>
+		<pre>subscribe<br>end</pre>
+		<p>yazan bir e-posta atman�z yeterli olacakt�r.</p>
+		<p>Bunun d���ndaki e-posta listelerine ve PostgreSQL hakk�nda bilgiye, PostgreSQL WWW 
+		ana sayfas�ndan ulasabilirsiniz: <i><a href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</a></i><p>
+		<p>Ayn� zamanda, EFNet �zerinde, <code>#PostgreSQL</code> adl� bir IRC kanal�
+		bulunmaktad�r. Bunun i�in, <code>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</code>
+		Unix komutunu kullanabilirsiniz.</p>
+		<p>Ticari destek veren firmalar�n listesine</p>
+		<p><i><a href="http://www.postgresql.org/users-lounge/commercial-support.html">http://www.postgresql.org/users-lounge/commercial-support.html</a></i></p>
+		<p>adresinden ula�bilirsiniz.</p>
+		
+		<h4><a name="1.7">1.7</a>) En son s�r�m nedir?</h4>
+		<p>PostgreSQL'in son s�r�m� 7.3.3't�r.</p>
+		<p>Her 4 ayda <i>major release</i> ��kar�lmas� planlanmaktad�r.</p>
+
+		<h4><a name="1.8">1.8</a>) Hangi belgelere ula�abilirim?</h4>
+		<p>Da��t�m�n i�inde, kitap��klar, kitap��k sayfalar� ve baz� k���k �rnekler verilmektedir.
+		<code>/doc</code> dizinine bak�n�z. Ayr�ca, bu el kitap��klar�n� online olarak
+		<i><a href="http://www.PostgreSQL.org/docs/">http://www.PostgreSQL.org/docs/</a></i> adresinden inceleyebilirsiniz.</p>
+		<p><i><a href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a></i>
+		ve <i><a href="http://www.commandprompt.com/ppbook">http://www.commandprompt.com/ppbook<a></i>
+		adreslerinde PostgreSQL kitaplar� bulunmaktad�r. PostgreSQL kitablar�n�n listesine, 
+		<i><a href="http://www.ca.PostgreSQL.org/books/">http://www.ca.PostgreSQL.org/books/</a></i> adresinden ula�aiblirsiniz.
+		Ayr�ca, PostgreSQL konusundaki teknik makalelere de
+		<i><a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a></i> adresinden ula�abilirsiniz.</p>
+		<p>psql'in, \d ile baslayan veri tipler, operatorler, fonksiyonlar,
+		<i>aggregate</i>'ler, vb. ile ilgili g�zel komutlar� vard�r.</p>
+		<p>Web sitemiz daha fazla belgeyi i�ermektedir.</p>
+		
+		<h4><a name="1.9">1.9</a>) Bilinen hatalar ya da eksik
+		�zelliklere nereden ula�abilirim?</h4>
+		<p>PostgreSQL SQL-92 uyumlulu�u i�indedir, standartlardan fazla da �zellikleri
+		bulunmaktad�r. Bilinen hatalar, eksik �zellikler ve gelecek ile ilgili planlar i�in
+		TODO listesine bak�n�z.</p>
+		
+		<h4><a name="1.10">1.10</a>) Nas�l <small>SQL</small> ��renebilirim?</h4>
+		<p><i><a href="http:/www.PostgreSQL.org/docs/awbook.html">http:/www.PostgreSQL.org/docs/awbook.html</a></i>
+		adresindeki kitap SQL �gretecektir.
+		<i><a href="http://www.commandprompt.com/ppbook">http://www.commandprompt.com/ppbook</a></i>
+		adresinde de bir baska PostgreSQL kitab� bulunmaktad�r.</p>
+		<p><i><a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a></i>,
+		<i><a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM</a></i>
+		<i><a href="http://sqlcourse.com">http://sqlcourse.com</a></i>
+		ve <i><a href="http://sqlcourse2.com">http://sqlcourse2.com</a></i>
+		adreslerinde de g�zel belgeler bulunmaktad�r.</p>
+		<p>Bir ba�kas� da, <i><a href="http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</a></i>
+		adresinde bulunan "<i>Teach Yourself SQL in 21 Days, Second Edition</i>" kitab�d�r.</p>
+		<p>Baz� kullan�c�lar�m�z da �u kitab� �nermektedirler: "<i>The Practical SQL Handbook,
+		Bowman, Judith S., et al.,Addison-Wesley</i>". Baz�lar� ise "<i>The Complete
+		Reference SQL, Groff et al., McGraw-Hill</i>" kitab�n� �nermektedirler.</p>
+		
+		<h4><a name="1.11">1.11</a>) PostgreSQL 2000 y�l�na uyumlu mudur?</h4>
+		<p>Evet.</p>
+		
+		<h4><a name="1.12">1.12</a>) Geli�tirme tak�m�na nas�l kat�labilirim?</h4>
+		<p>�ncelikle, en son kaynak kodunu indirin ve web sitemizdeki ya da da��t�m�n i�indeki
+		PostgreSQL Developer belgesini okuyun. Ard�ndan, pgsql-hackers ve pgsql-patches 
+		listelerine �ye olun. ���nc� olarak da, pgsql-pacthes listesine y�ksek kalitede 
+		yamalar g�nderin.</p>
+		<p>PostgreSQL CVS ar�ivine eri�im izni olan, 10 kadar geli�tirici bulunmaktad�r.
+		Hepsi defalarca, di�er ki�ilerin yapt���ndan �ok daha y�ksek-kaliteli yamalar 
+		g�ndermi�lerdir. Ayr�ca biz de bu geli�tiricilerin ekledikleri yamalar�n y�ksek
+		kalitede oldu�una g�veniyoruz.</p>
+		
+		<h4><a name="1.13">1.13</a>) Bir hata raporunu nas�l g�nderebilirim?</h4>
+		<p>PostgreSQL BugTool sayfas�na gidiniz. O sayfada bir <i>bug</i> bildirmek
+		i�in neleri yapman�z gerekti�i anlat�lm��t�r.</p>
+		<p>Ayr�ca, <i><a href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a></i>
+		ftp adresimizde, yeni bir PostgreSQL s�r�m� ya da yamas� olup olmad���ni kontrol ediniz.</p>
+		
+		<h4><a name="1.14">1.14</a>) PostgreSQL, diger DBMS'lerle nas�l kar��last�r�labilir?</h4>
+		<p>Bir yaz�l�m�n g�c�n� �l�mek i�in �e�itli yollar vard�r: Yaz�l�m�n �zellikleri, 
+		ba�ar�m�, g�venilirli�i, deste�i ve �creti.</p>
+		<p>�zellikler:<p>
+		<p>PostgreSQL mevcut b�y�k ticari veritabanlar�n�n, <i>transaction</i>,
+		<i>subselect</i>, <i>trigger</i>, <i>view</i>, <i>foreign key referential integrity</i>
+		ve <i>sophisticated locking</i> gibi (<i>user-defined types</i>), <i>rules</i>,
+		<i>inheritance</i> ve <i>lock</i> cak��malar�n� d���rmek i�in <i>multi-version</i>
+		uyumluluk �zellikleri bulunmaktad�r.</p>
+		<p>Performans (Ba�ar�m):</p>
+		<p>PostgreSQL, di�er ticari ve a��k kaynak kodlu veritabanlar�yla yak�n ba�ar�m� sa�lar.
+		Baz� a��lardan daha h�zl�d�r, di�er a��lardan da yava�t�r. MySQL ya da daha zay�f 
+		veritabanlar� ile kar��la�t�r�ld���nda, <code>INSERT/UPDATE</code> i�lemlerinde,
+		<i>transaction</i> bazl� �al�st���m�z i�in daha yava��z. MySQL, yukar�daki "�zellikler"
+		k�sm�nda belirtilenlerden hi� birine sahip de�ildir. Biz, ba�ar�m�m�z� her s�r�mde
+		artt�rsak da, esneklik ve geli�mi� �zellikler i�in yap�lanm�� durumday�z.
+		PostgreSQL'i MySQL ile kar��la�t�ran �u web sitesine bakabilirsiniz:
+		<i><a href="http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</a></i></p>
+		<p>G�venilirlik:</p>
+		<p><i>DBMS</i>'lerin g�venilir olmas� gerketi�i, yoksa de�erleri olmayaca��n� d���n�yoruz.
+		�ok iyi test edilmi�, dengeli �al�san minimum say�da hata i�eren kod sunmaya �al���yoruz.
+		Her bir s�r�m en az 1 ayl�k beta testlerinden ge�irilmektedir. S�r�m ge�mi�ine bakarsan�z,
+		�retime haz�r, dengeli ve kararl� kodlar sundu�umuzu g�rebilirsiniz. Bu alanda, di�er 
+		veritaban� yaz�l�mlar�na �st�nl���m�z oldu�una inanmaktay�z.</p>
+		<p>Destek:</p>
+		<p>E-posta listemiz, olu�an herhangi bir sorunu ��zebilecek b�y�k say�da kullan�c�
+		ve geli�tirici grubunu i�erir. Sorununuz i�in, en az bir ticari veritaban� kadar
+		rahat ��z�m bulabilirsiniz. Gelistiricilere, kullan�c� grubuna, belgelere ve
+		kaynak koda direk olarak eri�ebilme, PostgreSQL deste�ini, di�er <i>DBMS</i>'lere
+		g�re daha �nemli k�lar. Gereksinimi olanlara, ticari destek verilebilir.
+		(Destek i�in 1.6 b�l�m�ne bak�n�z.)</p>
+		<p>Fiyat:</p>
+		<p>Ticari ve ticari olmayan t�m kullan�mlar�n�z i�in PostgreSQL �cretsizdir. Kodumuzu,
+		yukar�da belirtilen BSD-stili lisanstaki s�n�rlamalar hari�, �r�n�n�z�n i�ine
+		ekleyebilirsiniz.</p>
+		
+		<h4><a name="1.15">1.15</a>) PostgreSQL'e maddi a��dan nas�l destek olabilirim?</h4>
+		<p>PostgreSQL, 1996 y�l�ndan beri 1. s�n�f altyap�ya sahiptir. Bunun i�in, y�llar
+		boyu �al���p bu altyap�y� olu�turup y�neten Marc Fournier'e te�ekk�rler.</p>
+		<p>Bir a��k kaynak kodlu proje i�in, kaliteli altyap� �ok �nemlidir. Bu altyap�,
+		projenin kesilmesini �nler ve projenin ilerlemesini h�zland�r�r.</p>
+		<p>Tabii ki bu altyap� ucuz de�ildir. ��lerin y�r�mesi i�in �e�itli y�l�k ve anl�k 
+		harcamalar�m�z olmaktad�r. E�er siz ya da �irketinizin bu �abam�za ba���ta
+		bulunabilecek paras� varsa, l�tfen
+		<i><a href="http://www.pgsql.com/pg_goodies">http://www.pgsql.com/pg_goodies</a></i>
+		adresine gidiniz ve ba���ta, hibede bulununuz.</p>
+		<p>Web sayfas�n�n 'PostgreSQL Inc.' den bahsetmesine ra�men, "katk�da bulunanlar" 
+		(<i>contributors</i>) maddesi sadece PostgreSQL projesini desteklemek i�indir ve
+		belirli bir �irketin para kayna�� de�ildir. isterseniz, ba�lant� adresine bir
+		�ek g�nderebilirsiniz.</p>
+		
+		<hr>
+		
+	<h2 align="center">Kullan�c�/�stemci Sorular�</h2>
+		
+		<h4><a name="2.1">2.1</a>) PostgreSQL icin ODBC s�r�c�leri var m�?</h4>
+		<p>iki tane ODBC s�r�c�s� bulunmaktad�r:  PsqlODBC ve OpenLink ODBC.</p>
+		<p>PsqlODBC'i http://gborg.postgresql.org/project/psqlodbc/projdisplay.php adresinden 
+		indirebilirsiniz.</p>
+		<p>OpenLink ODBC http://www.openlinksw.com adresinden al�nabilir.Bu s�r�c�,
+		kendi standart ODBC istemci yaz�l�m� ile �al�st���ndan, destekledikleri 
+		her platformda (Win, Mac, Unix, VMS) PostgreSQL ODBC bulunmalidir.</p>
+		<p>�cretsiz s�r�m� olmakla beraber, ticari kalitede destek almak isteyenlere satmak isteyeceklerdir. 
+		Sorular�n�z� l�tfen postgres95@openlink.co.uk adresine g�nderiniz.</p>
+		
+		<h4><a name="2.2">2.2</a>) PostgreSQL'i web sayfalar�nda kullanabilmek i�in hangi
+		ara�lar bulunmaktad�r?</h4>
+		<p><i><a href="http://www.webreview.com/">http://www.webreview.com/</a></i> adresinde,
+		arka planda veritaban� �al�st�ran Web sayfalar� i�in giri� seviyesinde bilgi bulunmaktad�r.</p>
+		<p>Web ile b�t�nle�me i�in, PHP (<i><a href="http://www.php.net/"></a></i>)
+		m�kemmel bir arabirim sunar.<p>
+		<p>Karma��k sorunlar i�in, �o�u kisi Perl arabirimini ve CGI.pm ya da mod_perl kullan�r.</p>
+		
+		<h4><a name="2.3">2.3</a>) PostgreSQL'in grafik kullan�c� arabirimi var m�d�r?</h4>
+		<p>�e�itli grafik arabirimlerimiz bulunmaktad�r. Bunlar�n aras�nda,
+		PgAccess (<i><a href="http://www.pgaccess.org/">http://www.pgaccess.org/</a></i>),
+		PgAdmin II (<i><a href="http://www.pgadmin.org/">http://www.pgadmin.org/</a></i>, sadece Win32 i�in),
+		RHDB Admin (<i><a href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</a></i>)
+		ve Rekall (<i><a href="http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</a></i>)
+		bulunmaktad�r. Ayr�ca, PostgreSQL i�in web tabanl� bir arabirim olan
+		PHPPgAdmin (<i><a href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/</a></i>) bulunmaktad�r.</p>
+		<p>Daha ayr�nt�l� liste i�in
+		<i><a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a></i>
+		adresine bakabilirsiniz.</p>
+		
+		<h4><a name="2.4">2.4</a>) PostgreSQL ile ileti�imi kurabilmek i�in hangi dilleri kullanabilirim?</h4>
+		<ul><li>C (libpq)</li>
+		<li>Embedded C (ecpg)</li>
+		<li>Java (jdbc)</li>
+		<li>Python (PyGreSQL)</li>
+		<li>TCL (libpgtcl)</li></ul>
+		<p>Di�erleri i�in, http://gborg.postgresql.org adresindeki Drivers/Interfaces b�l�m�ne 
+  		bakabilirsiniz.</p>
+		
+		<hr>
+		
+	<h2 align="center">Y�netimsel Sorular</h2>
+		
+		<h4><a name="3.1">3.1</a>) PostgreSQL'i, <code>/usr/local/pgsql</code> dizininden
+		ba�ka dizinlere nas�l kurabilirim?</h4>
+		<p><i>configure</i> beti�ini �al�st�r�rken, <code>--prefix</code> se�ene�ini veriniz.</p>
+		
+		<h4><a name="3.2">3.2</a>) postmaster'i baslatt�g�mda, a Bad System Call ya da core dumped mesaj� al�yorum. Neden?</h4>
+		<p>Bunun bir�ok nedeni olabilir. Ancak ilk kontrol edilmesi gereken sey, �ekirdeginize
+		System V uzant�lar�n�n kurulu olup olmad�g�n� kontrol etmek olabilir. PostgreSQL 
+		shared memory ve semaphores i�in �ekirdek destegine gereksinim duyar.</p>
+		
+		<h4><a name="3.3">3.3</a>) postmaster'i ba�latt���mda, <code>�pcMemoryCreate</code>
+		hatas� al�yorum. Neden?</h4>
+		<p>Ya �ekirde�inizde <i>shared memory</i> deste�iniz d�zg�nce yap�land�r�lmam��t�r,
+		ya da �ekirde�inizdeki mevcut <i>shared memory</i> miktar�n� b�y�tmeniz gerekecektir.
+		Gereksinim duyaca��n�z miktar, mimarinize ve postmaster i�in ayarlad�g�n�z tampon
+		ile <i>backend</i> i�lemi say�s�na ba�l�d�r. T�m sistemler i�in, tamponlar ve
+		i�lemlerde �ntan�ml� say�larla, ~ 1MB kadar yere gereksinmeniz olacakt�r.
+		<i><a href="http://www.postgresql.com/docs/7.3/interactive/admin.html">PostgreSQL
+		7.3.2 Sistem Y�neticileri Rehberi</a></i>'ne, <i>shared memory</i> ve <i>semaphorelar</i>
+		hakk�ndaki ayr�nt�l� bilgi i�in bakabilirsiniz.</p>
+		
+		<h4><a name="3.3">3.4</a>) postmaster'� ba�latt���mda,
+		<code>�pcSemaphoreCreate</code> hatas� al�yorum. Neden?</h4>
+		<p>E�er hata, "<code>�pcSemaphoreCreate: semget failed (No space left on device)</code>"
+		ise, �ekirde�iniz yeterli <i>semaphore</i> ile yap�land�r�lmam�� demektir. Postgres, her 
+		bir potansiyel <i>backend</i> i�in bir <i>semaphore</i> gereksinimi duyar. Ge�ici
+		bir ��z�m, postmaster� <i>backend</i> i�lemleri i�in daha az miktarda s�n�rla
+		ba�latmak olabilir. <code>-N</code>'i varsay�lan de�er olan 32'den k���k bir
+		de�erle ba�lat�n�z. Daha kal�c� bir ��z�m, �ekirde�inizin <code>SEMMNS</code> ve
+		<code>SEMMNI</code> parametrelerini y�kseltmek olacakt�r.</p>
+		<p>�al��mayan <i>semaphore</i>'lar a��r veritaban� i�lemlerinde ��kme yaratabilirler.</p>
+		<p>E�er hata mesaj�n�z ba�ka bir �ey ise, �ekirde�inizde <i>semaphore</i> deste�ini 
+		yap�land�rmam�� olabilirsiniz. <i>Shared memory</i> ve <i>semaphore</i>'lar hakk�ndaki
+		daha ayr�nt�l� bilgi i�in
+		<i><a href="http://www.postgresql.com/docs/7.3/interactive/admin.html">PostgreSQL
+		7.3.2 Sistem Y�neticileri Rehberi</a></i>'ne bakabilirsiniz.</p>
+		
+		
+		<h4><a name="3.5">3.5</a>) Diger bilgisayarlar�n benim PostgreSQL veritaban�
+		sunucuma ba�lant�lar�n� nas�l kontrol edebilirim?</h4>
+		<p>�n tan�ml� olarak, PostgreSQL sadece yerel makineden <i>Unix domain sockets</i>
+		kullanarak ba�lan�lmas�na izin verir. Diger makineler, postmaster'a <code>-i</code>
+		etiketini ge�irmezseniz ve <code>$PGDATA/pg_hba.conf</code> dosyas�n� d�zenleyerek
+		<i>host-based authentication</i>'a  olanak vermezseniz, ba�lant� yapamayacaklard�r.</p>
+		
+		<h4><a name="3.6">3.6</a>) Veritabani motorunu daha iyi
+		ba�ar�m i�in nas�l ayarlayabilirim?</h4>
+		<p><i>Index</i>'ler sorgular� h�zland�rabilir. <code>EXPLAIN</code> komutu,
+		PostgreSQL'in sorgunuzu nas�l yorumlad���n� ve hangi <i>index</i>'leri kulland���n�
+		g�rmenize izin verir.</p>
+		<p>E�er cok fazla <code>INSERT</code> i�lemi yap�yorsan�z, bunlar� b�y�k bir
+		toplu i�lem dosyas�kullan�p <code>COPY</code> komutu ile veritaban�na girmeyi
+		deneyiniz. Bu, tekil <code>INSERT</code>'lerden daha h�zl�d�r. �kinci olarak,
+		<code>BEGIN WORK/COMMIT</code> <i>transaction</i> blo�u i�inde olmayan ifadeler kendi 
+		<i>transaction</i>'lar�ndaym�� gibi d���n�l�r. �oklu ifadeleri tek bir
+		<i>transaction</i> blo�u i�inde yapabilirsiniz. Bu, <i>transaction overhead</i>'ini
+		d���recektir. Tek bir <i>transaction</i> blo�u i�inde birden �ok ifadeyi �al��t�rmay� 
+		deneyebilirsiniz. Bu da ayn� �ekilde, <i>transaction overhead</i>'ini d���r�r.</p>
+		<p>�e�itli ayarlama se�enekleri mevcuttur. <code>fsync()</code> i�lemini, postmaster'�
+		<code>-o -F</code> se�ene�i ile ba�latarak devre d��� b�rakabilirsiniz. Bu i�lem,
+		<code>fsync()</code>'lerin her <i>transactiondan</i> sonra diski <i>flush</i> etmesini
+		engelleyecektir.</p>
+		<p>Ayn� zamanda, postmaster'i <code>-B</code> se�ene�i ile ba�lat�p, <i>backend</i>
+		i�lemleri taraf�ndan kullan�lan <i>shared memory buffers</i> say�lar�n� artt�rabilirsiniz.
+		E�er bu parametreyi �ok y�ksek tutarsan�z, �ekirde�inizin <i>shared memory</i>
+		b�lgesindeki limiti a�ma olas�l���n�z y�z�nden postmaster ba�layamayabilir. Her bir
+		tampon (<i>buffer</i>) 8K'd�r. �ntan�ml� say� ise 64 tampondur.</p>
+		<p>Ayn� �ekilde, backend'in <code>-S</code> se�ene�ini ge�ici s�ralamalar i�in
+		<i>backend</i> s�re�leri taraf�ndan kullan�lacak haf�zay� artt�rmak amac�yla
+		kullanabilirsiniz. <code>-S</code> se�ene�i kilobayt cinsinden de�er al�r ve �n
+		tan�ml� de�eri 512'dir (512 K)</p>
+		<p>Tablolardaki veriyi bir <i>index</i>'e e�lemek amac�yla gruplama i�in
+		<code>CLUSTER</code> komutunu kullanabilirsiniz. Ayr�nt�l� bilgi i�in
+		<code>CLUSTER</code> komutunun yard�m sayfas�na bakabilirsiniz.</p>
+		
+		<h4><a name="3.7">3.7</a>) Hangi hata ay�klama �zellikleri bulunmaktad�r?</h4>
+		<p>PostgreSQL, hata ay�klama amac�yla kullan�labilecek durum bilgisi
+		rapor eden �e�itli �zeliklere sahiptir.</p>
+		<p>�ncelikle, <i>configure</i> beti�ini <code>--enable-cassert</code> se�ene�iyle
+		�al��t�r�rsan�z, bir �ok <code>assert() backend</code> cal��mas�n� g�zlemler ve
+		beklenmeyen bir durumda program� durdurur.</p>
+		<p>Postmaster ve postgres �e�itli hata ay�klama se�eneklerine sahiptir. �ncelikle,
+		postmaster'� ba�latt���n�zda, standart ��kt�y� ve hatalar� bir log dosyas�na 
+		y�nlendirdi�inize emin olun:</p>
+		<pre>cd /usr/local/pgsql<br>./bin/postmaster >server.log 2>&1 &</pre>
+		<p>Bu i�lem PostgreSQL ana dizinine <code>server.log</code> dosyas� yerle�tirecektir.
+		Bu dosya sunucunun ya�ad��� sorunlar ya da hatalar hakk�nda yararl� bilgiler i�erir.
+		<code>-d</code> se�ene�i, hata ay�klama seviyesini belirten bir rakam ile kullan�l�r.
+		Y�ksek hata ay�klama seviyelerinin b�y�k log dosyalar� olu�turaca��n� unutmay�n�z.</p>
+		<p>E�er postmaster �al��m�yorsa, <code>postgres backend</code>'ini komut sat�r�ndan
+		�al��t�rabilir ve SQL ifadenizi direk olarak yazabilirsiniz. Bu sadece hata ay�klama
+		amac�yla �nerilir. Burada, noktal� virg�l�n de�il de yeni bir sat�r�n sorguyu
+		sonland�rd���n� unutmay�n�z. E�er hata ay�klama sembolleri ile derlediyseniz,
+		ne oldu�unu g�rmek i�in bir hata ay�klay�c� kullanabilirsiniz. <i>backend</i>
+		postmaster'dan ba�lat�lmad���ndan, e�de�er bir ortamda �al��mamaktad�r ve
+		<i>locking/backend</i> etkile�im sorunlar� artabilir.</p>
+		<p>E�er postmaster �al���yorsa, bir pencerede psql'i �al��t�r�n ve psql taraf�ndan
+		kullan�lan postgres s�recinin s�re� numaras�n� (<code>PID</code>) bulun. Postgres
+		s�reci ile ili�kilendirmek i�in bir hata ay�klar�c� kullan�n. Sorgular� psql arac�l���
+		ile �al��t�rabilirsiniz. E�er postgres ba�lang�c�nda hata ay�klamak istiyorsan�z,
+		<code>PGOPTIONS="-W n"</code> se�ene�ini ayarlayabilir ve psql'i ba�latabilirsiniz.
+		Bu i�lem, ba�lang�c�n <code>n</code> saniye kadar gecikmesini sa�layacakt�r; b�ylece
+		hata ay�klay�c�y� s�rece ili�kilendirdikten sonra ba�lang�� s�recinin devam etmesini 
+		sa�layabilirsiniz.</p>
+		<p>postgres program� hata ay�klama ve ba�ar�m �l��mleri i�in <code>-s</code>,
+		<code>-A</code> ve <code>-t</code> se�eneklerine sahiptir.</p>
+		
+		<h4><a name="3.8">3.8</a>) Ba�lanmaya �al���rken, neden "<i>Sorry, too many
+		clients</i>" hatas�n� al�yorum?</h4>
+		<p>Postmaster'�n  e�zamanl� olarak ba�latabilece�i <i>backend</i> s�re�leri
+		s�n�rlar�n� artt�rman�z gerekmektedir.</p>
+		<p>�n tan�ml� de�er 32 s�re�tir. Bunu, postmaster'� uygun <code>-N</code>
+		de�eri ile ya da <code>postgresql.conf</code> dosyas�n� d�zenleyerek yeniden
+		ba�latmakla artt�rabilirsiniz.</p>
+		<p>E�er <code>-N</code> de�erini 32'den b�y�k yapacaksan�z, ayn� zamanda
+		<code>-B</code> de�erini de de�i�tirmeniz gerekti�ini unutmay�n. </code>-B</code>,
+		<code>-N</code>'nin en az 2 kat� kadar olmal�d�r; daha iyi ba�ar�m i�in bu say�y� daha
+		da artt�rmal�s�n�z. Y�ksek say�daki <i>backend</i> s�re�leri i�in, �e�itli �ekirdek
+		yap�land�rma parametrelerini artt�rman�z gerekecektir. Yap�lmas� gerekenler,
+		<code>SHMMAX</code>, <code>SEMMNS</code>, <code>SEMMNI</code>, <code>NPROC</code>,
+		<code>MAXUPRC</code> ve a��labilecek dosyalar�n maksimum say�s� olan <code>NFILE</code>
+		ve <code>NINODE</code> de�erlerini kar��t�rmakt�r. Bunun nedeni, PostgreSQL'in izin
+		verilen <i>backend</i> s�re�lerinin say�s� �zerinde bir s�n�r� olmas�d�r. B�ylelikle
+		sistem kaynaklar�n�n d���na ��k�lmayacakt�r.</p>
+		<p>PostgreSQL'in 6.5 s�r�m�ne kadar, en fazla <i>backend</i> say�s� 64 idi ve bunu
+		de�i�tirmek i�in <code>include/storage/sinvaladt.h</code> dosyas� i�indeki
+		<code>MaxBAckendid</code> sabitini de�i�tirdek sonra yaz�l�m� yeniden
+		derlemek gerekiyordu.</p>
+		
+		<h4><a name="3.9">3.9</a>) <code>pgsql_tmp</code> dizinin i�indeki dosyalar nelerdir?</h4>
+		<p>Sorgu �al�st�r�c� (<i>query executer</i>) taraf�ndan yarat�lan ge�ici dosyalard�r.
+		�rnegin, bir s�ralama <code>ORDER BY</code> ile yap�lacaksa ve s�ralama
+		<code>backend</code>'in <code>-s</code> parametresinin izin verdi�inden daha
+		fazla alana gereksinim duyuyorsa, ekstra veriyi tutmak i�in ge�ici dosyalar yarat�l�r.</p>
+		<p>Ge�ici dosyalar, e�er s�ralama s�ras�nda <i>backend</i> g��mezse otomatik olarak
+		silinecektir. E�er �al��an durumda bir <i>backend</i>'iniz yoksa,
+		<code>pg_tempNNN.NN</code> dosyalar�n� silmeniz g�venlidir.</p>
+		
+		<h4><a name="3.10">3.10</a>) PostgreSQL s�r�mlerini y�kseltmek i�in neden bir
+		dump/reload i�lemi ger�ekle�tirmek zorunday�m?</h4>
+		<p>PostgreSQL tak�m� ara s�r�mlerde sadece k���k de�i�iklikler yapmaktad�r;
+		bu y�zden 7.2 s�r�m�nden 7.2.1'e y�kseltmek <i>dump/restore</i> i�lemi
+		gerekmemektedir. Ancak, esas s�r�mlerde (�rnek: 7.2'den 7.3'e) �o�unlukla sistem
+		tablolar�n�n ve veri dosyalar�n�n i� yap�s� de�i�tirilir. Bu de�i�iklikler �o�unlukla
+		karma��kt�r; dolay�s�yla veri dosyalar�n�n geriye d�n�k uyumlulu�u i�lemlerini
+		yapm�yoruz. <i>Dump</i> i�lemi, veriyi genel bi�imde alaca��ndan yeniden y�kleme
+		esnas�nda veri, yeni i� bi�ime uygun �ekilde yerle�tirilecektir.</p>
+		<p>Disk bi�iminin de�i�medi�i s�r�mlerde, <code>pg_upgrade</code> beti�i g�ncellemenin
+		bir <i>dump/restore</i> gerektirmeden yap�lmas�n� sa�layacakt�r. <i>pg_upgrade</i>
+		beti�inin o s�r�m i�in bulunup bulunmad���n� s�r�m notlar� i�inde bulabilirsiniz.</p>
+		
+		<hr>
+		
+	<h2 align="center">��letimsel Sorular</h2>
+	
+		<h4><a name="4.1">4.1</a>) <i>Binary cursor</i> ve <i>normal cursor</i>
+		aras�ndaki fark nedir?</h4>
+		<p><code>DECLARE</code> yard�m sayfas�na bak�n�z.</p>
+		
+		<h4><a name="4.2">4.2</a>) Sorgunun sadece ilk birka� sat�r�n�
+		nas�l <code>SELECT</code> edebilirim?</h4>
+		<p><code>FETCH</code> yard�m sayfas�na bak�n�z, ya da <code>SELECT</code> ...
+		<code>LIMIT</code> ... kullan�n�z.</p>
+		<p>�lk birka� sat�r� almak isteseniz bile, t�m sorgu de�erlendirilmek durumunda kal�nabilir. ORDER 
+ 		BY i�eren bir sorgu d���n�n. E�er ORDER BY i�e e�le�en bir index varsa, PostgreSQL istenen ilk birka�  
+		sat�r� i�leyebilir, ya da t�m sorgu istenen sat�rlar �retilene kadar i�lenebilir. </b></p>
+		
+		<h4><a name="4.3">4.3</a>) psql'in i�inde g�rd�g�m tablolar�n ya da di�er
+		�eylerin listesini nas�l alabilirim?</h4>
+		<p><code>pgsql/src/bin/psql/describe.c</code> i�indeki psql kaynak kodunu
+		okuyabilirsiniz. Bu kod, psql'in <code>\</code> ile ba�layan komutlar�n�n
+		��kt�s�n� olusturan SQL komutlar�n� i�erir. Ayn� zamanda, psql'i <code>-E</code>
+		se�ene�i ile ba�lat�p, verdi�iniz komutlar� �al��t�rmak i�in yapt��� 
+		sorgular�n ��kt�lar�n� g�rebilirsiniz.</p>
+		
+		<h4><a name="4.4">4.4</a>) Bir tablodan bir kolonu nas�l kald�rabilirim?</h4>
+		<p>Bu �zellik (<code>ALTER TABLE DROP COLUMN</code>) 7.3 s�r�m� ile gelmi�tir.
+		Eski s�r�mlerde a�a��dakileri uygulamal�s�n�z: </p>
+		<pre>
 BEGIN;
 LOCK TABLE old_table;
 SELECT ...  -- select all columns but the one you want to remove
@@ -737,553 +577,449 @@ FROM old_table;
 DROP TABLE old_table;
 ALTER TABLE new_table RENAME TO old_table;
 COMMIT;		
+		</pre>
+		
+		<h4><a name="4.5">4.5</a>) Bir sat�r, tablo ve veritaban� i�in en
+		fazla b�y�kl�k nedir?</h4>
+		<p>S�n�rlar:</p>
+		<p>Veritaban� i�in en fazla b�y�kl�k nedir?<br>S�n�rs�z (32 TB'l�k veritaban� bulunmaktad�r)<br><br>
+		Bir tablo i�in en fazla b�y�kl�k nedir?<br>32 TB<br><br>
+		Bir sat�r i�in en fazla b�y�kl�k nedir?<br>1.6 TB<br><br>
+		Bir alan i�in en fazla b�y�kl�k nedir?<br>1 GB<br><br>
+		Tabloda en fazla sat�r say�s� ka�t�r?<br>S�n�rs�z<br><br>
+		Bir tabloda olabilecek en fazla kolon say�s� ka�t�r?<br>Kolon tiplerine ba�l� olarak 250-1600<br><br>
+		Bir tabloda olabilecek en fazla <i>index</i> say�s� ka�t�r?<br>S�n�rs�z</p>
+		<p>Tabii ki bunlar asl�nda s�n�rs�z degildir. Burada belirtilen s�n�rlar, fiziksel
+		s�n�rlar�n haricindeki s�n�rlard�r. Bo� disk alan�, haf�za/takas alan� na ba�l� 
+		s�n�rlamalar vard�r. Ba�ar�m, s�n�r de�erlere yakla�t�k�a, ya da de�erler �ok b�y�k 
+		oldu�unda d��ebilir.</p>
+		<p>Bir tablo i�in b�y�kl�k s�n�r� olan 32 TB, i�letim sisteminin b�y�k dosya deste�i olup
+		olmamas�ndan ba��ms�zd�r. B�y�k tablolar, 1 GB'lik dosyalarda sakland��� i�in, dosya 
+		sistemi s�n�rlar�nin bir �nemi yoktur.</p>
+		<p>Tablo ve kolon say�s� b�y�kl�kleri, �n tan�ml� blok b�y�kl��� 32k ya ��kar�larak 
+		artt�r�labilir.</p>
+		
+		<h4><a name="4.6">4.6</a>) Tipik bir metin dosyas�ndaki veriyi saklamak i�in ne
+		kadar disk alan� gereklidir?</h4>
+		<p>Bir PostgreSQL veritaban�, veriyi "<i>flat</i>" metin dosyas�nda saklamak i�in
+		gereken alan�n 5 kat fazla disk alan�na gereksinim duyabilir.</p>
+		<p>Her sat�r�nda bir tamsay� ve metin (<i>text</i>) i�eren, 100.000 sat�rl�k bir
+		dosya d���n�n.  Her sat�r�n ortalama 20 byte oldu�unu farzedelim. Metin dosyas�
+		2.8 MB olacakt�r. Bu veriyi tutan PostgreSQL veritaban�
+		yakla��k 6.4 MB yer kaplayacakt�r.</p>
+		<pre>
+  36 byte: Her bir sat�r ba�l��� (yakla��k)
++ 24 byte: Bir tamsay� (int) alan� ve bir metin (text) alan� 
++  4 byte: Sayfada tuple a pointer
+----------------------------------------
+  64 byte -> kay�t ba��na</pre>
+		<p>PostgreSQL'de veri sayfas� (data page) b�y�kl��� 8192 byte (8k)d�r, dolay�s�yla:</p>
+		<pre>
+8192 byte -> page ba��na
+-------------------------  =  Her bir veritaban� <i>page</i>'� ba��na 128 sat�r (yakla��k)
+  Sat�r ba��na 64 byte
+  
+100000 veri sat�r�
+--------------------  =  782 veritaban� sayfas�
+     128 sat�r</pre>
+		<p>782 veritaban� sayfas� <code>*</code> sayfa ba��na <code>8192 byte =
+		6,406,144 bytes (6.4 MB)</code></p>
+		<p><i>Index</i>'ler �ok fazla yere gereksinim duymazlar, ama <i>index</i>'lenmi�
+		veriyi tutacaklar�ndan b�y�k olabilirler.</p>
+		<p><code>NULL</code> de�erler bitmapler i�inde tutulur; dolay�s�yla �ok az yer kaplarlar.</p>
+		
+		<h4><a name="4.7">4.7</a>) Veritaban�nda hangi tablo ya da <i>index</i>'lerin
+		tan�mland���n� nas�l g�rebilirim?</h4>
+		<p>psql, bu t�r bilgileri g�stermek i�in, <code>\</code> ile ba�layan bir �ok
+		komut sunmaktad�r. <code>\?</code> komutu ile bu komutlar� g�rebilirsiniz. Ayr�ca,
+		bunlar� a��klayan ve <code>pg_</code> ile ba�layan �ok say�da sistem tablosu
+		bulunmaktad�r. Ayn� zamanda, <code>psql -l</code> ile t�m veritabanlar�n�
+		listeyelebirsiniz.</p>
+		<p>Ayr�ca, <code>pgsql/src/tutorial/syscat.source</code> kodunu inceleyebilirsiniz.
+		Bu dosya, veritaban� sistem dosyalar�ndan bilgiyi almak i�in gereksinim duyulan
+		bir �ok <code>SELECT</code>'leri g�sterir.</p>
+		
+		<h4><a name="4.8">4.8</a>) Sorgular�m cok yava�, ya da <i>index</i>'lerimi
+		kullanm�yorlar. Neden?</h4>
+		<p>Indexler her sorgu taraf�ndan otomatik olarak kullan�lmazlar. Indexler e�er bir 
+		tablonun b�y�kl��� minimum bir b�y�kl�kten fazla ise ve sorgu tablodaki sat�rlar�n sadece k���k bir 
+		y�zdesini se�iyorsa kullan�l�r. Bunun nedeni, index eri�iminin neden oldu�u raslansal disk eri�imi
+		nin diskin ya da tablonun s�ral� okunmas�ndan daha yavas olabilmesidir.</p>
+
+	 	<p>Bir index'in kullan�l�p kullan�lmayaca��n� belirlemek i�in, PostgreSQL tablo hakk�ndaki 
+		istatistiklere gereksinmesi vard�r. Bu istatistikler, <small>VACUUM ANALYZE</small> kullan�larak
+		toplan�rlar. Optimizer, istatistikleri kullanarak, tabloda ka� sat�r oldu�unu ve bilir ve indexin 
+		kullan�l�p kullan�lmayaca��na daha iyi karar verir. Istatistikler, ayn� zamanda en uygun join 
+		s�ras�n� ve y�ntemini belirlemekte �ok �nemlidir. �statistik toplanmas�, tablo i�erikleri 
+		de�i�tik�e periyodik olarak yap�lmal�d�r.</p>
 		
 
+    <p>Indexler normalde <small>ORDER BY</small> sorgular� ya da join i�lemlerini ger�ekle�tirmek i�in
+    kullan�lmazlar. A��k bir s�ralamay� takip eden s�ral� bir arama (sequential scan), b�y�k bir tabloda index
+    aramas� yapmaktan genelde daha h�zl�d�r.</p>
 
-        4.5) Bir sat�r, tablo ve veritaban� icin en fazla b�y�kl�k nedir?
-
-S�n�rlar:
-
-Veritabani icin en fazla b�y�kl�k nedir?
-S�n�rs�z (4 TB'l�k veritaban� bulunmaktad�r)
-
-Bir tablo icin en fazla b�y�kl�k nedir?
-16 TB
-
-Bir sat�r i�in en fazla b�y�kl�k nedir?
-1.6 TB
-
-Bir alan i�in en fazla b�y�kl�k nedir?
-1 GB
-
-Tabloda en fazla sat�r say�s� ka�t�r?
-S�n�rs�z
-
-Bir tabloda olabilecek en fazla kolon say�s� ka�t�r?
-Kolon tiplerine ba�l� olarak 250-1600
-
-Bir tabloda olabilecek en fazla index say�s� ka�t�r?
-s�n�rs�z
-
-These are the limits:
-
-    Maximum size for a database?   		unlimited (4 TB databases exist)
-    Maximum size for a table? 			16 TB
-    Maximum size for a row?   			1.6TB
-    Maximum size for a field? 			1 GB
-    Maximum number of rows in a table?  	unlimited
-    Maximum number of columns in a table?    250-1600 depending on column types
-    Maximum number of indexes on a table?    unlimited
-
-Of course, these are not actually unlimited, but limited to available
-disk space and memory/swap space. Performance may suffer when these
-values get unusually large.
-
-The maximum table size of 16 TB does not require large file support from
-the operating system. Large tables are stored as multiple 1 GB files so
-file system size limits are not important.
-
-The maximum table size and maximum number of columns can be increased if
-the default block size is increased to 32k.
-
-
-        4.6) How much database disk space is required to store data from
-        a typical text file?
-
-A PostgreSQL database may require up to five times the disk space to
-store data from a text file.
-
-As an example, consider a file of 100,000 lines with an integer and text
-description on each line. Suppose the text string avergages twenty bytes
-in length. The flat file would be 2.8 MB. The size of the PostgreSQL
-database file containing this data can be estimated as 6.4 MB:
-
-    36 bytes: each row header (approximate)
-    24 bytes: one int field and one text field
-   + 4 bytes: pointer on page to tuple
-   ----------------------------------------
-    64 bytes per row
-
-   The data page size in PostgreSQL is 8192 bytes (8 KB), so:
-
-   8192 bytes per page
-   -------------------   =  128 rows per database page (rounded down)
-	64 bytes per row
-
-   100000 data rows
-   --------------------  =  782 database pages (rounded up)
- 	128 rows per page
-
-782 database pages * 8192 bytes per page  =  6,406,144 bytes (6.4 MB)
-
-Indexes do not require as much overhead, but do contain the data that is
-being indexed, so they can be large also.
-
-NULLs are stored in bitmaps, so they use very little space.
-
-
-        4.7) How do I find out what tables, indexes, databases, and
-        users are defined?
-
-/psql/ has a variety of backslash commands to show such information. Use
-\? to see them. There are also system tables beginning with /pg_/ that
-describe these too. Also, /psql -l/ will list all databases.
-
-Also try the file /pgsql/src/tutorial/syscat.source/. It illustrates
-many of the SELECTs needed to get information from the database system
-tables.
-
-
-        4.8) My queries are slow or don't make use of the indexes. Why?
-
-Indexes are not automatically used by every query. Indexes are only used
-if the table is larger than a minimum size, and the query selects only a
-small percentage of the rows in the table. This is because the random
-disk access caused by an index scan can be slower than a straight read
-through the table, or sequential scan.
-
-To determine if an index should be used, PostgreSQL must have statistics
-about the table. These statistics are collected using VACUUM ANALYZE, or
-simply ANALYZE. Using statistics, the optimizer knows how many rows are
-in the table, and can better determine if indexes should be used.
-Statistics are also valuable in determining optimal join order and join
-methods. Statistics collection should be performed periodically as the
-contents of the table change.
-
-Indexes are normally not used for ORDER BY or to perform joins. A
-sequential scan followed by an explicit sort is usually faster than an
-index scan of a large table.
-
-However, LIMIT combined with ORDER BY often will use an index because
-only a small portion of the table is returned. In fact, though MAX() and
-MIN() don't use indexes, it is possible to retrieve such values using an
-index with ORDER BY and LIMIT:
-
+    Ancak, <small>ORDER BY</small> ile birle�mi� <small>LIMIT</small>
+    genellikle bir index kullanacakt�r; ��nk� tablonun sadece belirli bir miktar� d�nd�r�lecektir.
+    Asl�nda, MAX() ve MIN() fonksiyonlar�n�n index kullanmamalar�ndan dolay�, bu gibi de�erleri ORDER BY ve LIMIT 
+    kullanarak da almak olas�d�r:
+<pre>
     SELECT col
     FROM tab
     ORDER BY col [ DESC ]
     LIMIT 1;
-
-If you believe the optimizer is incorrect in choosing a sequential scan,
-use |SET enable_seqscan TO 'off'| and run tests to see if an index scan
-is indeed faster.
-
-When using wild-card operators such as LIKE or /~/, indexes can only be
-used in certain circumstances:
-
-    * The beginning of the search string must be anchored to the start
-      of the string, i.e.
-          o LIKE patterns must not start with /%/.
-          o /~/ (regular expression) patterns must start with /^/.
-    * The search string can not start with a character class, e.g. [a-e].
-    * Case-insensitive searches such as ILIKE and /~*/ do not utilise
-      indexes. Instead, use functional indexes, which are described in
-      section 4.12 <#4.12>.
-    * The default /C/ locale must be used during /initdb/.
-
-
-        4.9) How do I see how the query optimizer is evaluating my query?
-
-See the EXPLAIN manual page.
-
-
-        4.10) What is an R-tree index?
-
-An R-tree index is used for indexing spatial data. A hash index can't
-handle range searches. A B-tree index only handles range searches in a
-single dimension. R-trees can handle multi-dimensional data. For
-example, if an R-tree index can be built on an attribute of type
-/point/, the system can more efficiently answer queries such as "select
-all points within a bounding rectangle."
-
-The canonical paper that describes the original R-tree design is:
-
-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.
-
-You can also find this paper in Stonebraker's "Readings in Database
-Systems".
-
-Built-in R-trees can handle polygons and boxes. In theory, R-trees can
-be extended to handle higher number of dimensions. In practice,
-extending R-trees requires a bit of work and we don't currently have any
-documentation on how to do it.
-
-
-        4.11) What is the Genetic Query Optimizer?
-
-The GEQO module speeds query optimization when joining many tables by
-means of a Genetic Algorithm (GA). It allows the handling of large join
-queries through nonexhaustive search.
-
-
-        4.12) How do I perform regular expression searches and
-        case-insensitive regular expression searches? How do I use an
-        index for case-insensitive searches?
-
-The /~/ operator does regular expression matching, and /~*/ does
-case-insensitive regular expression matching. The case-insensitive
-variant of LIKE is called ILIKE.
-
-Case-insensitive equality comparisons are normally expressed as:
-
-    SELECT *
-    FROM tab
-    WHERE lower(col) = 'abc';
-
-This will not use an standard index. However, if you create a functional
-index, it will be used:
-
-    CREATE INDEX tabindex ON tab (lower(col));
-
-
-        4.13) In a query, how do I detect if a field is NULL?
-
-You test the column with IS NULL and IS NOT NULL.
-
-
-        4.14) What is the difference between the various character types?
-
-Type  		Internal Name   Notes
+</pre>
+
+    <p>E�er optimizer'�n s�ral� arama yapmas�n�n yanl�� oldu�una inan�yorsan�z, <code>SET enable_seqscan TO 
+'off'</code> kullan�n ve index kullanan aramalar�n hala daha h�zl� olup olmad���n� g�r�n.</p>
+
+		<p><code>LIKE</code> ya da <code>~</code> gibi operat�rler kullan�yorsan�z,
+		<i>index</i>'ler sadece a�a��daki ko�ullarda kullan�labilir:</p>
+
+		<ul>
+		<li>Arama dizininin ba��, dizinin ba�� ile ba�lanmal�d�r. Yani,
+		<ul><li><code>LIKE</code> sorgular� <code>%</code> ile ba�lamamal�d�r.</li>
+		<li>D�zenli ifade sorgular� <code>^</code> i�e ba�lamamal�d�r.</li></ul></li>
+		<li>Arama metni bir karakter s�n�f� ile ba�layamaz. �rnek: <code>[a-e]</code></li>
+		<li><code>ILIKE</code> ve <code>~*</code> gibi  b�y�k/k���k harfe duyars�z
+		aramalar <i>index</i>'lerden yararlanmazlar. Onun yerine, b�l�m 4.12'de anlat�lan
+		fonksiyonel <i>index</i>'leri kullanabilirsiniz.</li>
+		<li><i>initdb</i> s�ras�nda �ntan�ml� <i>C locale</i>'i kullan�lmal�d�r.</li>
+		</ul>
+		
+		<h4><a name="4.9">4.9</a>) <i>query-optimizer</i>'�n sorgular�m� nas�l
+		de�erlendirdi�ini, i�leme soktu�unu nas�l g�rebilirim?</h4>
+		<p><code>EXPLAIN</code> yard�m sayfas�na bak�n�z.</p>
+		
+		<h4><a name="4.10">4.10</a>) <i>R-tree index</i> nedir?</h4>
+		<p>R-tree index, uzaysal (spatial) verileri indexlemek i�in kullan�l�r. Bir hash
+		index, dizi aramalar�nda (range search) kullan�lamaz. B-tree index dizi aramalar�nda sadece tek 
+		boyutlu �al��maktad�r. R-tree, �ok boyutlu veriyi destekler. �rne�in, e�er bir R-tree index point 
+		veri tipi �zerinde in�a edililebilirse, sistem "select all points within a bounding rectangle"
+		gibi sorgulara daha verimli yan�tlar verecektir.</p>
+		<p>Orijinal R-tree tasar�m�n� a��klayan belge:</p>
+		<p>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>Bu belgeyi, Stonebraker'�n "Readings in Database Systems" kitab�nda bulabilirsiniz.</p>
+		<p>G�m�l� R-tree indexleri poligon ve boxlar� kullanabilir. Teorik olarak,
+		R-tree indexlerin �zelliklerini geni�letmek bir miktar �aba gerektirir ve bunun nas�l 
+		yap�laca��na dair bir belgemiz hen�z bulunmamaktad�r.</p>
+
+		<h4><a name="4.11">4.11</a>) <i>Genetic Query Optimizer</i> nedir?</h4>
+		<p><i>GEQO</i> mod�l�, <i>Genetic Algorithm(GA)</i> kullan�larak tablolar
+		birle�tirildi�inde sorgu optimizasyonunu h�zland�r�r. </p>
+		
+		<h4><a name="4.12">4.12</a>) D�zenli ifade (<i>Regular Expression</i>) aramalar�n�
+		ve b�y�k/k���k harfe duyars�z aramalar� nas�l yapabilirim?
+		Bu b�y�k(k���k harfe duyarl� aramalar i�in <i>index</i>'i nas�l kullanabilirim?</h4>
+		<p><code>~</code> operat�r� d�zenli ifade e�le�mesi ve <code>~*</code>  b�y�k/k���k
+		harfe duyars�z d�zenli ifade e�le�mesi yapar. B�y�k/k���k harfe duyarl� olan
+		<code>LIKE</code>'�n  b�y�k/k���k harfe duyars�z olan bi�imi <code>ILIKE</code>'t�r
+		ve PostgreSQL 7.1 s�r�m� ile birlikte gelmi�tir.</p>
+		<p>B�y�k-k���k harfe duyars�z e�itlik kar��la�t�rmalar� a�a��daki gibi ifade edilir:</p>
+		<pre>
+SELECT *
+FROM tab
+WHERE lower(col) = 'abc'
+		</pre>
+		<p>Bu standart bir <i>index</i> yaratmayacakt�r. Ancak e�er fonksiyonel bir
+		<i>index</i> yarat�rsan�z; o kullan�lacakt�r:</p>
+		<pre>CREATE INDEX tabindex on tab (lower(col));</pre>
+		
+		<h4><a name="4.13">4.13</a>) Bir sorguda, bir alanin "<code>NULL</code>" oldu�unu
+		nas�l ortaya ��karabilirim?</h4>
+		<p>Kolonu, <code>IS NULL</code> ve <code>IS NOT NULL</code> ile test edebilirsiniz.</p>
+		
+		<h4><a name="4.14">4.14</a>) �esitli karakter tipleri aras�ndaki farklar nelerdir?</h4>
+		<pre>
+Veri Tipi	    �� Ad�              Not
 --------------------------------------------------
-VARCHAR(n) 	varchar    	size specifies maximum length, no padding
-CHAR(n)    	bpchar		blank padded to the specified fixed length
-TEXT  		text  		no specific upper limit on length
-BYTEA 		bytea 		variable-length byte array (null-byte safe)
-"char"		char  		one character
-
-You will see the internal name when examining system catalogs and in
-some error messages.
-
-The first four types above are "varlena" types (i.e., the first four
-bytes on disk are the length, followed by the data). Thus the actual
-space used is slightly greater than the declared size. However, these
-data types are also subject to compression or being stored out-of-line
-by TOAST, so the space on disk might also be less than expected.
-
-VARCHAR(n) is best when storing variable-length strings and it limits
-how long a string can be. TEXT is for strings of unlimited length, with
-a maximum of one gigabyte.
-
-CHAR(n) is for storing strings that are all the same length. CHAR(n)
-pads with blanks to the specified length, while VARCHAR(n) only stores
-the characters supplied. BYTEA is for storing binary data, particularly
-values that include NULL bytes. All the types described here have
-similar performance characteristics.
-
-
-        4.15.1) How do I create a serial/auto-incrementing field?
-
-PostgreSQL supports a SERIAL data type. It auto-creates a sequence and
-index on the column. For example, this:
-
-    CREATE TABLE person ( 
-   	id   SERIAL, 
-   	name TEXT 
-    );
-
-is automatically translated into this:
-
-    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 );
-
-See the /create_sequence/ manual page for more information about
-sequences. You can also use each row's /OID/ field as a unique value.
-However, if you need to dump and reload the database, you need to use
-/pg_dump/'s /-o/ option or COPY WITH OIDS option to preserve the OIDs.
-
-
-        4.15.2) How do I get the value of a SERIAL insert?
-
-One approach is to retrieve the next SERIAL value from the sequence
-object with the /nextval()/ function /before/ inserting and then insert
-it explicitly. Using the example table in 4.15.1 <#4.15.1>, an example
-in a pseudo-language would look like this:
-
-    new_id = execute("SELECT nextval('person_id_seq')");
-    execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
-
-You would then also have the new value stored in |new_id| for use in
-other queries (e.g., as a foreign key to the |person| table). Note that
-the name of the automatically created SEQUENCE object will be named
-</table/>_</serialcolumn/>_/seq/, where /table/ and /serialcolumn/ are
-the names of your table and your SERIAL column, respectively.
-
-Alternatively, you could retrieve the assigned SERIAL value with the
-/currval()/ function /after/ it was inserted by default, e.g.,
-
-    execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
-    new_id = execute("SELECT currval('person_id_seq')");
-
-Finally, you could use the OID <#4.16> returned from the INSERT
-statement to look up the default value, though this is probably the
-least portable approach. In Perl, using DBI with Edmund Mergl's DBD::Pg
-module, the oid value is made available via /$sth->{pg_oid_status}/
-after /$sth->execute()/.
-
-
-        4.15.3) Don't /currval()/ and /nextval()/ lead to a race
-        condition with other users?
-
-No. /currval()/ returns the current value assigned by your backend, not
-by all users.
-
-
-        4.15.4) Why aren't my sequence numbers reused on transaction
-        abort? Why are there gaps in the numbering of my sequence/SERIAL
-        column?
-
-To improve concurrency, sequence values are given out to running
-transactions as needed and are not locked until the transaction
-completes. This causes gaps in numbering from aborted transactions.
-
-
-        4.16) What is an OID? What is a TID?
-
-OIDs are PostgreSQL's answer to unique row ids. Every row that is
-created in PostgreSQL gets a unique OID. All OIDs generated during
-/initdb/ are less than 16384 (from /include/access/transam.h/). All
-user-created OIDs are equal to or greater than this. By default, all
-these OIDs are unique not only within a table or database, but unique
-within the entire PostgreSQL installation.
-
-PostgreSQL uses OIDs in its internal system tables to link rows between
-tables. These OIDs can be used to identify specific user rows and used
-in joins. It is recommended you use column type OID to store OID values.
-You can create an index on the OID field for faster access.
-
-OIDs are assigned to all new rows from a central area that is used by
-all databases. If you want to change the OID to something else, or if
-you want to make a copy of the table, with the original OIDs, there is
-no reason you can't do it:
-
-   	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';
-
-OIDs are stored as 4-byte integers, and will overflow at 4 billion. No
-one has reported this ever happening, and we plan to have the limit
-removed before anyone does.
-
-TIDs are used to identify specific physical rows with block and offset
-values. TIDs change after rows are modified or reloaded. They are used
-by index entries to point to physical rows.
-
-
-        4.17) What is the meaning of some of the terms used in PostgreSQL?
-
-Some of the source code and older documentation use terms that have more
-common usage. Here are some:
-
-    * table, relation, class
-    * row, record, tuple
-    * column, field, attribute
-    * retrieve, select
-    * replace, update
-    * append, insert
-    * OID, serial value
-    * portal, cursor
-    * range variable, table name, table alias
-
-A list of general database terms can be found at:
-http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html
-
-
-        4.18) Why do I get the error /"ERROR: Memory exhausted in
-        AllocSetAlloc()"/?
-
-You probably have run out of virtual memory on your system, or your
-kernel has a low limit for certain resources. Try this before starting
-/postmaster/:
-
-    ulimit -d 262144
-    limit datasize 256m
-
-Depending on your shell, only one of these may succeed, but it will set
-your process data segment limit much higher and perhaps allow the query
-to complete. This command applies to the current process, and all
-subprocesses created after the command is run. If you are having a
-problem with the SQL client because the backend is returning too much
-data, try it before starting the client.
-
-
-        4.19) How do I tell what PostgreSQL version I am running?
-
-From /psql/, type |SELECT version();|
-
-
-        4.20) Why does my large-object operations get /"invalid large
-        obj descriptor"/?
-
-You need to put |BEGIN WORK| and |COMMIT| around any use of a large
-object handle, that is, surrounding |lo_open| ... |lo_close.|
-
-Currently PostgreSQL enforces the rule by closing large object handles
-at transaction commit. So the first attempt to do anything with the
-handle will draw /invalid large obj descriptor/. So code that used to
-work (at least most of the time) will now generate that error message if
-you fail to use a transaction.
-
-If you are using a client interface like ODBC you may need to set
-|auto-commit off.|
-
-
-        4.21) How do I create a column that will default to the current
-        time?
-
-Use /CURRENT_TIMESTAMP/:
-
-|CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
-|
-
-
-        4.22) Why are my subqueries using |IN| so slow?
-
-Currently, we join subqueries to outer queries by sequentially scanning
-the result of the subquery for each row of the outer query. If the
-subquery returns only a few rows and the outer query returns many rows,
-|IN| is fastest. To speed up other queries, replace |IN| with |EXISTS|:
-
-    SELECT *
+VARCHAR(n)      varchar         boyut en b�y�k uzunlu�u verir; sadece verilen kadar veri tutulur.
+CHAR(n)         bpchar          belirtilen uzunlu�a kadar sonuna  bo�luk eklenir.
+TEXT            text            uzunlukta herhangi bir �st s�n�r yoktur. 
+BYTEA           bytea           variable-length byte array (null-byte safe)
+"char"          char            bir karakter 
+		</pre>
+		<p>�� adlar� (<i>internal name</i>) sistem kataloglar�n� ve
+		baz� hata mesajlar�n� incelerken g�receksiniz.</p>
+		<p>�lk d�rt veri tipi "<i>varlena</i>" tipidir (yani, diskteki ilk 4 bayt uzunluktur;
+		devam� da veridir.) Dolay�s�yla, kullan�lan ger�ek alan, belirtilen alandan biraz
+		daha b�y�kt�r. Ancak, bu veri tipleri, s�k��t�r�lmaya tabi tutulabilir; dolay�s�yla
+		disk alan� beklenilenden k���k olabilir. <code>VARCHAR(<i>n</i>)</code> b�y�kl���
+		artabilen ama en b�y�k uzunlu�u s�n�rl� olan verileri saklamak i�in en uygun y�ntemdir.
+		<code>TEXT</code>, 1 GB b�y�kl��e kadar olan verileri tutmak i�in kullan�l�r.</p>
+		<p><code>CHAR(<i>n</i>)</code>, ayn� uzunluktaki dizilerin saklanmas� i�in kullan�m�r.
+		<code>CHAR(<i>n</i>)</code> belirtilen uzunlu�a kadar bo�luk ile doldurur; ancak
+		<code>VARCHAR(<i>n</i>)</code> sadece verilen karakterleri saklar. <code>BYTEA</code>
+		binary veri saklamak i�indir; ayr�ca "<code>NULL</code>" bayt i�eren de�erleri de saklar.
+		Burada anlat�lan �� veri tipi de benzer ba�ar�m karakteristiklere sahiptir.</p>
+		
+		<h4><a name="4.15.1">4.15.1</a>) Nas�l <i>serial</i>/otomatik artan
+		(<i>auto-incrementing</i>) bir alan yaratabilirim?</h4>
+		<p>PostgreSQL'de <code>SERIAL</code> veri tipi vard�r. Bu veri tipi bir
+		<i>sequence</i> ve kolon �zerinde bir <i>index</i> yarat�r.</p>
+		<p>�rnek, a�a��daki sorgu:</p>
+		<pre>
+CREATE TABLE person (
+    id   SERIAL,
+    name TEXT
+);		
+		</pre>
+		<p>buna �evrilir:</p>
+		<pre>
+CREATE SEQUENCE person_id_seq;
+CREATE TABLE person (
+    id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
+    name TEXT
+);
+CREATE UNIQUE INDEX person_id_key ON person ( id );		
+		</pre>
+		<p><i>Sequenceler</i> hakk�nda daha fazla bilgi i�in <i>create_sequence</i>
+		yard�m sayfas�na bakabilirsiniz. Her sat�r�n <code>OID<code> alan�n� tekil bir say�
+		olarak alabilirsiniz. Ancak, veritaban�n�z�n <i>dump</i>'�n� al�p yeniden y�klerseniz,
+		<code>OID</code> de�erlerini koruyabilmek i�in <code>pg_dump</code>'�n <code>-o</code>
+		parametresini ya da "<code>COPY WITH OIDS</code>" se�ene�ini kullanman�z gerekecektir.</p>
+
+    	<h4><a name="4.15.2">4.15.2</a>) <code>SERIAL</code> giri�inin degerini nas�l alabilirim?</h4>
+		<p>Bir yakla��m, sequence nesnesindeki SERIAL de�erini, veriyi girmeden �nce nextval() ile al�p, 
+		ald���n�z de�eri kendinizin girmesidir. 4.15.1'deki �rnek tabloyu kullanarak bir �rnek verelim:</p>
+
+		<pre>new_id = execute("SELECT nextval('person_id_seq')");<BR>
+    execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");</pre>
+
+	<P>Di�er sorgular i�in new_id'de yeni de�erin saklanmas� gerekir. Otomatik olarak yarat�lan SEQUENE nesnesinin ad�,
+  <tablo ad�>_<serial kolonu ad�>_seq �eklinde olacakt�r (< > i�aretleri olmadan).</p>
+
+		<p>Alternatif olarak, atanm�� SERIAL de�erini, de�er girildikten sonra currval()
+		fonksiyonu ile alabilirsiniz:</p>
+		<pre>
+		execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
+		new_id = execute("SELECT currval('person_id_seq')");	
+		</pre>
+		<p>Son olarak, �n tan�ml� de�eri bulmak i�in <code>INSERT</code> ifadesinden
+		d�nen <code>OID</code> de�erini kullanabilirsiniz; ancak bu en az ta��nabilir
+		��z�m olacakt�r. Perl'de, Edmund Mergl'in <i>DBD:Pg</i> m�d�l� ile birlikte
+		<i>DBI</i> kullanarak, <code>OID</code> de�eri <code>$sth->execute()</code>
+		�al��t�r�ld�ktan sonra <code>$sth->(pg_oid_status)</code> ile al�nabilir.</p>
+	
+		<h4><a name="4.15.3">4.15.3</a>) <code>currval()</code> ve <code>nextval()</code>
+		di�er kullan�c�lara sorun yaratmaz m�?</h4>
+		<p>Hay�r. <code>curval()</code>, t�m kullan�c�lar de�il, backend
+		taraf�ndan atanan ge�erli de�eri d�nd�r�r.</p>
+		
+		<h4><a name="4.15.4">4.15.4</a>) Neden <i>sequence</i> say�lar� <i>transaction</i>
+		i�leminin iptalinden sonra yeniden kullan�l�yor? Neden <i>sequence/SERIAL</i>
+		kolonumdaki say�larda atlamalar oluyor?</h4>
+		<p>Uyumlulu�u artt�rmak i�in, <i>sequence</i> de�erleri �al��an
+		<i>transaction</i>'lara gerekti�i �ekilde aktar�l�r ve <i>transaction</i>
+		bitene kadar o de�er kilitlenmez. Bu, iptal edilen <i>transaction</i>
+		i�lemleri nedeniyle bo�luklara neden olur.</p>
+		
+		<h4><a name="4.16">4.16</a>) OID nedir? TID nedir?</h4>
+		<p>OIDler, tekil sat�r numaralar�na PostgreSQL'in yan�t�d�r. PostgreSQL'de yarat�lan
+		her say�, tekil bir OID al�r. initdb i�lemi s�ras�nda yarat�lan t�m OID'ler 16384'ten k���kt�r 
+		(backend/access/transam.h). Kullan�c�lar taraf�ndan yarat�lan t�m OID'ler bu say�ya e�it ya da bu 
+		say�dan b�y�kt�r. Varsay�lan durumda, t�m bu OIDler sadece bir tablo ya da veritaban�nda de�il, t�m 
+		PostgreSQL kurulumunda tekildir.</p>
+
+		<p> PostgreSQL OIDleri, tablolar aras�nda sat�rlar� ili�kilendirmek i�in kendi i� tablolar�nda 
+		kullan�r. Bu OIDler belirli kullan�c� sat�rlar�n� belirtmek i�in kullanabilir ve join i�lemlerinde 
+		kullan�l�r. OID de�erlerini saklamak i�in OID kolon tipini kullanman�z �nerinir. Daha h�zl� bir 
+		eri�im i�in, OID alan�nda bir index yaratabilirsiniz.</p>
+
+		<p>OID'ler yeni sat�rlara, t�m veritabanlar� taraf�nda kullan�lan ortak bir alandan atan�rlar. E�er 
+		 OID'i ba�ka bir de�ere e�itlemek isterseniz ya da tablonun bir kopyas�n� orijinal OIDler ile 
+		��karmak isterseniz, bu m�mk�nd�r:</p>
+		<pre>
+			CREATE TABLE new_table(old_oid oid, mycol int);
+			SELECT old_oid, mycol INTO new FROM old;
+			COPY new TO '/tmp/pgtable';
+			DELETE FROM new;
+			COPY new WITH OIDS FROM '/tmp/pgtable';		
+		</pre>
+		<p>OIDler 4-bit tamsay� olarak saklan�rlar ve 4 milyarda overflow olacakt�r. Kimse 
+		bu say�ya ula�t���na dair bir bilgi iletmedi ve bu s�n�r� kimse bu s�n�ra ula�madan kald�raca��z.</p>
+
+		<p>TIDler, belirli fiziksel sat�rlar block ve offset de�erleri ile belirtmekte kullan�l�r. TIDler, 
+		sat�rlar de�i�ti�inde ya da yeniden y�klendi�inde de�i�irler. Index girdileri taraf�ndan fiziksel 
+		sat�rlar� g�stermek i�in kullan�l�rlar.</p>
+		
+		<h4><a name="4.17">4.17</a>) PostgreSQL'de kullan�lan baz�
+		terimlerin anlamlar� nelerdir?</h4>
+		<p>Kaynak kodun bir k�sm� ve eski belgeler, daha geni� kullan�m alan� olan terimleri
+		kullan�rlar. Bunlar�n baz�lar�:</p>
+		<ul><li>table, relation, class</li>
+		<li>row, record, tuple</li>
+		<li>column, field, attribute</li>
+		<li>retrieve, select</li>
+		<li>replace, update</li>
+		<li>append, insert</li>
+		<li>OID, serial value</li>
+		<li>portal, cursor</li>
+		<li>range variable, table name, table alias</li></ul>
+		<p>Genel veritaban� terimleri, 
+		<i><a href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a></i>
+		adresinde bulunabilir.</p>
+		
+		<h4><a name="4.18">4.18</a>) Neden "<i>ERROR: Memory exhausted in AllocSetAlloc()</i>"
+		hatas�n� al�yorum?</h4>
+		<p>Sisteminizde sanal belle�inizi t�ketmi� olabilirsiniz, ya da �ekirde�iniz
+		belli kaynaklar icin d���k bir s�n�ra sahip olabilir. <i>postmaster</i>'�
+		ba�latmadan �nce a�a��dakileri deneyebilirsiniz:</p>
+		<pre>
+ulimit -d 262144
+limit datasize 256m		
+		</pre>
+		<p>Kabu�unuza ba�l� olarak, bunlardan sadece biri olumlu sonu� verecektir, ama
+		bu i�lem veri segment s�n�r�n�z� artt�racak, ve belki de sorgunuzun tamamlanmas�n�
+		sa�layacakt�r. Bu komut, varolan i�leme (<i>current process</i>) ve komut �al��t�r�ld�ktan
+		sonraki t�m alt i�lemlere uygulan�r. E�er SQL istemcinizle, <i>backend</i>'in �ok
+		fazla veri d�nd�rmesi nedeniyle bir sorun ya��yorsan�z, bunu istemciyi ba�latmadan
+		�nce deneyiniz.</p>
+		
+		<h4><a name="4.19">4.19</a>) Hangi PostgreSQL s�r�m�n� �al��t�rd���m� nas�l g�rebilirim?</h4>
+		<p>psql arabiriminde, <code>select version();</code> yaz�n�z.</p>
+		
+		<h4><a name="4.20">4.20</a>) Neden <i>large-object</i> i�lemlerim, "<i>invalid large obj
+		descriptor</i>" hatas�n� veriyor?</h4>
+		<p><i>Large object</i> i�lemlerinizin u�lar�na, yani <code>lo_open</code> ...
+		<code>lo_close</code> komutlar�n�n �evresine, <code>BEGIN WORK</code> ve
+		<code>COMMIT</code> koyman�z gerekmektedir;</p>
+		<p>E�er ODBC gibi bir istemci arabirimi kullan�yorsan�z, <i>auto-commit</i>'i
+		kapatman�z gerekebilir.</p>
+		
+		<h4><a name="4.21">4.21</a>) �u andaki zaman� �ntan�ml� de�er olarak
+		kabul eden <b>How do I create a column that will default to the current time?</b></h4>
+		<p>Alttakini kullanabilirsiniz:</p>
+		<pre>
+CURRENT_TIMESTAMP:
+CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
+		</pre>
+		
+		<h4><a name="4.22">4.22</a>) Neden <code>IN</code> kullanan <i>subquery</i>'lerim
+		�ok yavas?</h4>
+		<p>7.4 s�r�m�nden �nce, subqueryler. E�er subquery sadece birka� sat�r ve outer query bol 
+		say�da sat�r d�nd�r�yorsa, IN en h�zl�s�d�r. Sorgular� h�zland�rmak i�in IN yerine EXISTS 
+		kullan�n:</p>
+		<pre>
+SELECT *
     FROM tab
-    WHERE col IN (SELECT subcol FROM subtab);
-
-to:
-
-    SELECT *
+    WHERE col1 IN (SELECT col2 FROM TAB2)
+		</pre>
+		<p>sorgusunu, a�a��daki ile de�i�tirin:</p>
+		<pre>
+SELECT *
     FROM tab
-    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
-
-For this to be fast, |subcol| should be an indexed column. This
-preformance problem will be fixed in 7.4.
-
-
-        4.23) How do I perform an outer join?
-
-PostgreSQL supports outer joins using the SQL standard syntax. Here are
-two examples:
-
-    SELECT *
-    FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
-
-or
-
-    SELECT *
-    FROM t1 LEFT OUTER JOIN t2 USING (col);
-
-These identical queries join t1.col to t2.col, and also return any
-unjoined rows in t1 (those with no match in t2). A RIGHT join would add
-unjoined rows of t2. A FULL join would return the matched rows plus all
-unjoined rows from t1 and t2. The word OUTER is optional and is assumed
-in LEFT, RIGHT, and FULL joins. Ordinary joins are called INNER joins.
-
-In previous releases, outer joins can be simulated using UNION and NOT
-IN. For example, when joining /tab1/ and /tab2/, the following query
-does an /outer/ join of the two tables:
-
-    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) How do I perform queries using multiple databases?
-
-There is no way to query a database other than the current one. Because
-PostgreSQL loads database-specific system catalogs, it is uncertain how
-a cross-database query should even behave.
-
-/contrib/dblink/ allows cross-database queries using function calls. Of
-course, a client can make simultaneous connections to different
-databases and merge the results on the client side.
-
-
-        4.25) How do I return multiple rows or columns from a function?
-
-In 7.3, you can easily return multiple rows or columns from a function,
-http://techdocs.postgresql.org/guides/SetReturningFunctions
-<http://techdocs.postgresql.org/guides/SetReturningFunctions>.
-
-
-        4.26) Why can't I reliably create/drop temporary tables in
-        PL/PgSQL functions?
-
-PL/PgSQL caches function contents, and an unfortunate side effect is
-that if a PL/PgSQL function accesses a temporary table, and that table
-is later dropped and recreated, and the function called again, the
-function will fail because the cached function contents still point to
-the old temporary table. The solution is to use EXECUTE for temporary
-table access in PL/PgSQL. This will cause the query to be reparsed every
-time.
-
-
-        4.27) What replication options are available?
-
-There are several master/slave replication options available. These
-allow only the master to make database changes and the slave can only do
-database reads. The bottom of
-http://gborg.PostgreSQL.org/genpage?replication_research
-<http://gborg.postgresql.org/genpage?replication_research> lists them. A
-multi-master replication solution is being worked on at
-http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php
-<http://gborg.postgresql.org/project/pgreplication/projdisplay.php>.
-
-
-        4.28) What encryption options are available?
-
-    * /contrib/pgcrypto/ contains many encryption functions for use in
-      SQL queries.
-    * The only way to encrypt transmission from the client to the server
-      is by using /hostssl/ in /pg_hba.conf/.
-    * Database user passwords are automatically encrypted when stored in
-      version 7.3. In previous versions, you must enable the option
-      /PASSWORD_ENCRYPTION/ in /postgresql.conf/.
-    * The server can run using an encrypted file system.
-
-------------------------------------------------------------------------
-
-
-    Extending PostgreSQL
-
-
-        5.1) I wrote a user-defined function. When I run it in /psql/,
-        why does it dump core?
-
-The problem could be a number of things. Try testing your user-defined
-function in a stand-alone test program first.
-
-
-        5.2) How can I contribute some nifty new types and functions to
-        PostgreSQL?
-
-Send your extensions to the /pgsql-hackers/ mailing list, and they will
-eventually end up in the /contrib// subdirectory.
-
-
-        5.3) Bir tuple d�nd�rmek i�in bir C fonksiyonunu nas�l yazar�m?
-
-PostgreSQL 7.3 s�r�m� ile birlikte, C, PL/PgSQL ve SQL kullan�larak
-tablo-d�nd�ren fonksiyonlar tamamen desteklenmektedir. Ayr�nt�l� bilgi
-i�in "Programmer's Guide" a bakabilrisiniz. Bir �rne�i
-/contrib/tablefunc/ i�inde bulabilirsiniz.
-
-
-        5.4) Bir kaynak dosyas�nda de�i�iklik yapt�m. Yeniden derlememe
-        ra�men de�i�iklik ge�erli olmuyor. Neden?
-
-/Makefile'lar/ include dosyalar� i�in tam bir ba��ml�l�k i�ermezler.
-�ncelikle /make clean/, ard�ndan da baska bir /make/ i�lemi yapman�z
-gerekir. GCC kullan�yorsaniz, /configure/ beti�inin /--enable-depend/
-se�ene�ini, derleyicinin ba��ml�l�klar� otomatik olarak hesaplamas� i�in
-kullanabilirsiniz.
-
+    WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)		
+		</pre>
+		<p>Bu i�lemin h�zl� olmas� i�in, subcol'un indexlenmi� bir kolon olmas� gerekmektedir.</p>
+		<p>7.4 s�r�m� ve sonras�nda, IN asl�nda normal sorgularla ayn� karma��k join tekniklerini kullan�r ve 
+		EXISTS'e tercih edilir.</p>
+
+		<h4><a name="4.23">4.23</a>) <i>Outer join</i> i�lemini nas�l yapabilirim?</h4>
+		<p>PostgreSQL outer joins islemlerini SQL standartlar�n� kullanarak
+		ger�ekle�tirmektedir. A�a��da 2 �rnek bulunmaktad�r:</p>
+		<pre>
+SELECT *
+FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);		
+		</pre>
+		<p>ya da</p>
+		<pre>
+SELECT *
+FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);		
+		</pre>
+		<p>Bu �zde� sorgular t1.col' i t2.col'ye <i>join</i> ederler ve ayn� zamanda t1'deki
+		<i>unjoined</i> sat�rlar� (t2'de e�lenmemi� olanlarla) d�nd�r�rler. <code>RIGHT
+		JOIN t2</code>'nin <i>unjoined</i> sat�rlar�n� ekleyecektir. Bir FULL join, e�le�mi�
+		b�t�n sat�rlar� ve t1 ile t2'den t�m ba�lanmam�� (<i>unjoined</i>) sat�rlar� al�r.
+		<code>OUTER</code> s�zc��� se�imseldir ve <code>LEFT</code>, <code>RIGHT</code> ve
+		<code>FULL</code> <i>join</i> i�lemlerinde oldu�u kabul edilir. S�radan <i>join</i>
+		i�lemleri <code>INNER JOIN</code> olarak adland�r�l�r.</p>
+		<p>�nceki s�r�mlerde, <code>OUTER JOIN</code>ler <code>UNION</code> ve <code>NOT IN</code>
+		kullan�larak sim�le edilebiliyordu. �rne�in, tab1 ve tab2'yi birle�tirirken, a�a��daki
+		sorgu iki tablonun d��tan ba�lanmas�n� sa�lar:</p>
+		<pre>
+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		
+		</pre>
+		
+		<h4><a name="4.24">4.24</a>) Ayn� andan birden fazla veritaban�nda nas�l
+		i�lem yapabilirim?</h4>
+		<p>Mevcut veritaban�n�z d���ndaki ba�ka bir veritaban�n�z� sorgulaman�z�n
+		bir yolu bulunmamaktad�r. Bunun nedeni, PostgreSQL'in veritaban�na �zel sistem
+		kataloglar� y�klemesidir. Bu nedenle, cross-database bir sorgunun nas�l
+		davranaca��n� kestirmek zordur.</p>
+		<p>contrib/dblink fonksiyon �a�r�lar�n� kullanarak cross-database sorgulara
+		izin verir. Tabii ki, bir istemci de�i�ik veritabanlar�na ayn� anda eri�im
+		sa�layabilir ve bilgiyi bu �ekilde birle�tirebilir.</p>
+		
+		<h4><a name="4.25">4.25</a>) Bir fonksiyondan nas�l �oklu sat�r ya da 
+		kolon d�nd�rebilirim?</h4>
+		<p>7.3 s�r�m�nde, bir fonksiyondan kolayl�kla �oklu sat�r ya da s�tun
+		d�nd�rebilirsiniz.
+		(<i><a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a></i>)</p>
+		
+		<h4><a name="4.26">4.26</a>) Neden Pl/PgSQL fonksiyonlar� i�inden
+		g�venli bir �ekilde tablo yaratma/kald�rma i�lemlerini yapam�yoruz?</h4>
+		<p>PL/PgSQL fonksiyon i�erikleri <i>cache</i>'ler. Bunun istenmeyen bir taraf�,
+		e�er bir PL/PgSQL fonksiyonu ge�ici bir tabloya eri�iyorsa ve bu tablo ileride
+		kald�r�l�p yeniden olu�turulduktan sonra fonksiyon yeniden �a�r�l�rsa, fonksiyon
+		�al��mayacakt�r; ��nk� <i>cache</i>'lenmi� fonksiyon hala eski ge�ici tabloyu
+		g�steriyor olacakt�r. ��z�m, ge�ici tablo eri�imleri i�in PL/PgSQL'de
+		<code>EXECUTE</code> kullanmakt�r. Bu, sorgunun her seferinde yeniden i�lenmesini
+		sa�layacakt�r.</p>
+		
+		<h4><a name="4.27">4.27</a>) Hangi replikasyon se�enekleri bulunmaktad�r?</h4>
+		<p>�e�itli master/slave replikasyon se�enekleri bulunmaktad�r. Bunlar master
+		veritaban�n�n veritaban� de�i�ikliklerini yaparken, slave sunucunun sadece
+		veritaban�nda okuma yapmas�na izin verir. 
+		<i><a href="http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</a></i>
+		sayfas�n�n alt�nda bunlar�n listesini bulabilirsiniz.
+		<i><a href="http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a></i>
+		adresinde, �oklu-master replikasyon ��z�m� �zerinde �al���l�yor.</p>
+		
+		<h4><a name="4.28">4.28</a>) 4.28) Hangi �ifreleme se�enekleri bulunmaktad�r?</h4>
+		<ul><li>contrib/pgcrypto SQL sorgular�nda kullan�labilmesi i�in
+		�ifreleme fonksiyonlar� i�ermektedir.</li>
+		<li> �stemciden sunucuya ileti�imi �ifrelemek i�in, sunucuda ssl se�ene�i postgresql.conf i�inde 
+		a��k olmal�d�r. Ayr�ca,pg_hba.conf dosyas� i�inde host ya da hostssl kayd� mutlaka olmal�d�r ve 
+		istemci sslmode kapat�lmamal�d�r. (Ayn� zamanda,PostgreSQL'in do�al SSL ba�lant�lar� d���nda ssh ya 
+		da ssl gibi 3.parti �ifrelenmi� veri iletimi de m�mk�nd�r.)</li>
+		<li>Veritaban� kullan�c� ad� ve �ifreleri 7.3 s�r�m� ile birlikte
+		otomatik olarak �ifrelenirler. �nceki s�r�mlerde, postgresql.conf
+		i�indeki PASSWORD_ENCRYPTION se�ene�ini aktif hale getirmeniz gerekmektedir.</li>
+		<li>Sunucunun kendisini �ifreli dosya sistemi �zerinde �al��t�rabilirsiniz.</li></ul>
+		
+		<hr>
+		
+	<h2 align="center">PostgreSQL �zelliklerini Geni�letmek</h2>
+		
+		<h4><a name="5.1">5.1</a>) Kullan�c�-tan�ml� bir fonksiyon yazd�m.
+		psql'de �al��t�rd���m zaman neden core dump ediyor?</h4>
+		<p>Sorunun nedeni birden fazla �ey olabilir. Kullan�c�-tan�ml� fonksiyonunuzu
+		stand-alone bir programda �al��t�rmay� deneyiniz.</p>
+		
+		<h4><a name="5.2">5.2</a>) PostgreSQL'e nas�l yeni tipler/fonksiyonlar ekleyebilirim?</h4>
+		<p>�al��malar�n�z� pgsql-hackers e-posta listesine g�nderiniz. Kodunuz
+		incelendikten sonra /contrib dizinine konacakt�r.</p>
+		
+		<h4><a name="5.3">5.3</a>) Bir <i>tuple</i> dond�rmek icin bir C fonksiyonunu nasil yazar�m?</h4>
+		<p>PostgreSQL 7.3 s�r�m� ile birlikte, C, PL/PgSQL ve SQL kullan�larak tablo-d�nd�ren
+		fonksiyonlar tamamen desteklenmektedir. Ayr�nt�l� bilgi i�in
+		<i><a href="http://www.postgresql.com/docs/7.3/interactive/user.html">PostgreSQL 7.3.2
+		Kullan�c� Rehberi</a></i>'ne bakabilrisiniz. Bir �rne�i contrib/tablefunc
+		i�inde bulabilirsiniz.</p>
+		
+		<h4><a name="5.4">5.4</a>) Bir kaynak dosyas�nda de�i�iklik yapt�m. Yeniden derlememe
+		ra�men de�i�iklik ge�erli olmuyor. Neden?</h4>
+		<p>Makefile'lar include dosyalar� i�in tam bir ba��ml�l�k i�ermezler. 
+		�ncelikle make clean, ard�ndan da baska bir make i�lemi yapman�z gerekir.
+		GCC kullan�yorsan�z, configure beti�inin --enable-depend se�ene�ini, derleyicinin
+		ba��ml�l�klar� otomatik olarak hesaplamas� i�in kullanabilirsiniz.</p>
+		
+</body></html>
-- 
GitLab