Title: 30 Kasim 2002
1POSTGRESQLVeritabani Sunucusu
- Devrim GÜNDÜZ
- devrim_at_tr.net
- TR.NET Sistem Destek Uzmani
- http//seminer.linux.org.tr
- http//www.linux.org.tr/belgeler.php
- Bu sunu, herhangi bir izne gerek olmadan
istenilen sekilde kullanilabilir. - (Kopyalama hakki en-gel-le-ne mez! ? )
2Linux Kullanicilari Dernegi
- Kurulus
- INET-TR 1995 ilk kullanici grubu
- Türkiye Linux Kullanicilari Grubu
- 2000 Derneklesme
- Kasim 2001 Ilk Genel Kurul
- http//www.linux.org.tr
- Günlük 28.000 hit
- bilgi_at_lkd.org.tr - bilgi_at_linux.org.tr
3Linux Kullanicilari Dernegi
- E-posta listeleri
- Aylik 1 milyon dolayinda e-posta dagitilmaktadir.
- http//liste.linux.org.tr
- FTP sunucusu
- 180 GB alan ile Türkiyenin en büyük ve hizli
Linux ve Özgür Yazilim FTP sunucusu - Birçok özgür yazilimin resmi yansisi
4Linux Kullanicilari Dernegi
- Amaçlarimiz
- Özgür Yazilim Felsefesini Türkiyede tanitip
yayginlastirmak ve özgür yazilimlarin gelismesine
katkida bulunmak - Yerellestirme
- Yeni yazilimlarin gelistirilmesi
- Türkçe belgelendirme
- Düzenli egitim seminerleri
- Dernek Üyeligi
5Çalisma Gruplari
- Degisik amaçlar için kuruldu.
- E-posta listeleri
- Web sayfalari
- Etkinlikleri
- http//liste.linux.org.tr ?
6Linux Kullanicilari Dernegi
- Destekledigimiz Etkinlikler
- Akademik Bilisim Konferansi
- Internet Haftasi kapsaminda etkinlikler
- Türkiyede Internet Konferanslari
- Düzenledigimiz Etkinlikler
- Türkiye Linux ve Özgür Yazilim Senligi
- Ankara ve Istanbulda düzenli seminerler
- Gezici Seminerler
- Piknik
7LKD Seminerleri
- Siradaki Seminer
- 14 Aralik 2002 Cumartesi
- MySQL Veritabani Sunucusu
- Doruk FISEK
- dfisek_at_fisek.com.tr
8LKD Seminerleri
- Siradaki Seminer
- INET-TR 2002
- Türkiyede Internet Konferansi
- Seminer programi ve ayrintili bilgi için
- http//seminer.linux.org.tr/konferanslar/inet-tr02
- http//www.inet-tr.org.tr
9LKD Seminerleri
- Seminer programi, seminer notlari ve ayrintili
bilgiler için - http//seminer.linux.org.tr
- adresini ziyaret edebilirsiniz.
10GIRIS
- Bu sunuda asagidaki konular anlatilacaktir
- PostgreSQL in tanitimi
- Neden PostgreSQL?
- Teknik açidan PostgreSQL
- PostgreSQL mimarisi
- PostgreSQL sinirlamalari
- PostgreSQL kurulumu
- PostgreSQL veritabani araçlari
- PostgreSQL veritabaninin güvenligi
- Veritabani hakkinda ek bilgiler
11PostgreSQL nedir?
- PostgreSQL, veritabanlari için relational modeli
kullanan ve SQL standart sorgu dilini destekleyen
bir veritabani yönetim sistemidir. - PostgreSQL ayni zamanda iyi performans veren,
güvenli ve genis özellikleri olan bir DBMStir.
Hemen hemen tüm UNIX ya da Unix türevi (Linux,
FreeBSD gibi) isletim sistemlerinde çalisir.
Ayrica NT çekirdekli tüm Windows sistemlerde de
çalistirilabilir. Tabii ki ücretsiz ve açik
kodludur. - Kaynak http//www.postgresql.org
12Kimler kullaniyor?
- Türkiyedeki belli basli üniversiteler
- Maden Tetkik ve Arama Ens., Seker Fabrikalari
- www.begendim.com
- .info ve .org alan adlari (www.afilias.com)
- http//www.sciencetunnel.com
- Cisco
- BASF
- Red Hat
- Chrysler
- 3Com
- USDA, FDA, ve University of California
- ....
13PostgreSQL in tarihi
- PostgreSQLin geçmisi 1977de Kaliforniya daki
Berkeley Üniversitesinde (UCB) yapilan
çalismalara dayanir. UCBde 1977-1985 yillari
arasinda Ingres adi verilen relational veritabani
gelistirildi. - Ingres kodu Relational Technologies/Ingres
Corporation tarafindan satin alindi ve ilk ticari
relational veritabanlarindan biri oldu.
14PostgreSQL in tarihi
- Berkeleydeki iliskisel veritabani sunucusu
üzerindeki çalismalar 1986 1994 arasinda devam
etti ve bu veritabani Postgres adini aldi. Bu kod
ise Illustra tarafindan satin alindi ve Informix
olarak gelistirilmeye baslandi. - 1994te SQL özellikleri Postgrese eklendi ve bu
veritabani Postgres95 adini aldi.
15PostgreSQL in tarihi
- 1996 yilinda Postgres taninmaya baslandi ve kod
gelistirmesi için e-posta listesi açilmasindan
sonra bir çok gönüllü Postgresi gelistirmek için
çalismaya basladi. Bu asamadan sonra Postgres son
kez adini degistirdi ve adindaki 95 ekinin
yerine daha uygun olan SQL konmasina karar
verildi. Bunun nedeni Postgresin artik SQL
standartlarini desteklemesiydi. Böylece
PostgreSQL dogdu. - Su andaki sürümü 7.3tir ve 28 Kasimda
çikarilmistir.
16Neden PostgreSQL?
- PostgreSQL sirketiniz ve isiniz için diger
veritabani sistemlerinden üstün olarak asagidaki
özellikleri sunar - PostgreSQL ile, kimse sizi lisans anlasmalarini
kirmaniz durumunda,bu yazilim için lisans
maliyeti olmadigi için dava edemez. - Patentli veritabani saticilarindan daha iyi
destek.
17Neden PostgreSQL?
- Bu, bazi ek avantajlari da beraberinde getirir
- Genis-ölçeklenebilir yayilma ile daha karli is
modelleri - Herhangi bir asamada lisansiniza itiraz edilme
olasiliginin olmamasi - Ek lisanslama maliyetleri olmadan genel
arastirmalar ve denemeler yapabilme esnekliligi.
18Neden PostgreSQL?
- PostgreSQL, güçlü destek imkanlarina ek olarak,
çalisanlarinizin katkida bulunabilecegi
profesyonellerden ve renkli kisiliklerden olusan
bir takima sahiptir. - Personel giderlerinde çok ciddi tasarruf imkani
- Yazilimimiz, diger önde gelen patentli
veritabanlarina göre daha az ayar ve bakim
gerektirme gereksinimleri için tasarlanmis ve
yaratilmistir.Bununla beraber, özelliklerinden,
kararliligindan ve basarimindan hiçbirsey
kaybetmemistir.
19Neden PostgreSQL?
- Buna ek olarak, egitim programlarimiz diger
patentli veritabani üreticilerine göre cost
effective ve pratik olarak gösterilmektedir. - Çogu patentli veritabaninin aksine, firmalar
PostgreSQL' in uzun yillar boyunca yüksek
aktiviteli islerde hiç bir zaman göçmedigini
belirtmektedirler. Bir kez bile degil. PostgreSQL
sadece çalisir. - Efsanevi güvenilirlik ve kararlilik
20Neden PostgreSQL?
- Kaynak kodu herhangi bir ücret ödenmeden
alinabilir. Eger personeliniz PostgreSQL'i
herhangi bir sekilde gelistirmek ya da
özellestirmek isterlerse bunu herhangi bir ek
ücret ödemeden minimum çaba ile yapabilirler. - Bu, PostgreSQL' in her gün dünyanin her bir
tarafindan gelen destekle büyümesini
saglamaktadir. - Çoklu platformda çalisma özelligi
21Neden PostgreSQL?
- PostgreSQL hemen tüm Unix türevi (son kararli
sürüm ile birlikte 34) üzerinde
çalisabilmektedir. - Ayni zamanda, dogal Windows uyumlulugu PostgreSQL
7.4 sürümü ile birlikte gelecektir. - Yüksek hacimli islemler için tasarlanmistir.
22Neden PostgreSQL?
- PostgreSQL' in yüksek hacimli ortamlarda
gereksinimleri karsilayabilmesi için MVCC adi
verdigimiz çoklu satir veri saklama stratejisini
kullaniyoruz. - Önde gelen patentli veritabani üreticileri de
çesitli nedenlerle bu teknolojiyi
kullanmaktadirlar.
23Neden PostgreSQL?
- Grafik tabanli veritabani tasarim ve yönetim
araçlari - Veritabanini yönetmek için
- pgAdmin
- pgAccess
- Veritabani yaratmak için
- Tora
- Çok sayida yüksek kalitede grafik arayüzlü
araçlari vardir.
24Teknik açidan PostgreSQL
- Bazi teknik özellikler açisindan, PostgreSQL
sunlari sunar - 100 ACID uyumlu
- ANSI SQL uyumlu
- Referential Integrity
- Replikasyon (ticari ve ticari olmayan çözümler)
ana veritabaninin (master) çok sayida baska
veritabanlarina (slave) çoklanmasini saglar.
25Teknik açidan PostgreSQL
- ODBC, JDBC, C, C, PHP, Perl, TCL, ECPG,
Python, and Ruby için dogal arabirimler. - Rules
- Views
- Triggers
- Sequences
- Inheritance
- Outer-Joins
26Teknik açidan PostgreSQL
- Stored Procedures
- Kod gelistiriciler isin açik API
- Dogal SSL Destegi
- UNION, UNION ALL ve EXCEPT sorgularina destek
- Dogal Kerberos Yetkilendirmesi
- Fonksiyonel ve Partial Indexler
- Procedural Diller
27Teknik açidan PostgreSQL
- MD5, SHA1, XML ve diger islevsel özelliklerin
yüklenebilmesi. - Diger SQL-uyumlu sistemlerle paylasabilmek için
tasinabilir SQL yaratan araçlar. - Özellestirilmis, kullanici-tanimli veri tipleri
için gelistirilebilir veri tipi sistemi ve hizla
gelisen yeni veri tipleri. - Daha az SQL-uyumlu RDBMS'lerden geçisi
kolaylastiran cross-database uyumluluk
fonksiyonlari
28Neden PostgreSQL?
- Birden fazla islemcide rahatlikla çalisabiliyor.
- Çok kullanicili sistemlerde daha hizli erisim
saglar. - Son derece güvenli bir altyapida çalisir (Linux
çekirdegi) - ODBC destegi ile MS ürünleri ile veri aktarimi
yapabilir. - Ticari bir veritabani olmadigi için, hizdan
ziyade güvenlige önem veriyor.
29Desteklenen Platformlar
- Linux (Kernel 2.0.X ve üzeri)
- AIX 4.3.2
- HP UX 9.0x ve 10.20
- IBM
- FreeBSD 4.X
- IRIX 6.5.6f
- MacOS-X Darwin
- NetBSD 1.4, 1.4u
- QNX 4.25
- SCO OpenServer 5
- SCO Unix Ware 7
- Solaris 2.5.1-2.7
- Sun OS 4.1.14
- WinNT/Cygwin
- BSDI 4.0.1
- BeOS 5.0.3
30PostgreSQL in mimarisi
- PostgreSQLin gücü, onun mimarisinden gelir.
Ticari veritabani sistemleri ile ortak olarak
PostgreSQL sunucu-istemci ortaminda
kullanilabilir. Bu hem kullanicilar hem de
gelistiriciler açisinda oldukça fazla yarar
saglar. - PostgreSQL kurulumunun kalbi veritabani sunucu
islemidir (process). - Postmaster olarak adlandirilir . Tek bir sunucu
üzerinde çalisabilir.
31PostgreSQL in mimarisi
- Veritabanindaki bilgilere erisebilecek programlar
sunucu tarafinda çalisir. Istemci tarafindaki
programlar, sunucu ile ayni makinede olsalar bile
veriye direk olarak erisemezler. - Istemci sunucu mimarisi, uygulamalarin ayri
ayri makinelerde çalismasina izin verir.
Istemcilerimizi sunucudan ayirmak için bir ag
kurabilir, ve istemci uygulamalarinizi
gelistirmek için kullanicilara uygun bir ortam
kullanabilirsiniz.
32PostgreSQL in mimarisi
- Istemci-sunucu mimarisi is gücünün bölünmesine
yardimci olur. Büyük miktarda veriyi tutabilecek
ve erisilebilecek sekilde düzenlenmis bir sunucu
makinesi güvenli bir veri deposu olarak
kullanilabilir. - Gelismis grafiksel uygulamalar istemciler için
gelistirilebilir. - Web tabanli uygulamalar da istemci tarafindaki
islemlerinizi görebilir.
33PostgreSQL in mimarisi
34PostgreSQL Sinirlamalari
- Tablolara eklenen veriler büyüyünce,
veritabanlarini kontrol etmek zorlasir ve
veritabanlarinin basarimi düser. Burada
PostgreSQLin bir farki yoktur. - En fazla büyüklük, disk alani ve sanal bellekle
sinirlidir. Sinira yaklasildiginda, veritabani
yavaslamaya baslar. - Sanal bellegi bile asacak bir islem
yapildiginda, PostgreSQLin basarimi fiziksel
açidan çok kötü olacaktir (ya da bir islem
olmayacaktir!). - Burada bahsedilmeyen diger sinirlamalar isletim
sistemi ya da agin veri iletme hizina baglidir.
Örnegin, ODBC ile yapilan sorgularin sürücüye
bagli olan sinirlari vardir. Hafiza ile ilgili
sinirlamalar da vardir (çok büyük bir sorgunun
sonucu gibi)
35PostgreSQL Sinirlamalari
- Sinirsiz
- 64 TB (Tüm isletim sistemlerinde)
- Sürüm 7.1 ve sonrasinda sinirsiz
- Sürüm 7.1 ve sonrasinda 1 GB
- Sinirsiz
- 1600
- Sinirsiz
- Veritabani için max büyüklük
- Bir tablo için max büyüklük
- Bir row için max büyüklük
- Bir field için max büyüklük
- Tablo içindeki max row sayisi
- Tablo içindeki max column sayisi
- Tablo içindeki max index sayisi
Burada bahsedilen sinirlamalar, fiziksel
sinirlarin haricindeki sinirlardir.
36PostgreSQL Veri Tipleri
- PostgreSQL, Users Guide ve psqldeki \dT komutu
ile de görülebilecegi gibi oldukça fazla veri
tipini destekler. - Sadece SQL standardi degil, kendine özel baska
veri tipleri de kullanir. - Serial, inet, circle, polygon...
- http//seminer.devrim.oper.metu.edu.tr/pg
adresinde bu veri tiplerini bulabilirsiniz.
37PostgreSQL Kurulumunun Anatomisi
- Uygulamalar (applications),
- Yardimci programlar (utilities)
- Veri dizinlerinden (data directories)
- Ana PostgreSQL uygulamalari (postmaster ve
postgres) istemcilerden veri erisimini saglayan
servislerin sunucu tarafindaki kodunu içerirler.
38PostgreSQL Kurulumunun Anatomisi
- Tipik bir PostgreSQL kurulumu tüm bu bilesenleri
bulundurur. - /usr/local/pgsql Kaynak Kod
- /var/lib/pgsql - rpm
39PostgreSQL Kurulumunun Anatomisi
- Ana PostgreSQL dizininin alt dizinleri de
asagidaki gibidir - Bin
- Data
- Doc
- Lib
- Man
- Share
- include
40Kurulum - I (Red Hat Linux - RPM)
- PostgreSQL tüm Red Hat sürümleri ile birlikte
gelmektedir ve Red Hat üzerinde kolayca
kurulmaktadir. - SQL Database Server
- Eger elinizde RedHatin eski sürümü ya da baska
bir Linux sürümü varsa, http//www.ca.postgresql.o
rg adresinden 7.2.3 için gereken rpm paketlerini
bulabilirsiniz.
41Kurulum - II (RedHat Linux - RPM)
- 1.Adim Dosyalar
- Postgresql Ana paket
- postgresql-libs Library dosyalari, v7.1.0 ve
sonrasini kurarken önemlidir. - postgresql-devel Development için gereken dosya
ve kitapliklar. - postgresql-jdbc PostgreSQL için Java database
connectivity - postgresql-odbc PostgreSQL için Open database
connectivity - postgresql-perl Perl için PostgreSQL arayüzü
- postgresql-python Python için PostgreSQL arayüzü
- postgresql-server Bir sunucuyu yaratmak ve
çalistirmak için gerekli programlar
42Kaynak Koddan PostgreSQL Kurulumu (Linux)
- Eger Windows, Unix kullaniyor, ya da
kullandiginiz Linix dagitiminda rpm
kullanamiyorsaniz, PostgreSQL i kaynak kodundan
kurabilirsiniz. - PostgreSQLin kaynak kodunu http//www.postgresql.
org ya da herhangi bir yansisindan
indirebilirsiniz. - Ülkemizde ftp.gazi.edu.tr adresi PostgreSQLin
resmi yansisidir.
43Kaynak Koddan PostgreSQL Kurulumu (Linux)
- Kaynak kodu derlemek için , Linux ya da Unix
sisteminizde development için gereken
uygulamalarin kurulmus olmasi gerekir. Bunlar C
derleyicisini, make uygulamasini ve veritabani
yaratmak için gereken diger uygulamalari kapsar.
Linux dagitimlari genellikle Free Software
Foundation' in development ortami için GNU
uygulamalari ile gelir. Bunlar GNU C derleyicisi
(gcc) 'yi içerir (Linux için standart
derleyicidir). GNU uygulamalari tüm UNIX
platformlari için indirilebilir, ve PostgreSQL
kurulumlari için de önerilir.
44PostgreSQLi baslatma
- PostgreSQLi RPM den kurdugunuzda kaynak koddan
kuruluma göre çogu islemi yapmaniza gerek kalmaz. - Ilk çalistirma esnasinda veritabaninin initialize
edilmesi gerekmektedir. Bu sirada ana tablo olan
template1 yaratilir, yapilandirma dosyalari ve
veri alani olusturulur.
45postgresql. conf
- Veritabani sunucusunun yapilandirma dosyasidir.
Erisim hariç tüm islemler bu dosya araciligi ile
yapilir. - tcpip_socket false
- max_connections 800 1-1024
- port 6879
- sort_mem 512
- shared_buffers 1600 min 16
- postgresql.conf içinde yapilan her degisiklikten
sonra bnu degisikliklerin geçerli olmasi için
PostgreSQLin yeniden baslatilmasi gerekir
(Sunucunuzun degil!!!)
46pg_hba.conf dosyasinin düzenlenmesi
- Varsayilan deger olarak, PostgreSQL uzaktan
erisime izin vermez. - Bu dosya veritabaninin dosya alaninda
(örnegimizde /usr/local/pgsql/data) bulunur ve
veritabanina baglanmak için uzaktan erisecek
istemcilerle ilgili izin ya da red bilgilerini
içerir.
47pg_hba.conf dosyasinin düzenlenmesi
- host all 192.168.0.0 255.255.0.0 trust
- Bu satir, IP adresi 192.168 ile baslayan herhangi
bir bilgisayarin (host) tüm veritabanlarina
(all) sifresiz olarak (trust) baglanma izni
verir.
48Veritabani güvenligi
- Güvenlik nedeni ile sunucu islemlerinini
kesinlikle root olarak yapmamalisiniz. Tüm
islemler postgres kullanicisi kullanilarak
yapilmalidir. Olasi bir sorunda, system disindan
birisi root erisimi kazanabilir.Bu nedenle,
postmaster root olarak çalistirilamayacaktir. - Güvenlik açisindan root a (ya da idsi 0 olan
baska kullanici varsa onlara) postgres izninin
verilmemesi gerekir. Varsayilan olarak root
baslangiçta postgres kullanicisi degildir ve
postmaster i baslatamaz.
49Güvenlik Veritabanina sifre koyma
- PostgreSQL veritabani sunucuna varsayilan erisim
sifresizdir. Yani sunucu üzerindeki herkes U
parametresini postgres degeri ile birlikte
geçirirse veritabanina erisim hakki kazanir. - Güvenligin 3 asamasi vardir
- Kullanicilar için sifre tanimlama
- Veritabanina erisim için sifre sorgulamasini
zorunlu hale getirme. - Tablo erisimlerini kisitlama
50Güvenlik Veritabanina sifre koyma
- Tablo erisimlerini kisitlama, standart SQL
komutlari ile yapilir (GRANT, REVOKE) - PostgreSQLde kolon bazli erisim kontrolü
mümkündür. Bunun için, erisilecek kolon(lar)
üzerinde view yaratilip izinler bu view üzerine
verilmelidir.
51Güvenlik Veritabanina sifre koyma
- Kullanicilar için sifre tanimlama pg_passwd
komutu ile yapilmaktadir. - Buradaki kullanicilarin sistemdeki gerçek
kullanici olmalarina gerek yoktur. Sanal bir
kullanici ile güvenligi arttirabilirsiniz.
Tablonun / veritabaninin tüm haklarini o
kullaniciya da verebilirsiniz.
52Güvenlik Veritabanina sifre koyma
- PostgreSQLin bu sifreyi kullanmasi için
pg_hba.conf dosyasina - host all 127.0.0.1 255.255.255.255 password
passwdf - satiri eklenmelidir. PostgreSQL restart edilirse,
-
- bash-2.04 psql pgornek -p 5455 -U lkduser
- Password
- ...
- pgornek \q
53PostgreSQL Programlama Arayüzleri
- C
- PHP
- Java
- Python
- Delphi
- Perl
- Tcl
- Tk
54PostgreSQL araçlari - psql
- Oracledaki SQLPLUS gibi PostgreSQLde psql
adinda command line araci vardir. PostgreSQL
veritabanlari genellikle bu uygulama tarafindan
yaratilir ve yönetilir. psql -
- psql seçenekler veritabani_adi
kullanici_adi - biçiminde çalisir.
55PostgreSQL araçlari - psql
- postgres_at_localhost postgres psql pgornek
- Varsayilan veritabani, kullanici adi, sunucu
makine adi ve dinlenilen port numarasi sirasiyla
PGDATABASE, PGUSER, PGHOST ve PGPORT çevre
degiskenlerinin ayarlanmasi ile
degistirilebilir. -
- Bu varsayilan degerler yine sirasiyla psqle d,
-U, -h ve p seçeneklerini geçirerek
degistirilebilir.
56PostgreSQL araçlari - psql
- psql' e PostgreSQLin destekledigi herhangi bir
SQL komutunu verebilirsiniz. Desteklenen SQL
komutlarinin listesini \h iç komutu ile
görebiliriz. Özel olarak istenen bir komut varsa
\h sql_komutu ile de yardimi alabiliriz. \? iç
bize tüm iç komut listesini verecektir.
57PostgreSQL araçlari - psql
- Iki çesit komut biçimi vardir Iç (internal)
komutlar ve SQL komutlari. Bunlarin tam
listesini http//devrim.emo.org.tr/belgeler.php - adresinde bulabilirsiniz.
58PostgreSQL araçlari - psql
- psql de komutlar birden fazla satirda
yazilabilir. Böyle zamanlarda psql promptu -gt
sekline dönüsecek ve daha fazla girisin
beklendigi belirtilecektir - postgres_at_localhost postgres /usr/local/pgsql/bin
/psql pgornek - . . .
- pgornekgt SELECT
- pgornek-gt FROM musteri
- pgornek-gt
- ...
- postgres_at_localhost postgres
59Görsel Araçlar PgAdminII
- Windows ortaminda çalisir.
- ODBC gerektirir.
- Oldukça genis bir kullanici kitlesi
bulunmaktadir. - Ücretsizdir
- http//pgadmin.PostgreSQL.org
60Görsel Araçlar PgAdminII
61Görsel Araçlar Pg Explorer
- Windows ortaminda çalisir.
- ODBC gerektirir.
- http//www.pgexplorer.com
62Görsel Araçlar phpPgAdmin
- Web arayüzlü oldugu için, çalistirildigi ortamdan
bagimsizdir. - postgres kullanicisi ile veritabaninizi
yönetebileceginiz gibi belirli bir kullanici ile
belirli bir veritabanini da yönetebilirsiniz. - Her türlü kayit ekleme, silme, degistirme
veritabani/tablo yaratma vb islemlerini SQL
bilmeden yapabilirsiniz.
63Görsel Araçlar PHPPgAdmin
- Veritabaninin içerigini bir dosyaya bosaltabilir,
daha sonra bu içerigi baska bir sunucuda da
kullanabilirsiniz. - Bunlarin disinda PostgreSQLin SQL komutlarini
çalistirabilirsiniz. - Türkçe dil destegi 2.4.2 sürümü ile gelmistir.
- http//phppgadmin.sourceforge.net adresinden
ücretsiz olarak indirilebilir.
64 - ÖNEMLI NOT PostgreSQLi
- k-e-s-i-n-l-i-k-l-e
- kill 9 ile durdurmayiniz!!!
65PostgreSQL Veritabani yaratma
- Bir PostgreSQL sunucusunda, yeni bir veritabani
yaratmanin iki yolu vardir - createdb komutu ile
- /usr/local/pgsql/bin/createdb pgornek
- CREATE DATABASE
- psql arabirimi ve SQL yardimiyla
-
- /usr/local/pgsql/bin/psql d template1
- template1gt CREATE DATABASE pgornek
- CREATE DATABASE
66PostgreSQLde tablo yaratma
- Tablo yaratma, veri girme, güncelleme, silme
gibi islemler bildik SQL komutlari ile yapilir.
Bu komutlar daha önce anlatildigi gibi psql
yardimiyla postmaster a iletilebilir.
67PostgreSQLi durdurma
- PostgreSQL sunucu islemini düzgün olarak
durdurmak önemlidir. Bu yazilmayi bekleyen
verinin veritabanina islenmesini ve shared
memoryde kullandigi kaynaklari bosaltmasina
yarar.
68Ek Bilgiler
- psql, initdb, createuser, createdb
uygulamalari hakkinda detayli bilgiyi man
sayfalarindan alabilirsiniz. Islemlerinizi
kolaylastirmak açisindan PostgreSQL
uygulamalarinin yollarini kabugunuza tanitmaniz
uygun olacaktir. Bunun için, standart UNIX/Linux
kabugunuzun baslangiç dosyasina (.profile ya da
.bashrc) asagidaki satirlari ekleyiniz -
- PATHPATH/usr/local/pgsql/bin
- MANPATHMANPATH/usr/local/pgsql/man
- export PATH MANPATH
69Ek Bilgiler
- Veritabaninda açilan her baglantiyla ilgili
bilgiler shared memory de tutulur. Dolayisiyla
shared memorynin büyük olmasi baglantilari daha
iyi yönetilmesi demektir. - buffer Tablolardan okunan rowlar önce buffera
gelir . sonra kullaniciya aktarilir tam tersi de
olur. Eger free RAM iniz varsa buffer ve shared
memory ye dagitabilirsiniz. Tablolar çok fazla
hareket görüyorsa buffer degeri yüksek
tutulmalidir. Disk I/O orani düser bu da oldukça
fazla hiz artisi saglar. Genel olarak
performansta dikkat edilmesi gereken 3 unsur
bulunmaktadir - CPU , hafiza (RAM) ve Hard Disk.
70Kaynaklar
- http//www.postgresql.org/
- http//advocacy.postgresql.org/
- http//techdocs.postgresql.org/
- http//odbc.postgresql.org/
- http//jdbc.postgresql.org/
- http//pgdemo.acucore.com
- http//postgresql.oper.metu.edu.tr (geçici)
71Kaynaklar
- http//www.pgsql.com/
- http//www.commanprompt.com
- http//foundries.sourceforge.net/databases
- http//gborg.PostgreSQL.org
- www.wrox.com - Beginning Databases with
PostgreSQL, 2001
72E-Posta Listeleri
- linux-programlama_at_linux.org.tr
- Veritabanlari için tartisma listesi
- (üye olmak için, http//liste.linux.org.tr web
arayüzünü kullanabilirsiniz.) - pgsql-tr-genel_at_postgresql.org
- (PostgreSQL Türkiye E-Posta Listesi .
PostgreSQL üzerinde her türlü konu
konusulabilmektedir.) - www.ca.PostgreSQL.org adresinden ulasabileceginiz
tüm e-posta listeleri
73POSTGRESQLVeritabani Sunucusu
- Devrim GÜNDÜZ
- devrim_at_tr.net
- TR.NET Sistem Destek Uzmani
- http//seminer.linux.org.tr
- http//www.linux.org.tr/belgeler.php
- Bu sunu, herhangi bir izne gerek olmadan
istenilen sekilde kullanilabilir. - (Kopyalama hakki en-gel-le-ne mez! ? )