Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
a3b9a027
Commit
a3b9a027
authored
Jul 29, 2004
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Turkish FAQ.
Devrim GUNDUZ
parent
e57243ea
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
825 additions
and
938 deletions
+825
-938
doc/FAQ_turkish
doc/FAQ_turkish
+808
-933
doc/src/FAQ/FAQ_turkish.html
doc/src/FAQ/FAQ_turkish.html
+17
-5
No files found.
doc/FAQ_turkish
View file @
a3b9a027
PostgreSQL iin Ska Sorulan Sorular (SSS)
PostgreSQL iin Ska Sorulan Sorular (SSS)
Son gncelleme : 23 ubat 2004 Pazartesi - 13:34:26
Son gncelleme : 26 Temmuz 2004 Pazartesi - 16:05:26
Bruce Momjian (pgman@candle.pha.pa.us)
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
eviren : Devrim GNDZ (devrim@gunduz.org), Nicolai Tufar (ntufar@yahoo.com), Volkan YAZICI (vyazici@phreaker.net)
evirenler : Devrim Gndz (devrim@tdmsoft.com)
Bu belgenin en gncel hali, http://www.gunduz.org/seminer/pg/FAQ_turkish.html ve
Nicholas Morris Tufar (ntufar@tdmsoft.com)
http://www.PostgreSQL.org/docs/faq-turkish.html
Volkan YAZICI (volkany@phreaker.net)
adreslerinde gorlebilir.
Bu belgenin en gncel hali, http://www.PostgreSQL.org/docs/faqs/FAQ_turkish.html ve
Platforma zel sorularnz,
http://www.gunduz.org/seminer/pg/FAQ_turkish.html adreslerinde grlebilir.
http://www.PostgreSQL.org/users-lounge/docs/faq.html adresinde yantlanr.
_________________________________________________________________
Platforma zel sorularnz, http://www.PostgreSQL.org/docs/index.html adresinde yantlanr.
Genel Sorular
Genel Sorular
1.1) PostgreSQL nedir? Nasl okunur?
1.2) PostgreSQL'in haklar nedir?
1.1) PostgreSQL nedir? Nasl okunur?
1.3) PostgreSQL, hangi Unix platformlarnda alr?
1.2) PostgreSQL' in haklar nedir?
1.4) Hangi Unix olmayan uyarlamalar bulunmaktadr?
1.3) PostgreSQL, hangi Unix platformlarnda alsr?
1.5) PostgreSQL'i nereden indirebilirim?
1.4) Hangi Unix olmayan uyarlamalar bulunmaktadr?
1.6) Destei nereden alabilirim?
1.5) PostgreSQL'i nereden indirebilirim?
1.7) En son srm nedir?
1.6) Destei nereden alabilirim?
1.8) Hangi belgelere ulaabilirim?
1.7) En son srm nedir?
1.9) Bilinen hatalar ya da eksik zelliklere nereden ulasabilirim?
1.8) Hangi belgelere ulasabilirim?
1.10) Nasl SQL renebilirim?
1.9) Bilinen hatalar ya da eksik zelliklere nereden ulasabilirim?
1.11) PostgreSQL 2000 ylna uyumlu mudur?
1.10) Nasl SQL grenebilirim?
1.12) Gelitirme takmna nasl katlabilirim??
1.11) PostgreSQL 2000 ylna uyumlu mudur?
1.13) Bir hata raporunu nasl gnderebilirim?
1.12) Gelitirme takmna nasl katlabilirim?
1.14) PostgreSQL, dier VTYS(DBMS) lerle nasl karlatrlabilir?
1.13) Bir hata raporunu nasl gnderebilirim?
1.15) PostgreSQL'e maddi adan nasl destek olabilirim?
1.14) PostgreSQL, diger DBMS'lerle nasl karlatrlabilir?
Kullanc/istemci Sorular
1.15) PostgreSQL'e maddi adan nasl destek olabilirim?
2.1) PostgreSQL iin ODBC srcleri var m?
2.2) PostgreSQL'i web sayfalarnda kullanabilmek iin hangi aralar bulunmaktadr?
Kullanc/istemci Sorular
2.3) PostgreSQL'in grafik kullanc arabirimi var mdr?
2.4) PostgreSQL ile iletiimi kurabilmek iin hangi dilleri kullanabilirim?
2.1) PostgreSQL icin ODBC srcleri var m?
Ynetimsel Sorular
2.2) PostgreSQL'i web sayfalarnda kullanabilmek iin hangi aralar bulunmaktadr?
3.1) PostgreSQL'i /usr/local/pgsql dizininden baka dizinlere nasl kurabilirim?
2.3) PostgreSQL'in grafik kullanc arabirimi var mdr?
3.2) Postmaster' balattmda Bad System Call ya da core dumped mesaj alyorum. Neden?
Report generator var mdr? Gml sorgu dili arabirimi var mdr?
3.3) Postmaster' balattmda, IpcMemoryCreate hatas alyorum. Neden?
2.4) PostgreSQL ile iletiimi kurabilmek iin hangi dilleri kullanabilirim?
3.4) Postmaster', balattmda, IpcSemaphoreCreate hatas alyorum. Neden?
3.5) Dier bilgisayarlarn benim PostgreSQL veritaban sunucuma balantlarn nasl kontrol edebilirim?
Ynetimsel Sorular
3.6) Veritaban motorunu daha iyi baarm icin nasl ayarlayabilirim?
3.7) Hangi hata ayklama zellikleri bulunmaktadr?
3.8) Balanmaya alrken, neden "Sorry, too many clients" hatasn alyorum. Neden?
3.1) PostgreSQL'i, /usr/local/pgsql dizininden baka dizinlere nasl kurabilirim?
3.9) pgsql_tmpdizinin iindeki dosyalar nelerdir?
3.2) Postmaster'i baslattgmda, Bad System Call ya da core dumped mesaj
3.10) PostgreSQL srmlerini ykseltmek iin neden bir dump/reload ilemi gerekletirmek zorundaym?
alyorum. Neden?
3.11) Nasl bir donanm kullanmalym?br>
3.3) Postmaster'i balattmda, IpcMemoryCreate hatas alyorum. Neden?
letimsel Sorular
3.4) Postmaster'i balattmda, IpcSemaphoreCreate hatas alyorum. Neden?
4.1) Binary cursor ve normal cursor arasndaki fark nedr?
3.5) Dier bilgisayarlarn benim PostgreSQL veritaban sunucuma balantlarn nasl
4.2) Sorgunun sadece ilk birka satrn nasl SELECT edebilirim?
kontrol edebilirim?
4.3) psql'in iinde grdgm tablolarn ya da dier eylerin listesini nasl alabilirim?
3.6) Veritaban motorunu daha iyi baarm icin nasl ayarlayabilirim?
4.4) Bir tablodan bir kolonu nasl kaldrabilirim?
3.7) Hangi hata ayklama zellikleri bulunmaktadr?
4.5) Bir satr, tablo ve veritaban iin en fazla byklk nedir?
3.8) Balanmaya alrken, neden "Sorry, too many clients" hatasn alyorum?
4.6) Tipik bir metin dosyasndaki veriyi saklamak iin ne kadar disk alan gereklidir?
3.9) pgsql_tmp dizininin iindeki dosyalar nelerdir?
4.7) Veritabannda hangi tablo ya da index'lerin tanmlandn nasl grebilirim?
3.10) PostgreSQL srmlerini ykselmek iin neden bir dump/reload ilemi gerekletirmek
4.8) Sorgularm cok yava, ya da index'lerimi kullanmyorlar. Neden?
zorundaym?
4.9) Query-optimizer'n sorgularm nasl deerlendirdiini, ileme soktuunu nasl grebilirim?
4.10) R-tree index nedir?
letimsel Sorular
4.11) Genetic Query Optimizer nedir?
4.12) Dzenli ifade (Regular Expression) aramalarn ve byk/kk harfe duyarsz aramalar nasl yapabilirim? Bu
4.1) Binary cursor ve normal cursor arasndaki fark nedir?
byk/kk harfe duyarl aramalar iin index'i nasl kullanabilirim?
4.2) Sorgunun sadece ilk birka satrn nasl SELECT edebilirim?
4.13) Bir sorguda, bir alann NULL olduunu nasl ortaya karabilirim?
4.3) psql'in iinde grdm tablolarn ya da dier eylerin listesini nasl alabilirim?
4.14) esitli karakter tipleri arasndaki farklar nelerdir?
4.4) Bir tablodan bir kolonu nasl kaldrabilirim?
4.15.1) Nasl serial/otomatik artan (auto-incrementing) bir alan yaratabilirim?
4.5) Bir satr, tablo ve veritaban icin en fazla byklk nedir?
4.15.2) Serial giriinin deerini nasl alabilirim?
4.6) Tipik bir metin dosyasndaki veriyi saklamak iin ne kadar disk alan gereklidir?
4.15.3) currval() ve nextval() dier kullanclara sorun yaratmaz m?
4.7) Veritabannda hangi tablo ya da indexlerin tanmlandgn nasl grebilirim?
4.15.4) Neden sequence saylarn transaction ileminin iptalinden sonra yeniden kullanlyor? Neden sequence/SERIAL
4.8) Sorgularm cok yava, ya da indexlerimi kullanmyorlar. Neden?
kolonumdaki saylarda atlamalar oluyor?
4.9) Query-optimizer in sorgularm nasl deerlendirdigini, ileme soktuunu nasl grebilirim?
4.16) OID nedir? TID nedir?
4.10) R-tree index nedir?
4.17) PostgreSQL' de kullanlan baz terimlerin anlamlar nelerdir?
4.11) Genetic Query Optimizer nedir?
4.18) Neden "ERROR: Memory exhausted in AllocSetAlloc()" hatasn alyorum?
4.12) Dzenli ifade (Regular Expression) aramalarn ve byk/kk harfe duyarsz aramalar nasl yapabilirim?
4.19) Hangi PostgreSQL srmn alstrdm nasl grebilirim?
Bu byk(kk harfe duyarl aramalar iin indeksi nasl kullanabilirim?
4.20) Neden large-object ilemlerim, "invalid large obj descriptor" hatasn veriyor?
4.21) u andaki zaman ntanml deer olarak kabul eden kolonu nasl yaratrm?
4.13) Bir sorguda, bir alann "NULL" olduunu nasl ortaya karabilirim?
4.22) Neden IN kullanan subquery'lerim ok yava?
4.14) esitli karakter tipleri arasndaki farklar nelerdir?
4.23) Outer join ilemini nasl yapabilirim?
4.15.1) Nasl serial/otomatik artan(auto-incrementing) bir alan yaratabilirim?
4.24) Ayn anda birden fazla veritabannda nasl ilem yapabilirim?
4.15.2) SERIAL giriinin deerini nasl alabilirim?
4.25) Bir fonksiyondan nasl oklu satr ya da kolon dndrebilirim?
4.15.3) currval() ve nextval() dier kullanclara sorun yaratmaz m?
4.26) Neden Pl/PgSQL fonksiyonlar iinden gvenli bir ekilde tablo yaratma/kaldrma ilemlerini yapamyoruz?
4.15.4) Neden sequence saylarn transaction ileminin iptalinden sonra yeniden kullanlyor? Neden sequence/SERIAL
4.27) Hangi replikasyon seenekleri bulunmaktadr?
kolonumdaki saylarda atlamalar oluyor?
4.28) Hangi ifreleme seenekleri bulunmaktadr?
4.16) OID nedir? TID nedir?
PostgreSQL zelliklerini Geniletmek
4.17) PostgreSQL' de kullanlan baz terimlerin anlamlar nelerdir?
5.1) Kullanc-tanml bir fonksiyon yazdm. psql'de altrdm zaman neden core dump ediyor?
4.18) Neden "ERROR: Memory exhausted in AllocSetAlloc()"? hatasn alyorum?
5.2) PostgreSQL'e nasl yeni veri tipleri/fonksiyonlar ekleyebilirim?
4.19) Hangi PostgreSQL srmn alstrdm nasl grebilirim?
5.3) Bir tuple dndrmek iin bir C fonksiyonunu nasl yazarm?
4.20) Neden large-object ilemlerim, "invalid large obj descriptor"? hatasn veriyor?
5.4) Bir kaynak dosyasnda deiiklik yaptm. Yeniden derlememe ramen deiiklik geerli olmuyor. Neden?
4.21) u andaki zaman ntanml deer olarak kabul eden kolonu nasl yaratrm?
Genel Sorular
4.22) Neden IN kullanan subquerylerim ok yava?
1.1) PostgreSQL nedir? Nasl okunur?
4.23) Outer join ilemini nasl yapabilirim?
4.24) Ayn anda birden fazla veritabannda nasl ilem yapabilirim?
PostgreSQL, Post-Gres-Q-L. olarak okunur
4.25) Bir fonksiyondan nasl oklu satr ya da kolon dndrebilirim?
4.26) Neden PL/pgSQL fonksiyonlar iinden gvenli bir ekilde tablo yaratma/kaldrma ilemlerini yapamyoruz?
PostgreSQL, yeni-nesil VTYS aratrma prototipi olan POSTGRES veritaban ynetim sisteminin gelitirilmesidir.
4.27) Hangi replikasyon seenekleri bulunmaktadr?
POSTGRES'in zengin veri tiplerini ve gl veri modelini tutarken, SQL'in gelitirilmi alt kmesi olan PostQuel dilini
4.28) Hangi ifreleme seenekleri bulunmaktadr?
kullanr. PostgreSQL cretsizdir ve kaynak kodu ak datlr.
PostgreSQL zelliklerini Geniletmek
PostgreSQL, PostgreSQL gelitirme listesine ye olan bir Internet gelitirici takm tarafndan gelitirilir. u andaki
koordinatr, Marc G. Fournier (scrappy@PostgreSQL.org). (Bu takma nasl katlacagnz renmek iin 1.6 numaral
5.1) Kullanc-tanml bir fonksiyon yazdm. psql'de altrdm zaman neden
maddeyi okuyunuz.) Bu takm, tm PostgreSQL geliiminden sorumludur.
core dump ediyor?
5.2) PostgreSQL'e nasl yeni veri tipleri/fonksiyonlar ekleyebilirim?
PostgreSQL 1.01 srmnn yazarlar Andrew Yu ve Jolly Chen idi. Bunlarn dnda bir ka kisi de uyarlama, hata
5.3) Bir tuple dndrmek iin bir C fonksiyonunu nasl yazarm?
ayklama ve kodun gelitirilmesi iin alsmt. PostgreSQL'in tredii orijinal Postgres kodu, lisans, lisansst ve
5.4) Bir kaynak dosyasnda deisiklik yaptm. Yeniden derlememe ramen
akademisyenler tarafndan, Professor Michael Stonebraker (University of California, Berkeley) koordinatrlgnde
deiiklik geerli olmuyor. Neden?
yazlmtr.
_________________________________________________________________
Berkley'deki yazlmn ad Postgres idi. SQL uyumluluu 1995'te eklenince, ad Postgres 95 oldu. 1996 ylnn
Genel sorular
sonlarnda ad PostgreSQL olarak deitirildi.
1.2) PostgreSQL'in haklar nedir?
1.1) PostgreSQL nedir?
PostgreSQL Data Base Management System
PostgreSQL, Post-Gres-Q-L olarak okunur.
Portions copyright (c) 1996-2002, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the
PostgreSQL, yeni-nesil VTYS arastrma prototipi olan POSTGRES veritaban
University of California
ynetim sisteminin gelitirilmesidir. POSTGRES' in zengin veri
tiplerini ve gl veri modelini tutarken, SQL'in gelitirilmis alt kmesi
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and
olan PostQuel dilini kullanr. PostgreSQL cretsizdir ve kaynak kodu ak datlr.
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.
PostgreSQL, PostgreSQL gelistirme listesine ye olan bir nternet gelistirici
takm tarafndan gelitirilir. u andaki koordinatr, Marc G. Fournier
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
(scrappy@PostgreSQL.org). (Bu takma nasl katlacagnz grenmek iin
CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
1.6 numaral maddeyi okuyunuz.) Bu takm, tm PostgreSQL geliiminden sorumludur.
THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PostgreSQL 1.01 srmnn yazarlar Andrew Yu ve Jolly Chen idi. Bunlarn dsnda bir ka kisi de uyarlama,
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
hata ayklama ve kodun gelistirilmesi iin alsmst. PostgreSQL'in tredigi orijinal Postgres kodu,
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
lisans, lisansst ve akademisyenler tarafindan, Professor Michael Stonebraker ) University of
BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
California, Berkeley) koordinatrlgnde yazlmstr.
MODIFICATIONS.
Berkley'deki yazlmm ad Postgres idi. SQL uyumlulugu 1995'te eklenince, ad Postgres 95
stteki metin klasik ak-kod lisans olan BSD lisansdr. Kaynak kodun nasl kullanlabileceine dair snrlamalar
oldu. 1996 ylnn sonlarnda ad PostgreSQL olarak degistirildi.
yoktur. Bu lisans seviyoruz. Deitirme niyetimiz bulunmamaktadr.
1.3) PostgreSQL, hangi Unix platforlarnda alr?
1.2) PostgreSQL'in haklar nedir?
Genel olarak, modern bir Unix-uyumlu platform PostgreSQL'i altracaktr. Ayrntl bilgi iin kurulum belgelerine
PostgreSQL Data Base Management System
bakabilirsiniz.
1.4) Hangi Unix olmayan uyarlamalar bulunmaktadr?
Portions copyright (c) 1996-2002, PostgreSQL Global Development Group
Portions Copyright (c) 1994-6 Regents of the University of California
stemci
Permission to use, copy, modify, and distribute this software and its
libpq C ktphanesini, psql ve diger arabirimleri ve binary dosyalar, MS Windows ortamlarnda alsmas iin
documentation for any purpose, without fee, and without a written
derlemeniz mmkndr. Bu rnekte istemcide MS Windows alyor ve desteklenen Unix platformlarndan birinde alan
agreement is hereby granted, provided that the above copyright notice
PostgreSQL sunucuna TCP/IP ile balanmaktadr. Datm iindeki win31.mak dosyas ile, Win32 libpg ktphanesi ve psql
and this paragraph and the following two paragraphs appear in all
yaratabilirsiniz. PostgreSQL ayn zamanda ODBC istemcileri ile haberleebilmektedir.
copies.
Sunucu
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
Veritaban sunucusu Cygwin kullanarak Windows NT, 2K ya da XP zerinde altrlabilir. Dagtm iindeki
INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND
pgsql/doc/FAQ_MSWIN dosyasn ya da web sitemizdeki MS Windows FAQ'u inceleyebilirsiniz.
ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Doal Windows NT/2000/XP portu iin u anda almalar devam etmektedir. Windows srm hakknda gncel bilgi iin,
http://techdocs.postgresql.org/guides/Windows adresini ziyaret edebilirsiniz.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
Ayrca, http://forge.novell.com adresinde Novell Netware 6 portu bulunmaktadr.
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
1.5) PostgreSQL'i nereden indirebilirim?
PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
PostgreSQL iin ana anonim ftp sitesi ftp://ftp.PostgreSQL.org/pub adresidir. Yanslar iin, ana web sayfamza
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
bakabilirsiniz.
1.6) Nereden destek alabilirim?
stteki metin klasik ak-kod lisans olan BSD lisansdr. Kaynak kodun nasl
kullanlabileceine dair snrlamalar yoktur. Bu lisansi seviyoruz ve deitirme
Ana e-posta listesi : pgsql-general@PostgreSQL.org. PostgreSQL konusundaki tartmalara aktr. ye olmak iin,
niyetimiz bulunmamaktadr.
aadaki satrlar e-postanzn body ksmna (konu ksmna deil) yazp, pgsql-general-request@PostgreSQL.org adresine
gnderin:
1.3) PostgreSQL, hangi Unix platforlarnda alsr?
subscribe
Genel olarak, modern bir Unix-uyumlu platform PostgreSQL'i alstracaktr.
end
Ayrntl bilgi iin kurulum belgelerine bakabilirsiniz
Ayn zamanda, bir digest listesi bulunmaktadr. Bu listeye ye olmak iin, pgsql-general-digest-request@PostgreSQL.org
1.4) Hangi Unix olmayan uyarlamalar bulunmaktadr?
adresine, body ksmnda
stemci
subscribe
end
libpq C ktphanesini, psql ve diger arabirimleri ve binary dosyalar, MS
Windows ortamlarnda alsmas iin derlemeniz mmkndr. Bu rnekte istemcide
yazan bir e-posta atmanz yeterli olacaktr.
MS Windows alsyor ve desteklenen Unix platformlarndan birinde alsan PostgreSQL
sunucuna TCP/IP ile baglanmaktadr. Datm iindeki win32.mak dosyas ile,
Digest postalar, ana liste 30k civarnda e-postaya ulatnda yelere gnderilmektedir.
Win32 libpg ktphanesi ve psql yaratabilirsiniz. PostgreSQL ayn zamanda ODBC
istemcileri ile haberlesebilmektedir.
Bug'lar iin bir e-posta listesi bulunmaktadr. Bu listeye ye olmak iin, pgsql-bugs-request@PostgreSQL.org adresine,
body ksmnda
Sunucu
subscribe
Veritaban sunucusu Cygwin kullanarak Windows NT, 2K ya da XP zerinde altrlabilir.
end
Datm iindeki pgsql/doc/FAQ_MSWN dosyasn ya da web sitemizdeki MS Windows FAQ'u
inceleyebilirsiniz.
yazan bir e-posta atmanz yeterli olacaktr.
Doal Windows NT/2000/XP portu iin u anda almalar devam etmektedir. Windows srm
Ayn zamanda, gelitiriciler iin tartma listesi bulunmaktadr. Bu listeye ye olmak iin,
hakknda gncel bilgi iin, http://techdocs.postgresql.org/guides/Windows adresini
pgsql-hackers-request@PostgreSQL.org adresine, body ksmnda
ziyaret edebilirsiniz.
subscribe
Ayrca, http://forge.novell.com adresinde Novell Netware 6 portu bulunmaktadr.
end
1.5) PostgreSQL'i nereden indirebilirim?
yazan bir e-posta atmanz yeterli olacaktr.
PostgreSQL iin ana anonim ftp sitesi ftp://ftp.PostgreSQL.org/pub ' dur.
Bunun dndaki e-posta listelerine ve PostgreSQL hakknda bilgiye, PostgreSQL WWW ana sayfasndan ulasabilirsiniz:
Yanslar iin, ana web sayfamza bakabilirsiniz.
http://www.PostgreSQL.org
1.6) Destei nereden alabilirim?
Ayn zamanda, EFNet zerinde, #PostgreSQL adl bir IRC kanal bulunmaktadr. Bunun iin, irc -c '#PostgreSQL' "$USER"
irc.phoenix.net Unix komutunu kullanabilirsiniz.
Ana e-posta listesi : pgsql-general@PostgreSQL.org. PostgreSQL konusundaki tartmalara
aktr. ye olmak iin, asadaki satrlar e-postanzn gvde ksmna (konu ksmna deil)
Ticari destek veren firmalarn listesine
yazp, pgsql-general-request@PostgreSQL.org adresine gnderin:
http://www.postgresql.org/users-lounge/commercial-support.html
subscribe
end
adresinden ulabilirsiniz.
1.7) En son srm nedir?
Ayn zamanda, bir digest listesi bulunmaktadr. Bu listeye ye olmak iin,
pgsql-general-digest-request@PostgreSQL.org adresine, body ksmnda
PostgreSQL'in son srm 7.3.3'tr.
subscribe
Her 4 ayda major release karlmas planlanmaktadr.
end
1.8) Hangi belgelere ulaabilirim?
yazan bir e-posta atmanz yeterli olacaktr.
Datmn iinde, kitapklar, kitapk sayfalar ve baz kk rnekler verilmektedir. /doc dizinine baknz. Ayrca,
bu el kitapklarn online olarak http://www.PostgreSQL.org/docs/ adresinden inceleyebilirsiniz.
Digest postalar, ana liste 30k civarnda e-postaya ulastnda yelere gnderilmektedir.
http://www.PostgreSQL.org/docs/awbook.html ve http://www.commandprompt.com/ppbook adreslerinde PostgreSQL kitaplar
Buglar iin bir e-posta listesi bulunmaktadr. Bu listeye ye olmak iin,
bulunmaktadr. PostgreSQL kitablarnn listesine, http://www.ca.PostgreSQL.org/books/ adresinden ulaaiblirsiniz.
pgsql-bugs-request@PostgreSQL.org adresine, body ksmnda
Ayrca, PostgreSQL konusundaki teknik makalelere de http://techdocs.PostgreSQL.org/ adresinden ulaabilirsiniz.
subscribe
psql'in, \d ile baslayan veri tipler, operatorler, fonksiyonlar, aggregate'ler, vb. ile ilgili gzel komutlar vardr.
end
Web sitemiz daha fazla belgeyi iermektedir.
yazan bir e-posta atmanz yeterli olacaktr.
1.9) Bilinen hatalar ya da eksik zelliklere nereden ulaabilirim?
Ayn zamanda, gelitiriciler iin tartma listesi bulunmaktadr. Bu listeye ye olmak
PostgreSQL SQL-92 uyumluluu iindedir, standartlardan fazla da zellikleri bulunmaktadr. Bilinen hatalar, eksik
iin, pgsql-hackers-request@PostgreSQL.org adresine, gvde ksmnda
zellikler ve gelecek ile ilgili planlar iin TODO listesine baknz.
1.10) Nasl SQL renebilirim?
subscribe
end
http:/www.PostgreSQL.org/docs/awbook.html adresindeki kitap SQL gretecektir. http://www.commandprompt.com/ppbook
adresinde de bir baska PostgreSQL kitab bulunmaktadr.
yazan bir e-posta atmanz yeterli olacaktr.
http://www.intermedia.net/support/sql/sqltut.shtm,
Bunlarn dndaki e-posta listelerine ve PostgreSQL hakknda bilgiye, PostgreSQL WWW
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM http://sqlcourse.com ve http://sqlcourse2.com
ana sayfasndan ulaabilirsiniz:
adreslerinde de gzel belgeler bulunmaktadr.
http://www.PostgreSQL.org
Bir bakas da, http://members.tripod.com/er4ebus/sql/index.htm adresinde bulunan "Teach Yourself SQL in 21 Days,
Second Edition" kitabdr.
Ayn zamanda, EFNet ve OpenProjects zerinde, #PostgreSQL adl bir IRC kanal bulunmaktadr. Bunun iin,
irc -c '#PostgreSQL' "$USER" irc.phoenix.net Unix komutunu kullanabilirsiniz.
Baz kullanclarmz da u kitab nermektedirler: "The Practical SQL Handbook, Bowman, Judith S., et
al.,Addison-Wesley". Bazlar ise "The Complete Reference SQL, Groff et al., McGraw-Hill" kitabn nermektedirler.
Ticari destek veren firmalarn listesine,
1.11) PostgreSQL 2000 ylna uyumlu mudur?
http://www.postgresql.org/users-lounge/commercial-support.html
Evet.
1.12) Gelitirme takmna nasl katlabilirim?
adresinden ulasabilirsiniz.
ncelikle, en son kaynak kodunu indirin ve web sitemizdeki ya da datmn iindeki PostgreSQL Developer belgesini
1.7) En son srm nedir?
okuyun. Ardndan, pgsql-hackers ve pgsql-patches listelerine ye olun. nc olarak da, pgsql-pacthes listesine yksek
kalitede yamalar gnderin.
PostgreSQL'in son srm 7.3.3'tr.
PostgreSQL CVS arivine eriim izni olan, 10 kadar gelitirici bulunmaktadr. Hepsi defalarca, dier kiilerin
Her 4 ayda major release karlmas planlanmaktadr.
yaptndan ok daha yksek-kaliteli yamalar gndermilerdir. Ayrca biz de bu gelitiricilerin ekledikleri yamalarn
yksek kalitede olduuna gveniyoruz.
1.8) Hangi belgelere ulasabilirim?
1.13) Bir hata raporunu nasl gnderebilirim?
Datmn icinde, kitapciklar, kitapcik sayfalari ve bazi kk rnekler verilmektedir.
PostgreSQL BugTool sayfasna gidiniz. O sayfada bir bug bildirmek iin neleri yapmanz gerektii anlatlmtr.
/doc dizinine baknz. Ayrica, bu el kitapklarn online olarak
http://www.PostgreSQL.org/docs/ adresinden inceleyebilirsiniz.
Ayrca, ftp://ftp.PostgreSQL.org/pub ftp adresimizde, yeni bir PostgreSQL srm ya da yamas olup olmadni kontrol
ediniz.
http://www.PostgreSQL.org/docs/awbook.html ve http://www.commandprompt.com/ppbook
1.14) PostgreSQL, diger DBMS'lerle nasl karlastrlabilir?
adreslerinde PostgreSQL kitaplar bulunmaktadr. PostgreSQL kitablarnn listesine,
http://www.ca.PostgreSQL.org/books/ adresinden ulaaiblirsiniz. Ayrca, PostgreSQL
Bir yazlmn gcn lmek iin eitli yollar vardr: Yazlmn zellikleri, baarm, gvenilirlii, destei ve
konusundaki teknik makalelere de http://techdocs.PostgreSQL.org/ adresinden
creti.
ulaabilirsiniz.
zellikler:
psql'in, \d ile baslayan veri tipler, operatorler, fonksiyonlar, aggregateler,vb. ile
ilgili gzel komutlar vardr.
PostgreSQL mevcut byk ticari veritabanlarnn, transaction, subselect, trigger, view, foreign key referential
integrity ve sophisticated locking gibi (user-defined types), rules, inheritance ve lock cakmalarn drmek iin
Web sitemiz daha fazla belgeyi iermektedir.
multi-version uyumluluk zellikleri bulunmaktadr.
1.9) Bilinen hatalar ya da eksik zelliklere nereden ulasabilirim?
Performans (Baarm):
PostgreSQL SQL-92 uyumlugugu icindedir, standartlardan fazla da zellikleri
PostgreSQL, dier ticari ve ak kaynak kodlu veritabanlaryla yakn baarm salar. Baz alardan daha hzldr,
bulunmaktadr. Bilinen hatalar, eksik zellikler ve gelecek ile ilgili planlar iin
dier alardan da yavatr. MySQL ya da daha zayf veritabanlar ile karlatrldnda, INSERT/UPDATE ilemlerinde,
TODO listesine baknz.
transaction bazl alstmz iin daha yavaz. MySQL, yukardaki "zellikler" ksmnda belirtilenlerden hi birine
sahip deildir. Biz, baarmmz her srmde arttrsak da, esneklik ve gelimi zellikler iin yaplanm durumdayz.
1.10) Nasl SQL grenebilirim?
PostgreSQL'i MySQL ile karlatran u web sitesine bakabilirsiniz: http://openacs.org/why-not-mysql.html
http:/www.PostgreSQL.org/docs/awbook.html adresindeki kitap SQL gretecektir.
Gvenilirlik:
http://www.commandprompt.com/ppbook adresinde de bir baska PostgreSQL kitab bulunmaktadr.
DBMS'lerin gvenilir olmas gerketii, yoksa deerleri olmayacan dnyoruz. ok iyi test edilmi, dengeli alsan
http://www.intermedia.net/support/sql/sqltut.shtm,
minimum sayda hata ieren kod sunmaya alyoruz. Her bir srm en az 1 aylk beta testlerinden geirilmektedir.
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
Srm gemiine bakarsanz, retime hazr, dengeli ve kararl kodlar sunduumuzu grebilirsiniz. Bu alanda, dier
http://sqlcourse.com ve http://sqlcourse2.com adreslerinde de gzel belgeler bulunmaktadr.
veritaban yazlmlarna stnlmz olduuna inanmaktayz.
Bir bakas da, http://members.tripod.com/er4ebus/sql/index.htm adresinde bulunan
Destek:
"Teach Yourself SQL in 21 Days, Second Edition" kitabdr.
E-posta listemiz, oluan herhangi bir sorunu zebilecek byk sayda kullanc ve gelitirici grubunu ierir.
Baz kullanclarmz da u kitab nermektedirler:
Sorununuz iin, en az bir ticari veritaban kadar rahat zm bulabilirsiniz. Gelistiricilere, kullanc grubuna,
The Practical SQL Handbook, Bowman, Judith S., et al.,Addison-Wesley. Others
belgelere ve kaynak koda direk olarak eriebilme, PostgreSQL desteini, dier DBMS'lere gre daha nemli klar.
like The Complete Reference SQL, Groff et al., McGraw-Hill.
Gereksinimi olanlara, ticari destek verilebilir. (Destek iin 1.6 blmne baknz.)
1.11) PostgreSQL 2000 ylna uyumlu mudur?
Fiyat:
Evet.
Ticari ve ticari olmayan tm kullanmlarnz iin PostgreSQL cretsizdir. Kodumuzu, yukarda belirtilen BSD-stili
lisanstaki snrlamalar hari, rnnzn iine ekleyebilirsiniz.
1.12) Gelistirme takmna nasl katlabilirim?
1.15) PostgreSQL'e maddi adan nasl destek olabilirim?
ncelikle, en son kaynak kodunu indirin ve web sitemizdeki ya da dagtmn iindeki
PostgreSQL, 1996 ylndan beri 1. snf altyapya sahiptir. Bunun iin, yllar boyu alp bu altyapy oluturup
PostgreSQL Developer belgesini okuyun. Ardindan, pgsql-hackers ve pgsql-patches
yneten Marc Fournier'e teekkrler.
listelerine ye olun. nc olarak da, pgsql-pacthes listesine yksek kalitede
yamalar gnderin.
Bir ak kaynak kodlu proje iin, kaliteli altyap ok nemlidir. Bu altyap, projenin kesilmesini nler ve projenin
ilerlemesini hzlandrr.
PostgreSQL CVS arsivine erisim izni olan, 10 kadar gelistirici bulunmaktadir.
Hepsi defalarca, diger kisilerin yaptigindan cok daha yksek-kaliteli patchler
Tabii ki bu altyap ucuz deildir. lerin yrmesi iin eitli ylk ve anlk harcamalarmz olmaktadr. Eer siz ya
gondermislerdir. Ayrica biz de bu gelistiricilerin ekledikleri yamalarin yksek
da irketinizin bu abamza bata bulunabilecek paras varsa, ltfen http://www.pgsql.com/pg_goodies adresine gidiniz
kalitede olduguna gveniyoruz.
ve bata, hibede bulununuz.
1.13) Bir hata raporunu nasl gnderebilirim?
Web sayfasnn 'PostgreSQL Inc.' den bahsetmesine ramen, "katkda bulunanlar" (contributors) maddesi sadece PostgreSQL
projesini desteklemek iindir ve belirli bir irketin para kayna deildir. isterseniz, balant adresine bir ek
PostgreSQL BugTool sayfasina gidiniz. O sayfada bir bug bildirmek icin neleri
gnderebilirsiniz.
yapmanz gerektigi anlatilmistir.
Kullanc/stemci Sorular
2.1) PostgreSQL icin ODBC srcleri var m?
Ayrca, ftp://ftp.PostgreSQL.org/pub ftp adresimizde, yeni bir PostgreSQL srm
ya da yamasi olup olmadigini kontrol ediniz.
iki tane ODBC srcs bulunmaktadr: PsqlODBC ve OpenLink ODBC.
1.14) PostgreSQL, diger DBMS'lerle nasl karsilastrlabilir?
PsqlODBC'i http://gborg.postgresql.org/project/psqlodbc/projdisplay.php adresinden indirebilirsiniz.
Bir yazilimin gcn lmek iin esitli yollar vardir: Yazilimin zellikleri,
OpenLink ODBC http://www.openlinksw.com adresinden alnabilir.Bu src, kendi standart ODBC istemci yazlm ile
basarm, gvenilirligi, destegi ve creti.
alstndan, destekledikleri her platformda (Win, Mac, Unix, VMS) PostgreSQL ODBC bulunmalidir.
zellikler
cretsiz srm olmakla beraber, ticari kalitede destek almak isteyenlere satmak isteyeceklerdir. Sorularnz ltfen
postgres95@openlink.co.uk adresine gnderiniz.
PostgreSQL mevcut byk ticari veritabanlarinin, transaction, subselect,
2.2) PostgreSQL'i web sayfalarnda kullanabilmek iin hangi aralar bulunmaktadr?
trigger, view, foreign key referential integrity ve sophisticated locking gibi
tm zelliklerine sahiptir. Onlarin sahip olmadiklari, kullanici-tanimli tipler
http://www.webreview.com/ adresinde, arka planda veritaban alstran Web sayfalar iin giri seviyesinde bilgi
(user-defined types), rules, inheritance ve lock cakmalarn drmek iin
bulunmaktadr.
multi-version uyumluluk zellikleri bulunmaktadir.
Web ile btnleme iin, PHP () mkemmel bir arabirim sunar.
Performans (Baarm)
Karmak sorunlar iin, ou kisi Perl arabirimini ve CGI.pm ya da mod_perl kullanr.
PostgreSQL, dier ticari ve ak kaynak kodlu veritabanlaryla yakn baarm salar.
2.3) PostgreSQL'in grafik kullanc arabirimi var mdr?
Baz alardan daha hzldr, dier alardan da yavatr. MySQL ya da daha zayf
veritabanlar ile karlatrldnda,insert/update islemlerinde, transaction bazl
eitli grafik arabirimlerimiz bulunmaktadr. Bunlarn arasnda, PgAccess (http://www.pgaccess.org/), PgAdmin II
alstmz iin daha yavaz. MySQL, yukardaki "zellikler" ksmnda belirtilenlerden
(http://www.pgadmin.org/, sadece Win32 iin), RHDB Admin (http://sources.redhat.com/rhdb/) ve Rekall
hi birine sahip deildir. Biz, baarmmz her srmde arttrsak da, esneklik ve
(http://www.thekompany.com/products/rekall/) bulunmaktadr. Ayrca, PostgreSQL iin web tabanl bir arabirim olan
gelimi zellikler iin yaplanms durumdayz . PostgreSQL'i MySQL ile karlatran
PHPPgAdmin (http://phppgadmin.sourceforge.net/) bulunmaktadr.
u web sitesine bakabilirsiniz: http://openacs.org/why-not-mysql.html
Daha ayrntl liste iin http://techdocs.postgresql.org/guides/GUITools adresine bakabilirsiniz.
Gvenilirlik
2.4) PostgreSQL ile iletiimi kurabilmek iin hangi dilleri kullanabilirim?
DBMSlerin gvenilir olmas gerketigi, yoksa degerleri olmayacagini dsnyoruz
ok iyi test edilmis, dengeli alsan minimum sayda hata ieren kod sunmaya alsyoruz.
* C (libpq)
Her bir srm en az 1 aylk beta testlerinden geirilmektedir. Srm gemiine bakarsanz,
* Embedded C (ecpg)
retime hazr, dengeli ve kararl kodlar sundugumuzu grebilirsiniz. Bu alanda, diger
* Java (jdbc)
veritaban yaZlmlarna stnlgmz olduguna inanmaktayz
* Python (PyGreSQL)
* TCL (libpgtcl)
Destek
E-posta listemiz, olusan herhangi bir sorunu zebilecek byk sayda kullanc
Dierleri iin, http://gborg.postgresql.org adresindeki Drivers/Interfaces blmne bakabilirsiniz.
ve gelistirici grubunu ierir. Sorununuz iin, en az bir ticari veritaban kadar
Ynetimsel Sorular
rahat zm bulabilirsiniz. Gelistiricilere, kullanc grubuna, belgelere ve
3.1) PostgreSQL'i, /usr/local/pgsql dizininden baka dizinlere nasl kurabilirim?
kaynak koda direk olarak erisebilme, PostgreSQL destegini, diger DBMSlere gre daha
nemli klar. Gereksinimi olanlara, ticari destek verilebilir. (Destek iin 1.6 blmne baknz.)
configure betiini alstrrken, --prefix seeneini veriniz.
3.2) postmaster'i baslattgmda, a Bad System Call ya da core dumped mesaj alyorum. Neden?
Fiyat
Ticari ve ticari olmayan tm kullanmlarnz iin PostgreSQL cretsizdir. Kodumuzu, yukarda belirtilen
Bunun birok nedeni olabilir. Ancak ilk kontrol edilmesi gereken sey, ekirdeginize System V uzantlarnn kurulu olup
BSD-stili lisanstaki snrlamalar hari, rnnzn iine ekleyebilirsiniz.
olmadgn kontrol etmek olabilir. PostgreSQL shared memory ve semaphores iin ekirdek destegine gereksinim duyar.
3.3) postmaster'i balattmda, pcMemoryCreate hatas alyorum. Neden?
1.15) PostgreSQL'e maddi adan nasl destek olabilirim?
Ya ekirdeinizde shared memory desteiniz dzgnce yaplandrlmamtr, ya da ekirdeinizdeki mevcut shared memory
PostgreSQL, 1996 ylndan beri 1.snf altyapya ashiptir. Bunun iin, yllar boyu alsp bu altyapy
miktarn bytmeniz gerekecektir. Gereksinim duyacanz miktar, mimarinize ve postmaster iin ayarladgnz tampon
olusturup yneten Marc Fournier'e tesekkrler.
ile backend ilemi saysna baldr. Tm sistemler iin, tamponlar ve ilemlerde ntanml saylarla, ~ 1MB kadar yere
gereksinmeniz olacaktr. PostgreSQL 7.3.2 Sistem Yneticileri Rehberi'ne, shared memory ve semaphorelar hakkndaki
Bir ak kaynak kodlu proje iin, kaliteli altyap ok nemlidir. Bu altyap, projenin
ayrntl bilgi iin bakabilirsiniz.
kesilmesini nler ve projenin ilerlemesini hzlandrr.
3.4) postmaster' balattmda, pcSemaphoreCreate hatas alyorum. Neden?
Tabii ki bu altyap ucuz degildir. slerin yrmesi iin eitli ylk ve anlk
Eer hata, "pcSemaphoreCreate: semget failed (No space left on device)" ise, ekirdeiniz yeterli semaphore ile
harcamalarmz olmaktadr. Eger siz ya da sirketinizin bu abamza bagsta
yaplandrlmam demektir. Postgres, her bir potansiyel backend iin bir semaphore gereksinimi duyar. Geici bir
bulunabilecek paras varsa, ltfen http://www.pgsql.com/pg_goodies adresine
zm, postmaster backend ilemleri iin daha az miktarda snrla balatmak olabilir. -N'i varsaylan deer olan
gidiniz ve bagsta, hibede bulununuz.
32'den kk bir deerle balatnz. Daha kalc bir zm, ekirdeinizin SEMMNS ve SEMMNI parametrelerini ykseltmek
olacaktr.
Web sayfasnn PostgreSQL, nc.' den bahsetmesine ragmen, "katkda bulunanlar"
(contributors) maddesi sadece PostgreSQL projesini desteklemek iindir ve belirli bir
almayan semaphore'lar ar veritaban ilemlerinde kme yaratabilirler.
sirketin para kaynag degildir. isterseniz, baglant adresine bir ek gnderebilirsiniz.
Eer hata mesajnz baka bir ey ise, ekirdeinizde semaphore desteini yaplandrmam olabilirsiniz. Shared memory
____________________________________________________________________________
ve semaphore'lar hakkndaki daha ayrntl bilgi iin PostgreSQL 7.3.2 Sistem Yneticileri Rehberi'ne bakabilirsiniz.
3.5) Diger bilgisayarlarn benim PostgreSQL veritaban sunucuma balantlarn nasl kontrol edebilirim?
Kullanc/istemci Sorular
n tanml olarak, PostgreSQL sadece yerel makineden Unix domain sockets kullanarak balanlmasna izin verir. Diger
2.1) PostgreSQL icin ODBC srcleri var m?
makineler, postmaster'a -i etiketini geirmezseniz ve $PGDATA/pg_hba.conf dosyasn dzenleyerek host-based
authentication'a olanak vermezseniz, balant yapamayacaklardr.
iki tane ODBC srcs bulunmaktadr: PsqlODBC ve OpenLink ODBC.
3.6) Veritabani motorunu daha iyi baarm iin nasl ayarlayabilirim?
PsqlODBC'i http://gborg.postgresql.org/project/psqlodbc/projdisplay.php adresinden
Index'ler sorgular hzlandrabilir. EXPLAIN komutu, PostgreSQL'in sorgunuzu nasl yorumladn ve hangi index'leri
indirebilirsiniz.
kullandn grmenize izin verir.
OpenLink ODBC http://www.openlinksw.com adresinden alnabilir.Bu src,
Eer cok fazla INSERT ilemi yapyorsanz, bunlar byk bir toplu ilem dosyaskullanp COPY komutu ile veritabanna
kendi standart ODBC istemci yazlm ile alstndan, destekledikleri
girmeyi deneyiniz. Bu, tekil INSERT'lerden daha hzldr. kinci olarak, BEGIN WORK/COMMIT transaction blou iinde
her platformda (Win, Mac, Unix, VMS) PostgreSQL ODBC bulunmalidir.
olmayan ifadeler kendi transaction'larndaym gibi dnlr. oklu ifadeleri tek bir transaction blou iinde
yapabilirsiniz. Bu, transaction overhead'ini drecektir. Tek bir transaction blou iinde birden ok ifadeyi
cretsiz srm olmakla beraber, ticari kalitede destek almak isteyenlere satmak isteyeceklerdir.
altrmay deneyebilirsiniz. Bu da ayn ekilde, transaction overhead'ini drr.
Sorularnz ltfen postgres95@openlink.co.uk adresine gnderiniz.
eitli ayarlama seenekleri mevcuttur. fsync() ilemini, postmaster' -o -F seenei ile balatarak devre d
2.2) PostgreSQL'i web sayfalarnda kullanabilmek iin hangi aralar bulunmaktadr?
brakabilirsiniz. Bu ilem, fsync()'lerin her transactiondan sonra diski flush etmesini engelleyecektir.
http://www.webreview.com adresinde, arka planda veritaban alstran Web sayfalar
Ayn zamanda, postmaster'i -B seenei ile balatp, backend ilemleri tarafndan kullanlan shared memory buffers
iin giris seviyesinde bilgi bulunmaktadr.
saylarn arttrabilirsiniz. Eer bu parametreyi ok yksek tutarsanz, ekirdeinizin shared memory blgesindeki
limiti ama olaslnz yznden postmaster balayamayabilir. Her bir tampon (buffer) 8K'dr. ntanml say ise 64
Web ile btnlesme iin, PHP mkemmel bir arabirim sunar. http://www.php.net .
tampondur.
Karmak sorunlar iin, ou kisi Perl arabirimini ve CGI.pm ya da mod_perl kullanr.
Ayn ekilde, backend'in -S seeneini geici sralamalar iin backend sreleri tarafndan kullanlacak hafzay
arttrmak amacyla kullanabilirsiniz. -S seenei kilobayt cinsinden deer alr ve n tanml deeri 512'dir (512 K)
2.3) PostgreSQL'in grafik kullanc arabirimi var mdr?
Tablolardaki veriyi bir index'e elemek amacyla gruplama iin CLUSTER komutunu kullanabilirsiniz. Ayrntl bilgi iin
CLUSTER komutunun yardm sayfasna bakabilirsiniz.
eitli grafik arabirimlerimiz bulunmaktadr. Bunlarn arasnda, PgAccess (http://www.pgaccess.org),
3.7) Hangi hata ayklama zellikleri bulunmaktadr?
PgAdmin II (http://www.pgadmin.org, sadece Win32 iin), RHDB Admin (http://sources.redhat.com/rhdb/ )
ve Rekall (http://www.thekompany.com/products/rekall/) bulunmaktadr. Ayrca, PostgreSQL iin web
PostgreSQL, hata ayklama amacyla kullanlabilecek durum bilgisi rapor eden eitli zeliklere sahiptir.
tabanl bir arabirim olan PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ) bulunmaktadr.
ncelikle, configure betiini --enable-cassert seeneiyle altrrsanz, bir ok assert() backend calmasn
Daha ayrntl liste iin http://techdocs.postgresql.org/guides/GUITools adresine bakabilirsiniz.
gzlemler ve beklenmeyen bir durumda program durdurur.
2.4) PostgreSQL ile iletiimi kurabilmek iin hangi dilleri kullanabilirim?
Postmaster ve postgres eitli hata ayklama seeneklerine sahiptir. ncelikle, postmaster' balattnzda, standart
kty ve hatalar bir log dosyasna ynlendirdiinize emin olun:
* C (libpq)
* Embedded C (ecpg)
cd /usr/local/pgsql
* Java (jdbc)
./bin/postmaster >server.log 2>&1 &
* Python (PyGreSQL)
* TCL (libpgtcl)
Bu ilem PostgreSQL ana dizinine server.log dosyas yerletirecektir. Bu dosya sunucunun yaad sorunlar ya da
hatalar hakknda yararl bilgiler ierir. -d seenei, hata ayklama seviyesini belirten bir rakam ile kullanlr.
Dierleri iin, http://gborg.postgresql.org adresindeki Drivers/Interfaces blmne
Yksek hata ayklama seviyelerinin byk log dosyalar oluturacan unutmaynz.
bakabilirsiniz.
_________________________________________________________________
Eer postmaster almyorsa, postgres backend'ini komut satrndan altrabilir ve SQL ifadenizi direk olarak
yazabilirsiniz. Bu sadece hata ayklama amacyla nerilir. Burada, noktal virgln deil de yeni bir satrn sorguyu
Ynetimsel Sorular
sonlandrdn unutmaynz. Eer hata ayklama sembolleri ile derlediyseniz, ne olduunu grmek iin bir hata
ayklayc kullanabilirsiniz. backend postmaster'dan balatlmadndan, edeer bir ortamda almamaktadr ve
3.1) PostgreSQL'i, /usr/local/pgsql dizininden baska dizinlere nasl kurabilirim?
locking/backend etkileim sorunlar artabilir.
configure betigini alstrrken, --prefix seenegini veriniz.
Eer postmaster alyorsa, bir pencerede psql'i altrn ve psql tarafndan kullanlan postgres srecinin sre
numarasn (PID) bulun. Postgres sreci ile ilikilendirmek iin bir hata ayklarc kullann. Sorgular psql aracl
3.2) postmaster'i baslattgmda, a Bad System Call ya da core dumped mesaj
ile altrabilirsiniz. Eer postgres balangcnda hata ayklamak istiyorsanz, PGOPTIONS="-W n" seeneini
alyorum. Neden?
ayarlayabilir ve psql'i balatabilirsiniz. Bu ilem, balangcn n saniye kadar gecikmesini salayacaktr; bylece hata
ayklaycy srece ilikilendirdikten sonra balang srecinin devam etmesini salayabilirsiniz.
Bunun birok nedeni olabilir. Ancak ilk kontrol edilmesi gereken sey, ekirdeginize
System V uzantlarnn kurulu olup olmadgn kontrol etmek olabilir. PostgreSQL
postgres program hata ayklama ve baarm lmleri iin -s, -A ve -t seeneklerine sahiptir.
shared memory ve semaphores iin ekirdek destegine gereksinim duyar.
3.8) Balanmaya alrken, neden "Sorry, too many clients" hatasn alyorum?
3.3) postmaster'i baslattgmda, a pcMemoryCreate hatas alyorum. Neden?
Postmaster'n ezamanl olarak balatabilecei backend sreleri snrlarn arttrmanz gerekmektedir.
Ya ekirdeginizde shared memory desteginiz dzgnce yaplandrlmamstr, ya da
n tanml deer 32 sretir. Bunu, postmaster' uygun -N deeri ile ya da postgresql.conf dosyasn dzenleyerek
ekirdeginizdeki mevcut shared memory miktarn bytmeniz gerekecektir. Gereksinim
yeniden balatmakla arttrabilirsiniz.
duyacagnz miktar, mimarinize ve postmaster iin ayarladgnz tampon ile backend
islemi saysna bagldr. Tm sistemler iin, tamponlar ve islemlerde ntanml saylarla,
Eer -N deerini 32'den byk yapacaksanz, ayn zamanda -B deerini de deitirmeniz gerektiini unutmayn. -B, -N'nin
~ 1MB kadar yere gereksinmeniz olacaktir.PostgreSQL Administrator's Guide' a, shared memory
en az 2 kat kadar olmaldr; daha iyi baarm iin bu sayy daha da arttrmalsnz. Yksek saydaki backend
ve semaphorelar hakkndaki ayrntl bilgi iin bakabilirsiniz.
sreleri iin, eitli ekirdek yaplandrma parametrelerini arttrmanz gerekecektir. Yaplmas gerekenler, SHMMAX,
SEMMNS, SEMMNI, NPROC, MAXUPRC ve alabilecek dosyalarn maksimum says olan NFILE ve NINODE deerlerini
3.4) postmaster'i baslattgmda, a pcSemaphoreCreate hatas alyorum. Neden?
kartrmaktr. Bunun nedeni, PostgreSQL'in izin verilen backend srelerinin says zerinde bir snr olmasdr.
Bylelikle sistem kaynaklarnn dna klmayacaktr.
Eger hata, "pcSemaphoreCreate: semget failed (No space left on device)" ise,
ekirdeginiz yeterli semaphore ile yaplandrlmams demektir. Postgres, her
PostgreSQL'in 6.5 srmne kadar, en fazla backend says 64 idi ve bunu deitirmek iin include/storage/sinvaladt.h
bir potansiyel backend iin bir semaphore gereksinmesi duyar. Geici bir zm,
dosyas iindeki MaxBAckendid sabitini deitirdek sonra yazlm yeniden derlemek gerekiyordu.
postmaster backend islemleri iin daha az miktarda snrla baslatmak olabilir.
3.9) pgsql_tmp dizinin iindeki dosyalar nelerdir?
-N i varsalan deger olan 32'den kk bir degerle baslatnz. Daha kalc bir
zm, ekirdeinizin SEMMNS ve SEMMNI parametrelerini ykseltmek olacaktr.
Sorgu alstrc (query executer) tarafndan yaratlan geici dosyalardr. rnegin, bir sralama ORDER BY ile
yaplacaksa ve sralama backend'in -s parametresinin izin verdiinden daha fazla alana gereksinim duyuyorsa, ekstra
almayan semaphorelar ar veritaban islemlerinde kme yaratabilirler.
veriyi tutmak iin geici dosyalar yaratlr.
Eger hata mesajnz baska birsey ise, ekirdeginizde semaphore destegini
Geici dosyalar, eer sralama srasnda backend gmezse otomatik olarak silinecektir. Eer alan durumda bir
yaplandrmams olabilirsiniz. Shared memory ve semaphorelar hakkndaki daha
backend'iniz yoksa, pg_tempNNN.NN dosyalarn silmeniz gvenlidir.
ayrntl bilgi iin PostgreSQL Administrator's Guide'a bakabilirsiniz.
3.10) PostgreSQL srmlerini ykseltmek iin neden bir dump/reload ilemi gerekletirmek zorundaym?
3.5) Diger bilgisayarlarn benim PostgreSQL veritaban sunucuma baglantlarn
PostgreSQL takm ara srmlerde sadece kk deiiklikler yapmaktadr; bu yzden 7.2 srmnden 7.2.1'e ykseltmek
nasl kontrol edebilirim?
dump/restore ilemi gerekmemektedir. Ancak, esas srmlerde (rnek: 7.2'den 7.3'e) ounlukla sistem tablolarnn ve
veri dosyalarnn i yaps deitirilir. Bu deiiklikler ounlukla karmaktr; dolaysyla veri dosyalarnn geriye
n tanml olarak, PostgreSQL sadece yerel makineden Unix domain sockets kullanarak
dnk uyumluluu ilemlerini yapmyoruz. Dump ilemi, veriyi genel biimde alacandan yeniden ykleme esnasnda veri,
baglanlmasna izin verir. Diger makineler, postmaster'a -i etiketini geirmezseniz
yeni i biime uygun ekilde yerletirilecektir.
ve $PGDATA_pg_hba.conf dosyasn dzenleyerek host-based authentication'a
olanak vermezseniz, baglant yapamayacaklardr.
Disk biiminin deimedii srmlerde, pg_upgrade betii gncellemenin bir dump/restore gerektirmeden yaplmasn
salayacaktr. pg_upgrade betiinin o srm iin bulunup bulunmadn srm notlar iinde bulabilirsiniz.
3.6) Veritabani motorunu daha iyi basarim icin nasl ayarlayabilirim?
3.11) Nasl bir donanm kullanmalym?
Indexler sorgular hzlandrabilir. EXPLAIN komutu, PostgreSQL'in sorgunuzu nasl
PC donanm tamamen uyumlu olduu iin, insanlar tm PC donanmlarnn ayn kalitede olduunu dnrler. Oysa byle
yorumladn ve hangi indexleri kullandigini grmenize izin verir.
deildir. ECC RAM, SCSI ve kaliteli anakartlar daha ucuz donanmlara gre daha ok gvenilirlerdir ve baarmlar daha
yksektir. PostgreSQL hemen hemen tm donanmda alabilmektedir, ancak gvenilirlik ve baarm nemli ise donanm
Eer cok fazla INSERT islemi yapiyorsaniz, bunlar byk bir toplu islem dosyasi kullanp
seeneklerini ok iyi aratrmak gereklidir. E-posta listelerimi donanmlarla ilgili sorular ve de ticaret iin
COPY komutu ile veritabanina girmeyi deneyiniz. Bu, tekil NSERTlerden daha hzldr.
kullanlabilir.
ikinci olarak, BEGN WORK/COMMT transaction blogu iinde olmayan ifadeler kendi
letimsel Sorular
transactionlarindaymis gibi dsnlr. oklu ifadeleri tek bir transaction blou iinde
4.1) Binary cursor ve normal cursor arasndaki fark nedir?
yapabilirsiniz. Bu, transaction overheadini drecektir. Tek bir
transaction blou iinde birden ok ifadeyi altrmay
DECLARE yardm sayfasna baknz.
deneyebilirsiniz. Bu, transaction overhead ini drr.
4.2) Sorgunun sadece ilk birka satrn nasl SELECT edebilirim?
eitli ayarlama seenekleri mevcuttur. fsync() ilemini, postmaster' -o -F seenei ile
FETCH yardm sayfasna baknz, ya da SELECT ... LIMIT ... kullannz.
balatarak devre d brakabilirsiniz. Bu ilem, fsync()'lerin her transactiondan sonra
diske flush etmesini engelleyecektir.
lk birka satr almak isteseniz bile, tm sorgu deerlendirilmek durumunda kalnabilir. ORDER BY ieren bir sorgu
dnn. Eer ORDER BY ie eleen bir index varsa, PostgreSQL istenen ilk birka satr ileyebilir, ya da tm sorgu
Ayn zamanda, postmaster'i -B seenei ile balatp, backend ilemleri tarafndan kullanlan
istenen satrlar retilene kadar ilenebilir.
shared memorf buffers saylarn arttrabilirsiniz. Eger bu parametreyi ok yksek tutarsanz,
4.3) psql'in iinde grdgm tablolarn ya da dier eylerin listesini nasl alabilirim?
ekirdeinizin shared memory blgesindeki limiti ama olaslnz yznden postmaster
balayamayabilir. Her bir tampon (buffer) 8K'dr. ntanml say ise 64 tampondur.
pgsql/src/bin/psql/describe.c iindeki psql kaynak kodunu okuyabilirsiniz. Bu kod, psql'in \ ile balayan komutlarnn
ktsn olusturan SQL komutlarn ierir. Ayn zamanda, psql'i -E seenei ile balatp, verdiiniz komutlar
Ayn ekilde, backend'in -S seeneini geici sralamalar iin backend sreleri tarafndan
altrmak iin yapt sorgularn ktlarn grebilirsiniz.
kullanlacak hafzay arttrmak amacyla kullanabilirsiniz. -S seenei kilobayt cinsinden deer alr
4.4) Bir tablodan bir kolonu nasl kaldrabilirim?
ve n tanml deeri 512'dir (512 K)
Bu zellik (ALTER TABLE DROP COLUMN) 7.3 srm ile gelmitir. Eski srmlerde aadakileri uygulamalsnz:
Tablolardaki veriyi bir indekse elemek amacyla gruplama iin CLUSTER komutunu kullanabilirsiniz.
Ayrntl bilgi iin CLUSTER komutunun yardm sayfasna bakabilirsiniz.
BEGIN;
LOCK TABLE old_table;
3.7) Hangi hata ayklama zellikleri bulunmaktadr?
SELECT ... -- select all columns but the one you want to remove
INTO TABLE new_table
PostgreSQL, hata ayklama amacyla kullanlabilecek durum bilgisi rapor eden eitli
FROM old_table;
zeliklere sahiptir.
DROP TABLE old_table;
ALTER TABLE new_table RENAME TO old_table;
ncelikle, configure betiini --enable-cassert seeneiyle altrrsanz, bir ok assert() backend calmasn
COMMIT;
gzlemler ve beklenmeyen bir durumda program durdurur.
Postmaster ve postgres eitli hata ayklama seeneklerine sahiptir. ncelikle,
4.5) Bir satr, tablo ve veritaban iin en fazla byklk nedir?
postmaster'i balattnzda, standart kty ve hatalar bir log dosyasna
ynlendirdiinize emin olun:
Snrlar:
cd /usr/local/pgsql
Veritaban iin en fazla byklk nedir?
./bin/postmaster >server.log 2>&1 &
Snrsz (32 TB'lk veritaban bulunmaktadr)
Bu ilem PostgreSQL ana dizinine server.log dosyas yerletirecektir. Bu dosya sunucunun
Bir tablo iin en fazla byklk nedir?
yaad sorunlar ya da hatalar hakknda yararl bilgiler ierir. -d seenei, hata
32 TB
ayklama seviyesini belirten bir rakam ile kullanlr. Yksek hata ayklama
seviyelerinin byk log dosyalar oluturacan unutmaynz.
Bir satr iin en fazla byklk nedir?
1.6 TB
Eer postmaster almyorsa, postgres backend'ini komut satrndan altrabilir ve SQL ifadenizi
direk olarak yazabilirsiniz. Bu sadece hata ayklama amacyla nerilir. Burada, noktal virgln deil de
Bir alan iin en fazla byklk nedir?
yeni bir satrn sorguyu sonlandrdn unutmaynz. Eer hata ayklama sembolleri ile derlediyseniz,
1 GB
ne olduunu grmek iin bir hata ayklayc kullanabilirsiniz. backend postmasterdan balatlmadndan,
edeer bir ortamda almamaktadr ve locking/backend etkileim sorunlar artabilir.
Tabloda en fazla satr says katr?
Snrsz
Eer postmaster alyorsa, bir pencerede psql'i altrn ve psql tarafndan kullanlan postgres srecinin sre
numarasn (PID) bulun. Postgres sreci ile ilikilendirmek iin bir hata ayklarc kullann. Sorgular psql
Bir tabloda olabilecek en fazla kolon says katr?
aracl ile altrabilirsiniz. Eer postgres balangcnda hata ayklamak istiyorsanz, PGOPTIONS="-W n"
Kolon tiplerine bal olarak 250-1600
seeneini ayarlayabilir ve psql'i balatabilirsiniz. Bu ilem, balangcn n saniye kadar gecikmesini
salayacaktr; bylece hata ayklaycy srece ilikilendirdikten sonra balang srecinin devam etmesini
Bir tabloda olabilecek en fazla index says katr?
salayabilirsiniz.
Snrsz
postgres program hata ayklama ve baarm lmleri iin -s, -A ve -t seeneklerine sahiptir.
Tabii ki bunlar aslnda snrsz degildir. Burada belirtilen snrlar, fiziksel snrlarn haricindeki snrlardr. Bo
disk alan, hafza/takas alan na bal snrlamalar vardr. Baarm, snr deerlere yaklatka, ya da deerler ok
3.8) Baglanmaya alsken, neden "Sorry, too many clients" hatasn alyorum?
byk olduunda debilir.
Postmaster'in ezamanl olarak balatabilecei backend sreleri snrlarn
Bir tablo iin byklk snr olan 32 TB, iletim sisteminin byk dosya destei olup olmamasndan bamszdr. Byk
arttrmanz gerekmektedir.
tablolar, 1 GB'lik dosyalarda sakland iin, dosya sistemi snrlarnin bir nemi yoktur.
n tanml deer 32 sretir. Bunu, postmaster'i uygun -N deeri ile ya da
Tablo ve kolon says byklkleri, n tanml blok bykl 32k ya karlarak arttrlabilir.
postgresql.conf dosyasn dzenleyerek yeniden balatmakla arttrabilirsiniz.
4.6) Tipik bir metin dosyasndaki veriyi saklamak iin ne kadar disk alan gereklidir?
Eer -N deerini 32'den byk yapacaksanz, ayn zamanda -B deerini de deitirmeniz
Bir PostgreSQL veritaban, veriyi "flat" metin dosyasnda saklamak iin gereken alann 5 kat fazla disk alanna
gerektiini unutmayn. -B -N'nin en az 2 kat kadar olmaldr; daha iyi baarm iin
gereksinim duyabilir.
bu sayy daha da arttrmalsnz. Yksek saydaki backend sreleri iin, eitli ekirdek yaplandrma
parametrelerini arttrmanz gerekecektir. Yaplmas gerekenler, SHMMAX, SEMMNS, SEMMNI, NPROC, MAXUPRC ve
Her satrnda bir tamsay ve metin (text) ieren, 100.000 satrlk bir dosya dnn. Her satrn ortalama 20 byte
alabilecek dosyalarn maksimum says olan NFILE ve NINODE deerlerini kartrmaktr. Bunun nedeni, PostgreSQL'in
olduunu farzedelim. Metin dosyas 2.8 MB olacaktr. Bu veriyi tutan PostgreSQL veritaban yaklak 6.4 MB yer
izin verilen backend srelerinin says zerinde bir snr olmasdr. Bylelikle sistem kaynaklarnn dna
kaplayacaktr.
klmayacaktr.
36 byte: Her bir satr bal (yaklak)
PostgreSQL'in 6.5 srmne kadar, en fazla backend says 64 idi ve bunu deitirmek iin
+ 24 byte: Bir tamsay (int) alan ve bir metin (text) alan
include/storage/sinvaladt.h dosyas iindeki MaxBAckendid sabitini deitirdek sonra
+ 4 byte: Sayfada tuple a pointer
yazlm yeniden derlemek gerekiyordu.
----------------------------------------
64 byte -> kayt bana
3.9) pgsql_tmp dizinin iindeki dosyalar nelerdir?
PostgreSQL'de veri sayfas (data page) bykl 8192 byte (8k)dr, dolaysyla:
Sorgu alstrc (query executer) tarafndan yaratlan geici dosyalardr. rnegin,
bir sralama ORDER BY ile yapilacaksa ve sralama backend'in -s parametresinin izin
8192 byte -> page bana
verdiginden daha fazla alana gereksinim duyuyorsa, ekstra veriyi tutmak iin geici
------------------------- = Her bir veritaban page' bana 128 satr (yaklak)
dosyalar yaratlr.
Satr bana 64 byte
Geici dosyalar, eger sralama srasnda backend gmezse otomatik olarak silinecektir.
Eger alsan durumda bir backendiniz yoksa, pg_tempNNN.NN dosyalarn silmeniz gvenlidir..
3.10) PostgreSQL srmlerini ykselmek iin neden bir dump/reload ilemi gerekletirmek zorundaym?
PostgreSQL takm ara srmlerde sadece kk deiiklikler yapmaktadr; bu yzden 7.2
srmnden 7.2.1'e ykseltmek dump/restore ilemi gerekmemektedir. Ancak, esas srmlerde
(rnek: 7.2'den 7.3'e) ounlukla sistem tablolarnn ve veri dosyalarnn i yaps
deitirilir. Bu deiiklikler ounlukla karmaktr; dolaysyla veri dosyalarnn
geriye dnk uyumluluu ilemlerini yapmyoruz. Dump ilemi, veriyi genel biimde
alacandan yeniden ykleme esnasnda veri, yeni i biime uygun ekilde
yerletirilecektir.
Disk biiminin deimedii srmlerde, pg_upgrade betii gncellemenin bir dump/restore
gerektirmeden yaplmasn salayacaktr. pg_upgrade betiinin o srm iin bulunup
bulunmadn srm notlar iinde bulabilirsiniz.
_________________________________________________________________
letimsel Sorular
4.1) Binary cursor ve normal cursor arasindaki fark nedir?
DECLARE yardm sayfasina bakiniz.
4.2) Sorgunun sadece ilk birka satrn nasl SELECT edebilirim?
FETCH yardm sayfasina bakiniz, aya da SELECT ... LIMIT.... kullannz.
lk birka satr almak isteseniz bile, tm sorgu deerlendirilmek durumunda kalnabilir. ORDER BY ieren bir
sorgu dnn. Eer ORDER BY ie eleen bir index varsa, PostgreSQL istenen ilk birka satr ileyebilir, ya da
tm sorgu istenen satrlar retilene kadar ilenebilir.
4.3) psql'in iinde grdgm tablolarin ya da diger seylerin listesini nasl alabilirim?
pgsql/src/bin/psql/describe.c iindeki psql kaynak kodunu okuyabilirsiniz. Bu kod,
psql'in \ ile baslayan komutlarnn ktsn olusturan SQL komutlarini ierir. Ayn
zamanda, psql'i -E seenei ile balatp, verdiiniz komutlar altrmak iin yapt
sorgularn ktlarn grebilirsiniz.
4.4) Bir tablodan bir kolonu nasl kaldrabilirim?
Bu zellik (ALTER TABLE DROP COLUMN) 7.3 srm ile gelmitir. Eski srmlerde
aadakileri uygulamalsnz:
BEGIN;
LOCK TABLE old_table;
SELECT ... -- select all columns but the one you want to remove
INTO TABLE new_table
FROM old_table;
DROP TABLE old_table;
ALTER TABLE new_table RENAME TO old_table;
COMMIT;
4.5) Bir satr, tablo ve veritaban icin en fazla byklk nedir?
Snrlar:
100000 veri satr
-------------------- = 782 veritaban sayfas
Veritabani icin en fazla byklk nedir? Snrsz (32 TB'lk veritaban bulunmaktadr)
128 satr
Bir tablo icin en fazla byklk nedir? 32 TB
Bir satr iin en fazla byklk nedir? 1.6 TB
782 veritaban sayfas * sayfa bana 8192 byte = 6,406,144 bytes (6.4 MB)
Bir alan iin en fazla byklk nedir? 1 GB
Tabloda en fazla satr says katr? Snrsz
Index'ler ok fazla yere gereksinim duymazlar, ama index'lenmi veriyi tutacaklarndan byk olabilirler.
Bir tabloda olabilecek en fazla kolon says katr? Kolon tiplerine bal olarak 250-1600
Bir tabloda olabilecek en fazla index says katr? snrsz
NULL deerler bitmapler iinde tutulur; dolaysyla ok az yer kaplarlar.
4.7) Veritabannda hangi tablo ya da index'lerin tanmlandn nasl grebilirim?
Tabii ki bunlar aslinda snrsz degildir. Burada belirtilen snrlar, fiziksel
snrlarn haricindeki snrlardr. Bo disk alan, hafza/takas alan na bal
psql, bu tr bilgileri gstermek iin, \ ile balayan bir ok komut sunmaktadr. \? komutu ile bu komutlar
snrlamalar vardr. Baarm, snr deerlere yaklastka, ya da deerler cok byk
grebilirsiniz. Ayrca, bunlar aklayan ve pg_ ile balayan ok sayda sistem tablosu bulunmaktadr. Ayn zamanda,
olduunda debilir.
psql -l ile tm veritabanlarn listeyelebirsiniz.
Bir tablo iin byklk snr olan 16 TB, iletim sisteminin byk dosya destei olup
Ayrca, pgsql/src/tutorial/syscat.source kodunu inceleyebilirsiniz. Bu dosya, veritaban sistem dosyalarndan bilgiyi
olmamasndan bamszdr. Byk tablolar, 1 GB'lik dosyalarda sakland iin, dosya
almak iin gereksinim duyulan bir ok SELECT'leri gsterir.
sistemi snrlarnin bir nemi yoktur.
4.8) Sorgularm cok yava, ya da index'lerimi kullanmyorlar. Neden?
Tablo ve kolon says byklkleri, n tanml blok bykl 32k ya karlarak
arttrlabilir.
4.6) Tipik bir metin dosyasndaki veriyi saklamak iin ne kadar disk alan gereklidir?
Bir PostgreSQL veritaban, veriyi "flat" metin dosyasnda saklamak iin gereken
alann 5 kat fazla disk alanna gereksinim duyabilir.
Her satrnda bir tamsay ve metin (text) ieren, 100.000 satrlk bir dosya dnn.
Her satrn ortalama 20 byte olduunu farzedelim. Metin dosyas 2.8 MB olacaktr. Bu veriyi
tutan PostgreSQL veritaban yaklak 6.4 MB yer kaplayacaktr.
36 byte: Her bir satr baslg (yaklasik)
+ 24 byte: Bir tamsay (int) alani ve bir metin (text) alan
+ 4 byte: Sayfada tuple a pointer
----------------------------------------
64 byte -> kayt basna
PostgreSQL'de data page bykl 8192 byte (8k)dir, dolaysyla:
8192 byte -> page basna
------------------------- = Her bir veritabani page i bana 128 satr (yaklak)
Satr basna 64 byte
100000 veri satr
-------------------- = 782 veritaban sayfas
128 satr
782 veritaban sayfas * sayfa bana 8192 byte = 6,406,144 bytes (6.4 MB)
Indexler cok fazla yere gereksinim duymazlar, ama indexlenmis veriyi tutacaklarndan
byk olabilirler.
NULL deerler bitmapler iinde tutulur; dolaysyla ok az yer kaplarlar.
4.7) Veritabannda hangi tablo ya da indexlerin tanmlandgn nasl grebilirim?
psql, bu tr bilgileri gstermek iin, \ ile balayan bir ok komut sunmaktadr.
\? komutu ile bu komutlar grebilirsiniz. Ayrca, bunlar aklayan ve pg_ ile balayan
ok sayda sistem tablosu bulunmaktadr. Ayn zamanda, psql -l ile tm veritabanlarn
listeyelebirsiniz.
Ayrca, pgsql/src/tutorial/syscat.source kodunu inceleyebilirsiniz. Bu dosya, veritaban
sistem dosyalarindan bilgiyi almak iin gereksinim duyulan bir ok SELECTleri gsterir.
4.8) Sorgularm cok yava, ya da indexlerimi kullanmyorlar. Neden?
Indexler her sorgu tarafndan otomatik olarak kullanlmazlar. Indexler eer bir tablonun bykl minimum bir
Indexler her sorgu tarafndan otomatik olarak kullanlmazlar. Indexler eer bir tablonun bykl minimum bir
byklkten fazla ise ve sorgu tablodaki satrlarn sadece kk bir yzdesini seiyorsa kullanlr. Bunun nedeni,
byklkten fazla ise ve sorgu tablodaki satrlarn sadece kk bir yzdesini seiyorsa kullanlr. Bunun nedeni,
index eriiminin neden olduu raslansal disk eriimi nin diskin ya da tablonun sral okunmasndan daha yavas
index eriiminin neden olduu raslansal disk eriimi nin diskin ya da tablonun sral okunmasndan daha yavas
...
@@ -695,8 +592,8 @@ ve LIMIT kullanarak da almak olas
...
@@ -695,8 +592,8 @@ ve LIMIT kullanarak da almak olas
ORDER BY col [ DESC ]
ORDER BY col [ DESC ]
LIMIT 1;
LIMIT 1;
Eer optimizer'n sral arama yapmasnn yanl olduuna inanyorsanz, SET enable_seqscan TO 'off' kullann ve
Eer optimizer'n sral arama yapmasnn yanl olduuna inanyorsanz, SET enable_seqscan TO 'off' kullann ve
index
index
kullanan aramalarn hala daha hzl olup olmadn grn.
kullanan aramalarn hala daha hzl olup olmadn grn.
LIKE ya da ~ gibi operatrler kullanyorsanz, index'ler sadece aadaki koullarda kullanlabilir:
LIKE ya da ~ gibi operatrler kullanyorsanz, index'ler sadece aadaki koullarda kullanlabilir:
...
@@ -708,11 +605,11 @@ LIKE ya da ~ gibi operat
...
@@ -708,11 +605,11 @@ LIKE ya da ~ gibi operat
anlatlan fonksiyonel index'leri kullanabilirsiniz.
anlatlan fonksiyonel index'leri kullanabilirsiniz.
* initdb srasnda ntanml C locale'i kullanlmaldr.
* initdb srasnda ntanml C locale'i kullanlmaldr.
4.9) query-optimizer i
n sorgularm nasl deerlendirdiini, ileme soktuunu nasl grebilirim?
4.9) query-optimizer'
n sorgularm nasl deerlendirdiini, ileme soktuunu nasl grebilirim?
EXPLAIN yardm sayfasna baknz.
EXPLAIN yardm sayfasna baknz.
4.10) R-tree index nedir?
4.10) R-tree index nedir?
R-tree index, uzaysal (spatial) verileri indexlemek iin kullanlr. Bir hash index, dizi aramalarnda (range search)
R-tree index, uzaysal (spatial) verileri indexlemek iin kullanlr. Bir hash index, dizi aramalarnda (range search)
kullanlamaz. B-tree index dizi aramalarnda sadece tek boyutlu almaktadr. R-tree, ok boyutlu veriyi destekler.
kullanlamaz. B-tree index dizi aramalarnda sadece tek boyutlu almaktadr. R-tree, ok boyutlu veriyi destekler.
rnein, eer bir R-tree index point veri tipi zerinde ina edililebilirse, sistem "select all points within a
rnein, eer bir R-tree index point veri tipi zerinde ina edililebilirse, sistem "select all points within a
...
@@ -725,309 +622,287 @@ on Mgmt of Data, 45-57.
...
@@ -725,309 +622,287 @@ on Mgmt of Data, 45-57.
Bu belgeyi, Stonebraker'n "Readings in Database Systems" kitabnda bulabilirsiniz.
Bu belgeyi, Stonebraker'n "Readings in Database Systems" kitabnda bulabilirsiniz.
Gml R-tree indexleri poligon ve boxlar kullanabilir. Teorik olarak, R-tree indexlerin zelliklerini
Gml R-tree indexleri poligon ve boxlar kullanabilir. Teorik olarak, R-tree indexlerin zelliklerini geniletmek bir
geniletmek bir miktar aba gerektirir ve bunun nasl yaplacana dair bir belgemiz henz bulunmamaktadr.
miktar aba gerektirir ve bunun nasl yaplacana dair bir belgemiz henz bulunmamaktadr.
4.11) Genetic Query Optimizer nedir?
4.11) Genetic Query Optimizer nedir?
GEQO modl, Genetic Algorithm(GA) kullanlarak tablolar birletirildiinde sorgu optimizasyonunu hzlandrr.
4.12) Dzenli ifade (Regular Expression) aramalarn ve byk/kk harfe duyarsz aramalar nasl yapabilirim? Bu
GEQO modl, Genetic Algorith(GA) kullanlarak tablolar birletirildiinde sorgu optimizasyonunu hzlandrr.
byk(kk harfe duyarl aramalar iin index'i nasl kullanabilirim?
4.12) Dzenli ifade (Regular Expression) aramalarn ve byk/kk harfe duyarsz aramalar nasl yapabilirim?
~ operatr dzenli ifade elemesi ve ~* byk/kk harfe duyarsz dzenli ifade elemesi yapar. Byk/kk harfe
Bu byk(kk harfe duyarl aramalar iin indeksi nasl kullanabilirim?
duyarl olan LIKE'n byk/kk harfe duyarsz olan biimi ILIKE'tr ve PostgreSQL 7.1 srm ile birlikte gelmitir.
~ operatr dzenli ifade elemesi ve ~* byk/kk harfe duyarsz dzenli ifade elemesi yapar.
Byk-kk harfe duyarsz eitlik karlatrmalar aadaki gibi ifade edilir:
Byk/kk harfe duyarl olan LIKE'in byk/kk harfe duyarsz olan biini ILIKE'tr ve PostgreSQL
7.1 srm ile birlikte gelmitir.
SELECT *
FROM tab
Byk-kk harfe duyarsz eitlik karlatrmalar aadaki gibi ifade edilir:
WHERE lower(col) = 'abc'
SELECT *
FROM tab
WHERE lower(col) = 'abc'
Bu standart bir indeks yaratmayacaktr. Ancak eer fonksiyonel bir indeks
yaratrsanz; o kullanlacaktr:
Bu standart bir index yaratmayacaktr. Ancak eer fonksiyonel bir index
yaratrsanz; o kullanlacaktr:
CREATE INDEX tabindex on tab (lower(col));
CREATE INDEX tabindex on tab (lower(col));
4.13) Bir sorguda, bir alanin "NULL" oldugunu nasl ortaya karabilirim?
4.13) Bir sorguda, bir alanin "NULL" olduunu nasl ortaya karabilirim?
Kolonu, IS NULL ve IS NOT NULL ile test edebilirsiniz.
Kolonu, IS NULL ve IS NOT NULL ile test edebilirsiniz.
4.14) esitli karakter tipleri arasndaki farklar nelerdir?
4.14) esitli karakter tipleri arasndaki farklar nelerdir?
Veri Tipi Ad Not
Veri Tipi Ad Not
--------------------------------------------------
--------------------------------------------------
VARCHAR(n) varchar boyut en byk uzunluu verir; sadece verilen kadar veri tutulur.
VARCHAR(n) varchar boyut en byk uzunluu verir; sadece verilen kadar veri tutulur.
CHAR(n) bpchar belirtilen uzunlu
p
a kadar sonuna boluk eklenir.
CHAR(n) bpchar belirtilen uzunlua kadar sonuna boluk eklenir.
TEXT text uzunlukta herhangi bir st snr yoktur.
TEXT text uzunlukta herhangi bir st snr yoktur.
BYTEA bytea variable-length byte array (null-byte safe)
BYTEA bytea variable-length byte array (null-byte safe)
"char" char bir karakter
"char" char bir karakter
adlar (internal name) sistem kataloglarn ve baz hata meajlarn incelerken greceksiniz.
adlar (internal name) sistem kataloglarn ve baz hata mesajlarn incelerken greceksiniz.
lk drt veri tipi "varlena" tipidir (yani, diskteki ilk 4 bayt uzunluktur; devam da veridir.) Dolaysyla,
lk drt veri tipi "varlena" tipidir (yani, diskteki ilk 4 bayt uzunluktur; devam da veridir.) Dolaysyla, kullanlan
Bylece, kullanlan gerek alan, belirtilen alandan biraz daha byktr. Ancak, bu veri tipleri, sktrlmaya tabi
gerek alan, belirtilen alandan biraz daha byktr. Ancak, bu veri tipleri, sktrlmaya tabi tutulabilir;
tutulabilir; dolaysyla disk alan beklenilenden kck olabilir. VARCHAR(n) bykl artabilen ama en byk
dolaysyla disk alan beklenilenden kk olabilir. VARCHAR(n) bykl artabilen ama en byk uzunluu snrl olan
uzunluu snrl oan verileri saklamak iin en uygun yntemdir. TEXT, 1 GB bykle kadar olan verileri tutmak iin
verileri saklamak iin en uygun yntemdir. TEXT, 1 GB bykle kadar olan verileri tutmak iin kullanlr.
kullanlr.
CHAR(n), ayn uzunluktaki dizilerin saklanmas iin kullanmr. CHAR(n) belirtilen uzunlua kadar boluk ile doldurur;
CHAR(n), ayn uzunluktaki dizilerin saklanmas iin kullanmr. CHAR(n) belirtilen uzunlua kadar boluk ile
ancak VARCHAR(n) sadece verilen karakterleri saklar. BYTEA binary veri saklamak iindir; ayrca "NULL" bayt ieren
doldurur; ancak VARCHAR(n) sadece verilen karakterleri saklar.BYTEA binary veri saklamak iindir; ayrca "NULL" bayt
deerleri de saklar. Burada anlatlan veri tipi de benzer baarm karakteristiklere sahiptir.
ieren deerleri de saklar. Burada anlatlan veri tipi de benzer baarm karakteristiklere sahiptir.
4.15.1) Nasl serial/otomatik artan (auto-incrementing) bir alan yaratabilirim?
4.15.1) nasl serial/otomatik artan(auto-incrementing) bir alan yaratabilirim?
PostgreSQL'de SERIAL veri tipi vardr. Bu veri tipi bir sequence ve kolon zerinde bir index yaratr.
PostgreSQL'de SERIAL veri tipi vardr. Bu veri tipi bir sequence ve kolon zerinde bir indeks yaratr.
rnek, aadaki sorgu:
rnek, aadaki sorgu:
CREATE TABLE person (
id SERIAL,
CREATE TABLE person (
name TEXT
id SERIAL,
);
name TEXT
);
buna evrilir:
buna evrilir:
CREATE SEQUENCE person_id_seq;
CREATE SEQUENCE person_id_seq;
CREATE TABLE person (
CREATE TABLE person (
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
id NT4 NOT NULL DEFAULT nextval('person_id_seq'),
name TEXT
name TEXT
);
);
CREATE UNIQUE INDEX person_id_key ON person ( id );
CREATE UNIQUE NDEX person_id_key ON person ( id );
Sequenceler hakknda daha fazla bilgi iin create_sequence yardm sayfasna bakabilirsiniz. Her satrn OID alann
Sequenceler hakknda daha fazla bilgi iin create_sequence yardm sayfasna bakabilirsiniz. Her satrn OID alann
tekil bir say olarak alabilirsiniz. Ancak, veritabannzn dump'n alp yeniden yklerseniz, OID deerlerini
tekil bir say olarak alabilirsiniz. Ancak, veritabannzn dump'n alp yeniden yklerseniz, OID deerlerini
koruyabilmek iin pg_dump'n -o parametresini ya da "COPY WITH OIDS" seeneini kullanmanz gerekecektir.
koruyabilmek iin pg_dump'n -o parametresini ya da "COPY WITH OIDS" seeneini kullanmanz gerekecektir.
4.15.2) SERIAL giriinin degerini nasl alabilirim?
4.15.2) SERIAL giriinin degerini nasl alabilirim?
Bir yaklam, sequence nesnesindeki SERIAL deerini, veriyi girmeden nce nextval() ile alp, aldnz deeri
Bir yaklam, sequence nesnesindeki SERIAL deerini, veriyi girmeden nce nextval() ile alp, aldnz deeri
kendinizin girmesidir. 4.15.1'deki rnek tabloyu kullanarak bir rnek verelim:
kendinizin girmesidir. 4.15.1'deki rnek tabloyu kullanarak bir rnek verelim:
new_id = execute("SELECT nextval('person_id_seq')");
new_id = execute("SELECT nextval('person_id_seq')");
execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
Dier sorgular iin new_id'de yeni deerin saklanmas gerekir. Otomatik olarak yaratlan SEQUENE nesnesinin ad,
execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
<tablo ad>_<serial kolonu ad>_seq eklinde olacaktr (< > iaretleri olmadan).
Alternatif olarak, atanm SERIAL deerini, deer girildikten sonra currval() fonksiyonu ile alabilirsiniz:
Dier sorgular iin new_id'de yeni deerin saklanmas gerekir. Otomatik olarak yaratlan SEQUENE nesnesinin ad, __seq
eklinde olacaktr (< > iaretleri olmadan).
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
Alternatif olarak, atanm SERIAL deerini, deer girildikten sonra currval() fonksiyonu ile alabilirsiniz:
new_id = execute("SELECT currval('person_id_seq')");
Son olarak, n tanml deeri bulmak iin INSERT ifadesinden dnen OID deerini kullanabilirsiniz; ancak bu
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
en az tanabilir zm olacaktr. Perl'de, Edmund Mergl'in DBD:Pg mdl ile birlikte DBI kullanarak, OID deeri
new_id = execute("SELECT currval('person_id_seq')");
$sth->execute() altrldktan sonra $sth->(pg_OID_status) ile alnabilir.
4.15.3) currval() ve nextval() diger kullanicilara sorun yaratmaz m?
Son olarak, n tanml deeri bulmak iin INSERT ifadesinden dnen OID deerini kullanabilirsiniz; ancak bu en az
tanabilir zm olacaktr. Perl'de, Edmund Mergl'in DBD:Pg mdl ile birlikte DBI kullanarak, OID deeri
Hayr. curval(), tm kullanclar degil, backend tarafndan atanan geerli
$sth->execute() altrldktan sonra $sth->(pg_oid_status) ile alnabilir.
degeri dndrr.
4.15.3) currval() ve nextval() dier kullanclara sorun yaratmaz m?
4.15.4) Neden sequence saylarn transaction ileminin iptalinden sonra yeniden kullanlyor? Neden sequence/SERIAL
kolonumdaki saylarda atlamalar oluyor?
Uyumluluu arttrmak iin, sequence deerleri alan transactionlara gerektii ekilde aktarlr ve transaction
Hayr. curval(), tm kullanclar deil, backend tarafndan atanan geerli deeri dndrr.
bitene kadar o deer kilitlenmez. Bu, iptal edilen transaction ilemleri nedeniyle boluklara neden olur.
4.15.4) Neden sequence saylar transaction ileminin iptalinden sonra yeniden kullanlyor? Neden sequence/SERIAL
kolonumdaki saylarda atlamalar oluyor?
4.16) OID nedir? TID nedir?
Uyumluluu arttrmak iin, sequence deerleri alan transaction'lara gerektii ekilde aktarlr ve transaction
bitene kadar o deer kilitlenmez. Bu, iptal edilen transaction ilemleri nedeniyle boluklara neden olur.
4.16) OID nedir? TID nedir?
OIDler, tekil satr numaralarna PostgreSQL'in yantdr. PostgreSQL'de yaratlan her say, tekil bir OID alr.
OIDler, tekil satr numaralarna PostgreSQL'in yantdr. PostgreSQL'de yaratlan her say, tekil bir OID alr.
initdb
i
nitdb ilemi srasnda yaratlan tm OID'ler 16384'ten kktr (backend/access/transam.h). Kullanclar tarafnd
an
i
lemi srasnda yaratlan tm OID'ler 16384'ten kktr (backend/access/transam.h). Kullanclar tarafndan yaratl
an
yaratlan tm OID'ler bu sayya eit ya da bu saydan byktr. Varsaylan durumda, tm bu OIDler sadece bir tablo y
a
tm OID'ler bu sayya eit ya da bu saydan byktr. Varsaylan durumda, tm bu OIDler sadece bir tablo ya d
a
da
veritabannda deil, tm PostgreSQL kurulumunda tekildir.
veritabannda deil, tm PostgreSQL kurulumunda tekildir.
PostgreSQL OIDleri, tablolar arasnda satrlar ilikilendirmek iin kendi i tablolarnda kullanr. Bu OIDler
PostgreSQL OIDleri, tablolar arasnda satrlar ilikilendirmek iin kendi i tablolarnda kullanr. Bu OIDler
belirli
belirli kullanc satrlarn belirtmek iin kullanabilir ve join ilemlerinde kullanlr. OID deerlerini saklamak
kullanc satrlarn belirtmek iin kullanabilir ve join ilemlerinde kullanlr. OID deerlerini saklamak iin OID
iin OID
kolon tipini kullanmanz nerinir. Daha hzl bir eriim iin, OID alannda bir index yaratabilirsiniz.
kolon tipini kullanmanz nerinir. Daha hzl bir eriim iin, OID alannda bir index yaratabilirsiniz.
OID'ler yeni satrlara, tm veritabanlar tarafnda kullanlan ortak bir alandan atanrlar. Eer OID'i baka bir
OID'ler yeni satrlara, tm veritabanlar tarafnda kullanlan ortak bir alandan atanrlar. Eer OID'i baka bir
deere
deere
eitlemek isterseniz ya da tablonun bir kopyasn orijinal OIDler ile karmak isterseniz, bu mmkndr:
eitlemek isterseniz ya da tablonun bir kopyasn orijinal OIDler ile karmak isterseniz, bu mmkndr:
CREATE TABLE new_table(old_OID OID, mycol int);
CREATE TABLE new_table(old_oid oid, mycol int);
SELECT old_OID, mycol NTO new FROM old;
SELECT old_oid, mycol INTO new FROM old;
COPY new TO '/tmp/pgtable';
COPY new TO '/tmp/pgtable';
DELETE FROM new;
DELETE FROM new;
COPY new WITH OIDS FROM '/tmp/pgtable';
COPY new WITH OIDS FROM '/tmp/pgtable';
OIDler 4-bit tamsay olarak saklanrlar ve 4 milyarda overflow olacaktr. Kimse bu sayya ulatna dair bir bilgi
OIDler 4-bit tamsay olarak saklanrlar ve 4 milyarda overflow olacaktr. Kimse bu sayya ulatna dair bir bilgi
iletmedi ve bu snr kimse bu snra ulamadan kaldracaz.
iletmedi ve bu snr kimse bu snra ulamadan kaldracaz.
TIDler, belirli fiziksel satrlar block ve offset deerleri ile belirtmekte kullanlr. TIDler, satrlar deitiinde
TIDler, belirli fiziksel satrlar block ve offset deerleri ile belirtmekte kullanlr. TIDler, satrlar deitiinde
ya da yeniden yklendiinde deiirler. Index girdileri tarafndan fiziksel satrlar gstermek iin kullanlrlar.
ya da yeniden yklendiinde deiirler. Index girdileri tarafndan fiziksel satrlar gstermek iin kullanlrlar.
4.17) PostgreSQL'de kullanlan baz terimlerin anlamlar nelerdir?
4.17) PostgreSQL'de kullanlan baz terimlerin anlamlar nelerdir?
Kaynak kodun bir ksm ve eski belgeler, daha geni kullanm alan olan terimleri
kullanrlar. Bunlarn bazlar:
* 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
Genel veritaban terimleri,
http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html
adresinde bulunabilir.
4.18) Neden "ERROR: Memory exhausted in AllocSetAlloc()"? hatasn alyorum?
Sisteminizde sanal belleinizi tketmis olabilirsiniz, ya da ekirdeiniz
belli kaynaklar icin dk bir snra sahip olabilir. Postmaster'i balatmadan nce
aadakileri deneyebilirsiniz:
ulimit -d 262144
limit datasize 256m
Kabuunuza bal olarak, bunlardan sadece biri olumlu sonu verecektir, ama
bu ilem veri segment snrnz arttracak, ve belki de sorgunuzun tamamlanmasn
saglayacaktr. Bu komut, varolan srece (current process) ve komut alstrldktan
sonraki tm alt islemlere uygulanr. Eer SQL istemcinizle, backendin ok fazla veri
dndrmesi nedeniyle bir sorun yayorsanz, bunu istemciyi balatmadan nce deneyiniz.
4.19) Hangi PostgreSQL srmn alstrdgm nasl grebilirim?
psql arabiriminde, SELECT version(); yaznz.
4.20) Neden large-object islemlerim, "invalid large obj descriptor"? hatasn veriyor?
Large object ilemlerinizin ularna, yani lo_open ... lo_close komutlarnn evresine,
BEGIN WORK ve COMMIT koymanz gerekmektedir.
Eger ODBC gibi bir istemci arabirimi kullanyorsanz, auto-commit'i kapatmanz gerekebilir.
4.21) u andaki zaman ntanml deer olarak kabul eden kolonu nasl yaratabilirim?
Alttakini kullanabilirsiniz:
CURRENT_TIMESTAMP:
CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
4.22) Neden IN kullanan subquerylerim ok yavas?
7.4 srmnden nce, subqueryler. Eer subquery sadece birka satr ve outer query bol sayda satr dndryorsa, IN
en hzlsdr. Sorgular hzlandrmak iin IN yerine EXISTS kullann:
SELECT *
FROM tab
WHERE col IN (SELECT subcol FROM subtab);
sorgusunu, aadaki ile deitirin:
Kaynak kodun bir ksm ve eski belgeler, daha geni kullanm alan olan terimleri kullanrlar. Bunlarn bazlar:
* 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
Genel veritaban terimleri, http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html
adresinde bulunabilir.
4.18) Neden "ERROR: Memory exhausted in AllocSetAlloc()" hatasn alyorum?
Sisteminizde sanal belleinizi tketmi olabilirsiniz, ya da ekirdeiniz belli kaynaklar icin dk bir snra sahip
olabilir. postmaster' balatmadan nce aadakileri deneyebilirsiniz:
ulimit -d 262144
limit datasize 256m
Kabuunuza bal olarak, bunlardan sadece biri olumlu sonu verecektir, ama bu ilem veri segment snrnz
arttracak, ve belki de sorgunuzun tamamlanmasn salayacaktr. Bu komut, varolan ileme (current process) ve komut
altrldktan sonraki tm alt ilemlere uygulanr. Eer SQL istemcinizle, backend'in ok fazla veri dndrmesi
nedeniyle bir sorun yayorsanz, bunu istemciyi balatmadan nce deneyiniz.
4.19) Hangi PostgreSQL srmn altrdm nasl grebilirim?
psql arabiriminde, select version(); yaznz.
4.20) Neden large-object ilemlerim, "invalid large obj descriptor" hatasn veriyor?
Large object ilemlerinizin ularna, yani lo_open ... lo_close komutlarnn evresine, BEGIN WORK ve COMMIT koymanz
gerekmektedir;
u anda, PostgreSQL kurallar large objectleri transaction commit edildiinde kapatarak uygulamaktadr. Dolaysyla
handle ile yaplacak ilk ey invalid large obj descriptor hatas ile sonulanacaktr.Dolaysyla alan kodunuz eer
transaction kullanmazsanz hata mesajlar retecektir.
Eer ODBC gibi bir istemci arabirimi kullanyorsanz, auto-commit'i kapatmanz gerekebilir.
4.21) u andaki zaman ntanml deer olarak kabul eden How do I create a column that will default to the current
time?
SELECT *
Alttakini kullanabilirsiniz:
CURRENT_TIMESTAMP:
CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
4.22) Neden IN kullanan subquery'lerim ok yavas?
7.4 srmnden nce, subqueryler. Eer subquery sadece birka satr ve outer query bol sayda satr dndryorsa, IN en
hzlsdr. Sorgular hzlandrmak iin IN yerine EXISTS kullann:
SELECT *
FROM tab
FROM tab
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
WHERE col1 IN (SELECT col2 FROM TAB2)
Bunun hzl olabilmesi iin, subcol'un indekslenmi bir kolon olmas gerekmektedir.
sorgusunu, aadaki ile deitirin:
7.4 srm ve sonrasnda, IN aslnda normal sorgularla ayn karmak join tekniklerini kullanr ve EXISTS'e tercih
edilir.
4.23) Outer join islemini nasl yapabilirim?
PostgreSQL outer join ilemlerini SQL standartlarn kullanarak gerekletirmektedir.
Aada 2 rnek bulunmaktadr:
SELECT *
SELECT *
FROM t1 LEFT OUTER JON t2 ON (t1.col = t2.col);
FROM tab
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
ya da
Bu ilemin hzl olmas iin, subcol'un indexlenmi bir kolon olmas gerekmektedir.
SELECT *
7.4 srm ve sonrasnda, IN aslnda normal sorgularla ayn karmak join tekniklerini kullanr ve EXISTS'e tercih
FROM t1 LEFT OUTER JON t2 USNG (col);
edilir.
4.23) Outer join ilemini nasl yapabilirim?
Bu zde sorgular t1.col ' i t2.col'ye join ederler ve ayn zamanda t1'deki unjoined satrlar
PostgreSQL outer joins islemlerini SQL standartlarn kullanarak gerekletirmektedir. Aada 2 rnek bulunmaktadr:
(t2'de elenmenis olanlarla) dndrrler. RIGHT JON t2'nin unjoined satrlarn ekleyecektir.
Bir FULL join, elemi btn satrlar ve t1 ile t2'den tm balanmam (unjoined) satrlar alr.
OUTER szc seimseldir ve LEFT, RIGHT ve FULL join ilemlerinde olduu kabul edilir. Sradan
join ilemleri INNER join olarak adlandrlr.
nceki srmlerde, OUTER JOINler UNION ve NOT IN kullanlarak simle edilebiliyordu. rnein, tab1
SELECT *
ve tab2'yi birletirirken, aadaki sorgu iki tablonun dtan balanmasn salar:
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
SELECT tab1.col1, tab2.col2
ya da
FROM tab1, tab2
WHERE tab1.col1 = tab2.col1
UNION ALL
SELECT tab1.col1, NULL
FROM tab1
WHERE tab1.col1 NOT N (SELECT tab2.col1 FROM tab2)
ORDER BY col1
4.24) Ayn anda birden fazla veritabannda nasl ilem yapabilirim?
SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
Mevcut veritabannz dsndaki baska bir veritabannz sorgulamanzn bir yolu bulunmamaktadr.
Bu zde sorgular t1.col' i t2.col'ye join ederler ve ayn zamanda t1'deki unjoined satrlar (t2'de elenmemi
bunun nedeni, PostgreSQL'in veritabanna zel sistem kataloglar yklemesidir. Bu nedenle,
olanlarla) dndrrler. RIGHT JOIN t2'nin unjoined satrlarn ekleyecektir. Bir FULL join, elemi btn satrlar ve
cross-database bir sorgunun nasl davranacagn kestirmek zordur.
t1 ile t2'den tm balanmam (unjoined) satrlar alr. OUTER szc seimseldir ve LEFT, RIGHT ve FULL join
ilemlerinde olduu kabul edilir. Sradan join ilemleri INNER JOIN olarak adlandrlr.
contrib/dblink fonksiyon arlarn kullanarak cross-database sorgulara izin vermektedir. Tabii ki,
bir istemci deiik veritabanlarna ayn anda eriim salayabilir ve bilgiyi bu sekilde
birletirebilir.
4.25) Bir fonksiyondan nasl oklu satr ya da kolon dndrebilirim?
nceki srmlerde, OUTER JOINler UNION ve NOT IN kullanlarak simle edilebiliyordu. rnein, tab1 ve tab2'yi
birletirirken, aadaki sorgu iki tablonun dtan balanmasn salar:
7.3 srmnde, bir fonksiyondan kolaylkla oklu satr ya da stun dndrebilirsiniz.
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
http://techdocs.postgresql.org/guides/SetReturningFunctions .
4.24) Ayn andan birden fazla veritabannda nasl ilem yapabilirim?
4.26) Neden PL/pgSQL fonksiyonlar iinden gvenli bir ekilde tablo yaratma/kaldrma ilemlerini yapamyoruz?
Mevcut veritabannz dndaki baka bir veritabannz sorgulamanzn bir yolu bulunmamaktadr. Bunun nedeni,
PostgreSQL'in veritabanna zel sistem kataloglar yklemesidir. Bu nedenle, cross-database bir sorgunun nasl
davranacan kestirmek zordur.
PL/pgSQL fonksiyon ierikleri cacheler. Bunun istenmeyen bir taraf, eer bir PL/pgSQL fonksiyonu geici bir
contrib/dblink fonksiyon arlarn kullanarak cross-database sorgulara izin verir. Tabii ki, bir istemci deiik
tabloya eriiyorsa ve bu tablo ileride kaldrlp yeniden oluturulduktan sonra fonksiyon yeniden arlrsa,
veritabanlarna ayn anda eriim salayabilir ve bilgiyi bu ekilde birletirebilir.
fonksiyon almayacaktr; nk cachelenmi fonksiyon hala eski geici tabloyu gsteriyor olacaktr. zm,
4.25) Bir fonksiyondan nasl oklu satr ya da kolon dndrebilirim?
geici tablo eriimleri iin PL/pgSQL'de EXECUTE kullanmaktr. Bu, sorgunun her seferinde yeniden ilenmesini
salayacaktr.
4.27) Hangi replikasyon seenekleri bulunmaktadr?
7.3 srmnde, bir fonksiyondan kolaylkla oklu satr ya da stun dndrebilirsiniz.
(http://techdocs.postgresql.org/guides/SetReturningFunctions)
4.26) Neden Pl/PgSQL fonksiyonlar iinden gvenli bir ekilde tablo yaratma/kaldrma ilemlerini yapamyoruz?
eitli master/slave replikasyon seenekleri bulunmaktadr. Bunlar master veritabannn veritaban deiikliklerini
PL/PgSQL fonksiyon ierikleri cache'ler. Bunun istenmeyen bir taraf, eer bir PL/PgSQL fonksiyonu geici bir tabloya
yaparken, slave sunucunun sadece veritabannda okuma yapmasna izin verir.
eriiyorsa ve bu tablo ileride kaldrlp yeniden oluturulduktan sonra fonksiyon yeniden arlrsa, fonksiyon
http://gborg.PostgreSQL.org/genpage?replication_research sayfasnn altnda bunlarn listesini bulabilirsiniz.
almayacaktr; nk cache'lenmi fonksiyon hala eski geici tabloyu gsteriyor olacaktr. zm, geici tablo
http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php adresinde, oklu-master replikasyon zm
eriimleri iin PL/PgSQL'de EXECUTE kullanmaktr. Bu, sorgunun her seferinde yeniden ilenmesini salayacaktr.
zerinde allyor.
4.27) Hangi replikasyon seenekleri bulunmaktadr?
4.28) Hangi ifreleme seenekleri bulunmaktadr?
eitli master/slave replikasyon seenekleri bulunmaktadr. Bunlar master veritabannn veritaban deiikliklerini
yaparken, slave sunucunun sadece veritabannda okuma yapmasna izin verir.
http://gborg.PostgreSQL.org/genpage?replication_research sayfasnn altnda bunlarn listesini bulabilirsiniz.
http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php adresinde, oklu-master replikasyon zm zerinde
allyor.
4.28) 4.28) Hangi ifreleme seenekleri bulunmaktadr?
* contrib/pgcrypto SQL sorgularnda kullanlabilmesi iin ifreleme fonksiyonlar iermektedir.
* contrib/pgcrypto SQL sorgularnda kullanlabilmesi iin ifreleme fonksiyonlar iermektedir.
* stemciden sunucuya iletiimi ifrelemek iin, sunucuda ssl seenei postgresql.conf iinde ak olmaldr.
* stemciden sunucuya iletiimi ifrelemek iin, sunucuda ssl seenei postgresql.conf iinde ak olmaldr.
Ayrca,pg_hba.conf dosyas iinde host ya da hostssl kayd mutlaka olmaldr ve istemci sslmode
Ayrca,pg_hba.conf dosyas iinde host ya da hostssl kayd mutlaka olmaldr ve istemci sslmode kapatlmamaldr. (Ayn
kapatlmamaldr. (Ayn zamanda,PostgreSQL'in doal SSL balantlar dnda ssh ya da ssl gibi 3.parti
zamanda,PostgreSQL'in doal SSL balantlar dnda ssh ya da ssl gibi 3.parti ifrelenmi veri iletimi de mmkndr.)
ifrelenmi veri iletimi de mmkndr.)
* Veritaban kullanc ad ve ifreleri 7.3 srm ile birlikte otomatik olarak ifrelenirler. nceki srmlerde,
* Veritaban kullanc ad ve ifreleri 7.3 srm ile birlikte otomatik olarak ifrelenirler. nceki
postgresql.conf iindeki PASSWORD_ENCRYPTION seeneini aktif hale getirmeniz gerekmektedir.
srmlerde, postgresql.conf iindeki PASSWORD_ENCRYPTION seeneini aktif hale getirmeniz gerekmektedir.
* Sunucunun kendisini ifreli dosya sistemi zerinde altrabilirsiniz.
* Sunucunun kendisini ifreli dosya sistemi zerinde altrabilirsiniz.
_________________________________________________________________
PostgreSQL zelliklerini Geniletmek
5.1) Kullanc-tanml bir fonksiyon yazdm. psql'de altrdm zaman neden core dump ediyor?
PostgreSQL zelliklerini Geniletmek
Sorunun nedeni birden fazla ey olabilir. Kullanc-tanml fonksiyonunuzu stand-alone bir programda altrmay
5.1) Kullanc-tanml bir fonksiyon yazdm. psql'de altrdm zaman neden core dump ediyor?
deneyiniz.
5.2) PostgreSQL'e nasl yeni tipler/fonksiyonlar ekleyebilirim?
Sorunun nedeni birden fazla sey olabilir. Kullanici-tanimli fonksiyonunuzu stand-alone bir programda
calistirmayi deneyiniz.
almalarnz pgsql-hackers e-posta listesine gnderiniz. Kodunuz incelendikten sonra /contrib dizinine konacaktr.
5.3) Bir tuple dondrmek icin bir C fonksiyonunu nasil yazarm?
5.2) PostgreSQL'e nasl yeni veri tipleri/fonksiyonlar ekleyebilirim?
PostgreSQL 7.3 srm ile birlikte, C, PL/PgSQL ve SQL kullanlarak tablo-dndren fonksiyonlar tamamen
almalarnz pgsql-hackers e-posta listesine gnderiniz. Kodunuz incelendikten sonra
desteklenmektedir. Ayrntl bilgi iin PostgreSQL 7.3.2 Kullanc Rehberi'ne bakabilrisiniz. Bir rnei
/contrib dizinine konacaktr.
contrib/tablefunc iinde bulabilirsiniz.
5.4) Bir kaynak dosyasnda deiiklik yaptm. Yeniden derlememe ramen deiiklik geerli olmuyor. Neden?
5.3) Bir tuple dndrmek icin bir C fonksiyonunu nasl yazarm?
Makefile'lar include dosyalar iin tam bir bamllk iermezler. ncelikle make clean, ardndan da baska bir make
PostgreSQL 7.3 srm ile birlikte, C, PL/pgSQL ve SQL kullanlarak tablo-dndren
ilemi yapmanz gerekir. GCC kullanyorsanz, configure betiinin --enable-depend seeneini, derleyicinin
fonksiyonlar tamamen desteklenmektedir. Ayrntl bilgi iin "Programmer's Guide" a
bamllklar otomatik olarak hesaplamas iin kullanabilirsiniz.
bakabilirsiniz. Bir rnei contrib/tablefunc iinde bulabilirsiniz.
5.4) Bir kaynak dosyasnda deiiklik yaptm. Yeniden derlememe ramen deiiklik
geerli olmuyor. Neden?
Makefile'lar include dosyalar iin tam bir bamllk iermezler.
ncelikle make clean, ardndan da baska bir make ilemi yapmanz gerekir.
GCC kullanyorsaniz, configure betiinin --enable-depend seeneini, derleyicinin
bamllklar otomatik olarak hesaplamas iin kullanabilirsiniz.
doc/src/FAQ/FAQ_turkish.html
View file @
a3b9a027
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
<body
bgcolor=
"#ffffff"
text=
"#000000"
link=
"#ff0000"
vlink=
"#a00000"
alink=
"#0000ff"
>
<body
bgcolor=
"#ffffff"
text=
"#000000"
link=
"#ff0000"
vlink=
"#a00000"
alink=
"#0000ff"
>
<h1>
PostgreSQL iin Ska Sorulan Sorular (SSS)
</h1>
<h1>
PostgreSQL iin Ska Sorulan Sorular (SSS)
</h1>
<p>
Son gncelleme : 2
3 ubat 2004 Pazartesi - 13:34
:26
</p>
<p>
Son gncelleme : 2
6 Temmuz 2004 Pazartesi - 16:05
:26
</p>
<p>
Current maintainer: Bruce Momjian
<p>
Current maintainer: Bruce Momjian
(
<a
href=
"mailto:pgman@candle.pha.pa.us"
>
pgman@candle.pha.pa.us
</a>
)
<br></p>
(
<a
href=
"mailto:pgman@candle.pha.pa.us"
>
pgman@candle.pha.pa.us
</a>
)
<br></p>
<p>
evirenler : Devrim Gndz (
<a
href=
"mailto:devrim@tdmsoft.com"
>
devrim@tdmsoft.com
</a>
)
<br>
Nicholas Morris Tufar
<p>
evirenler : Devrim Gndz (
<a
href=
"mailto:devrim@tdmsoft.com"
>
devrim@tdmsoft.com
</a>
)
<br>
Nicholas Morris Tufar
...
@@ -73,6 +73,7 @@ adreslerinde g
...
@@ -73,6 +73,7 @@ adreslerinde g
<a
href=
"#3.9"
>
3.9
</a>
)
<code>
pgsql_tmp
</code>
dizinin iindeki dosyalar nelerdir?
<br>
<a
href=
"#3.9"
>
3.9
</a>
)
<code>
pgsql_tmp
</code>
dizinin iindeki dosyalar nelerdir?
<br>
<a
href=
"#3.10"
>
3.10
</a>
) PostgreSQL srmlerini ykseltmek iin neden bir
<a
href=
"#3.10"
>
3.10
</a>
) PostgreSQL srmlerini ykseltmek iin neden bir
<code>
dump/reload
</code>
ilemi gerekletirmek zorundaym?
<br>
<code>
dump/reload
</code>
ilemi gerekletirmek zorundaym?
<br>
<a
href=
"#3.11"
>
3.11
</a>
) Nasl bir donanm kullanmalym?br>
<h2
align=
"center"
>
letimsel Sorular
</h2>
<h2
align=
"center"
>
letimsel Sorular
</h2>
<a
href=
"#4.1"
>
4.1
</a>
)
<i>
Binary cursor
</i>
ve
<i>
normal cursor
</i>
arasndaki fark nedr?
<br>
<a
href=
"#4.1"
>
4.1
</a>
)
<i>
Binary cursor
</i>
ve
<i>
normal cursor
</i>
arasndaki fark nedr?
<br>
...
@@ -121,7 +122,7 @@ adreslerinde g
...
@@ -121,7 +122,7 @@ adreslerinde g
<a
href=
"#4.26"
>
4.26
</a>
) Neden Pl/PgSQL fonksiyonlar iinden gvenli
<a
href=
"#4.26"
>
4.26
</a>
) Neden Pl/PgSQL fonksiyonlar iinden gvenli
bir ekilde tablo yaratma/kaldrma ilemlerini yapamyoruz?
<br>
bir ekilde tablo yaratma/kaldrma ilemlerini yapamyoruz?
<br>
<a
href=
"#4.27"
>
4.27
</a>
) Hangi replikasyon seenekleri bulunmaktadr?
<br>
<a
href=
"#4.27"
>
4.27
</a>
) Hangi replikasyon seenekleri bulunmaktadr?
<br>
<a
href=
"#4.28"
>
4.28
"D
</a>
) Hangi ifreleme seenekleri bulunmaktadr?
<br>
<a
href=
"#4.28"
>
4.28
</a>
) Hangi ifreleme seenekleri bulunmaktadr?
<br>
<h2
align=
"center"
>
PostgreSQL zelliklerini Geniletmek
</h2>
<h2
align=
"center"
>
PostgreSQL zelliklerini Geniletmek
</h2>
...
@@ -194,7 +195,7 @@ adreslerinde g
...
@@ -194,7 +195,7 @@ adreslerinde g
<code>
Win32 libpg
</code>
ktphanesi ve psql yaratabilirsiniz. PostgreSQL ayn
<code>
Win32 libpg
</code>
ktphanesi ve psql yaratabilirsiniz. PostgreSQL ayn
zamanda
<i>
ODBC
</i>
istemcileri ile haberleebilmektedir.
</p>
zamanda
<i>
ODBC
</i>
istemcileri ile haberleebilmektedir.
</p>
<p><strong>
Sunucu
</strong></p>
<p><strong>
Sunucu
</strong></p>
<p>
Veritaban sunu
uc
su
<code>
Cygwin
</code>
kullanarak Windows NT, 2K ya da
<p>
Veritaban sunu
cu
su
<code>
Cygwin
</code>
kullanarak Windows NT, 2K ya da
XP zerinde altrlabilir. Dagtm iindeki
<code>
pgsql/doc/FAQ_MSWIN
</code>
XP zerinde altrlabilir. Dagtm iindeki
<code>
pgsql/doc/FAQ_MSWIN
</code>
dosyasn ya da web sitemizdeki MS Windows FAQ'u inceleyebilirsiniz.
</p>
dosyasn ya da web sitemizdeki MS Windows FAQ'u inceleyebilirsiniz.
</p>
<p>
Doal Windows NT/2000/XP portu iin u anda almalar devam etmektedir. Windows srm
<p>
Doal Windows NT/2000/XP portu iin u anda almalar devam etmektedir. Windows srm
...
@@ -540,7 +541,14 @@ adreslerinde g
...
@@ -540,7 +541,14 @@ adreslerinde g
<p>
Disk biiminin deimedii srmlerde,
<code>
pg_upgrade
</code>
betii gncellemenin
<p>
Disk biiminin deimedii srmlerde,
<code>
pg_upgrade
</code>
betii gncellemenin
bir
<i>
dump/restore
</i>
gerektirmeden yaplmasn salayacaktr.
<i>
pg_upgrade
</i>
bir
<i>
dump/restore
</i>
gerektirmeden yaplmasn salayacaktr.
<i>
pg_upgrade
</i>
betiinin o srm iin bulunup bulunmadn srm notlar iinde bulabilirsiniz.
</p>
betiinin o srm iin bulunup bulunmadn srm notlar iinde bulabilirsiniz.
</p>
<h4><a
name=
"3.11"
>
3.11
</a>
) Nasl bir donanm kullanmalym?
</h4>
<p>
PC donanm tamamen uyumlu olduu iin, insanlar tm PC donanmlarnn ayn kalitede olduunu
dnrler. Oysa byle deildir. ECC RAM, SCSI ve kaliteli anakartlar daha ucuz donanmlara gre daha
ok gvenilirlerdir ve baarmlar daha yksektir. PostgreSQL hemen hemen tm donanmda
alabilmektedir, ancak gvenilirlik ve baarm nemli ise donanm seeneklerini ok iyi aratrmak
gereklidir. E-posta listelerimi donanmlarla ilgili sorular ve de ticaret iin kullanlabilir.
</p>
<hr>
<hr>
<h2
align=
"center"
>
letimsel Sorular
</h2>
<h2
align=
"center"
>
letimsel Sorular
</h2>
...
@@ -774,7 +782,7 @@ CREATE TABLE person (
...
@@ -774,7 +782,7 @@ CREATE TABLE person (
CREATE UNIQUE INDEX person_id_key ON person ( id );
CREATE UNIQUE INDEX person_id_key ON person ( id );
</pre>
</pre>
<p><i>
Sequenceler
</i>
hakknda daha fazla bilgi iin
<i>
create_sequence
</i>
<p><i>
Sequenceler
</i>
hakknda daha fazla bilgi iin
<i>
create_sequence
</i>
yardm sayfasna bakabilirsiniz. Her satrn
<code>
OID
<code>
alann tekil bir say
yardm sayfasna bakabilirsiniz. Her satrn
<code>
OID
<
/
code>
alann tekil bir say
olarak alabilirsiniz. Ancak, veritabannzn
<i>
dump
</i>
'n alp yeniden yklerseniz,
olarak alabilirsiniz. Ancak, veritabannzn
<i>
dump
</i>
'n alp yeniden yklerseniz,
<code>
OID
</code>
deerlerini koruyabilmek iin
<code>
pg_dump
</code>
'n
<code>
-o
</code>
<code>
OID
</code>
deerlerini koruyabilmek iin
<code>
pg_dump
</code>
'n
<code>
-o
</code>
parametresini ya da "
<code>
COPY WITH OIDS
</code>
" seeneini kullanmanz gerekecektir.
</p>
parametresini ya da "
<code>
COPY WITH OIDS
</code>
" seeneini kullanmanz gerekecektir.
</p>
...
@@ -884,6 +892,10 @@ limit datasize 256m
...
@@ -884,6 +892,10 @@ limit datasize 256m
<p><i>
Large object
</i>
ilemlerinizin ularna, yani
<code>
lo_open
</code>
...
<p><i>
Large object
</i>
ilemlerinizin ularna, yani
<code>
lo_open
</code>
...
<code>
lo_close
</code>
komutlarnn evresine,
<code>
BEGIN WORK
</code>
ve
<code>
lo_close
</code>
komutlarnn evresine,
<code>
BEGIN WORK
</code>
ve
<code>
COMMIT
</code>
koymanz gerekmektedir;
</p>
<code>
COMMIT
</code>
koymanz gerekmektedir;
</p>
<p>
u anda, PostgreSQL kurallar large objectleri transaction commit edildiinde kapatarak
uygulamaktadr. Dolaysyla handle ile yaplacak ilk ey
<i>
invalid large obj descriptor
</i>
hatas
ile sonulanacaktr.Dolaysyla alan kodunuz eer transaction kullanmazsanz hata mesajlar
retecektir.
</p>
<p>
Eer ODBC gibi bir istemci arabirimi kullanyorsanz,
<i>
auto-commit
</i>
'i
<p>
Eer ODBC gibi bir istemci arabirimi kullanyorsanz,
<i>
auto-commit
</i>
'i
kapatmanz gerekebilir.
</p>
kapatmanz gerekebilir.
</p>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment