30 Kasim 2002 - PowerPoint PPT Presentation

About This Presentation
Title:

30 Kasim 2002

Description:

POSTGRESQL Veritaban Sunucusu Devrim G ND Z devrim_at_tr.net TR.NET Sistem Destek Uzman http://seminer.linux.org.tr http://www.linux.org.tr/belgeler.php – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 74
Provided by: Devr153
Learn more at: https://www.gunduz.org
Category:
Tags: kasim | postmaster

less

Transcript and Presenter's Notes

Title: 30 Kasim 2002


1
POSTGRESQLVeritabani 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! ? )

2
Linux 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

3
Linux 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

4
Linux 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 ?

6
Linux 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

7
LKD Seminerleri
  • Siradaki Seminer
  • 14 Aralik 2002 Cumartesi
  • MySQL Veritabani Sunucusu
  • Doruk FISEK
  • dfisek_at_fisek.com.tr

8
LKD 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

9
LKD Seminerleri
  • Seminer programi, seminer notlari ve ayrintili
    bilgiler için
  • http//seminer.linux.org.tr
  • adresini ziyaret edebilirsiniz.

10
GIRIS
  • Bu sunuda asagidaki konular anlatilacaktir
  1. PostgreSQL in tanitimi
  2. Neden PostgreSQL?
  3. Teknik açidan PostgreSQL
  4. PostgreSQL mimarisi
  5. PostgreSQL sinirlamalari
  6. PostgreSQL kurulumu
  7. PostgreSQL veritabani araçlari
  8. PostgreSQL veritabaninin güvenligi
  9. Veritabani hakkinda ek bilgiler

11
PostgreSQL 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

12
Kimler 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
  • ....

13
PostgreSQL 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.

14
PostgreSQL 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.

15
PostgreSQL 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.

16
Neden 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.

17
Neden 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.

18
Neden 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.

19
Neden 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

20
Neden 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

21
Neden 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.

22
Neden 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.

23
Neden 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.

24
Teknik 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.

25
Teknik 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

26
Teknik 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

27
Teknik 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

28
Neden 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.

29
Desteklenen 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

30
PostgreSQL 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.

31
PostgreSQL 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.

32
PostgreSQL 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.

33
PostgreSQL in mimarisi

34
PostgreSQL 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)

35
PostgreSQL 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.
36
PostgreSQL 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.

37
PostgreSQL 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.

38
PostgreSQL Kurulumunun Anatomisi
  • Tipik bir PostgreSQL kurulumu tüm bu bilesenleri
    bulundurur.
  • /usr/local/pgsql Kaynak Kod
  • /var/lib/pgsql - rpm

39
PostgreSQL Kurulumunun Anatomisi
  • Ana PostgreSQL dizininin alt dizinleri de
    asagidaki gibidir
  • Bin
  • Data
  • Doc
  • Lib
  • Man
  • Share
  • include

40
Kurulum - 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.

41
Kurulum - 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

42
Kaynak 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.

43
Kaynak 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.

44
PostgreSQLi 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.

45
postgresql. 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!!!)

46
pg_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.

47
pg_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.

48
Veritabani 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.

49
Gü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

50
Gü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.

51
Gü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.

52
Gü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

53
PostgreSQL Programlama Arayüzleri
  • C
  • PHP
  • Java
  • Python
  • Delphi
  • Perl
  • Tcl
  • Tk

54
PostgreSQL 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.

55
PostgreSQL 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.

56
PostgreSQL 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.

57
PostgreSQL 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.

58
PostgreSQL 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

59
Görsel Araçlar PgAdminII
  • Windows ortaminda çalisir.
  • ODBC gerektirir.
  • Oldukça genis bir kullanici kitlesi
    bulunmaktadir.
  • Ücretsizdir
  • http//pgadmin.PostgreSQL.org

60
Görsel Araçlar PgAdminII
61
Görsel Araçlar Pg Explorer
  • Windows ortaminda çalisir.
  • ODBC gerektirir.
  • http//www.pgexplorer.com

62
Gö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.

63
Gö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!!!

65
PostgreSQL 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

66
PostgreSQLde 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.

67
PostgreSQLi durdurma
  • PostgreSQL sunucu islemini düzgün olarak
    durdurmak önemlidir. Bu yazilmayi bekleyen
    verinin veritabanina islenmesini ve shared
    memoryde kullandigi kaynaklari bosaltmasina
    yarar.

68
Ek 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

69
Ek 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.

70
Kaynaklar
  • 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)

71
Kaynaklar
  • 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

72
E-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

73
POSTGRESQLVeritabani 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! ? )
Write a Comment
User Comments (0)
About PowerShow.com