Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

POSTGRESQL Veritabanı Sunucusu

Benzer bir sunumlar


... konulu sunumlar: "POSTGRESQL Veritabanı Sunucusu"— Sunum transkripti:

1 POSTGRESQL Veritabanı Sunucusu
Devrim GÜNDÜZ TR.NET Sistem Destek Uzmanı Bu sunu, herhangi bir izne gerek olmadan istenilen şekilde kullanılabilir. (Kopyalama hakkı en-gel-le-ne mez!  ) 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

2 Linux Kullanıcıları Derneği
Kuruluş INET-TR 1995 ilk kullanıcı grubu Türkiye Linux Kullanıcıları Grubu 2000 – Dernekleşme Kasım 2001 – İlk Genel Kurul Günlük hit - 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

3 Linux Kullanıcıları Derneği
E-posta listeleri Aylık 1 milyon dolayında e-posta dağıtılmaktadır. FTP sunucusu 180 GB alan ile Türkiye’nin en büyük ve hızlı Linux ve Özgür Yazılım FTP sunucusu Birçok özgür yazılımın resmi yansısı 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

4 Linux Kullanıcıları Derneği
Amaçlarımız Özgür Yazılım Felsefesini Türkiye’de tanıtıp yaygınlaştırmak ve özgür yazılımların gelişmesine katkıda bulunmak Yerelleştirme Yeni yazılımların geliştirilmesi Türkçe belgelendirme Düzenli eğitim seminerleri Dernek Üyeliği 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

5 Linux Kullanıcıları Derneği
Çalışma Grupları Değişik amaçlar için kuruldu. E-posta listeleri Web sayfaları Etkinlikleri 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

6 Linux Kullanıcıları Derneği
Desteklediğimiz Etkinlikler Akademik Bilişim Konferansı İnternet Haftası kapsamında etkinlikler Türkiye’de İnternet Konferansları Düzenlediğimiz Etkinlikler Türkiye Linux ve Özgür Yazılım Şenliği Ankara ve İstanbul’da düzenli seminerler Gezici Seminerler Piknik 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

7 Linux Kullanıcıları Derneği
LKD Seminerleri Sıradaki Seminer 14 Aralık 2002 Cumartesi MySQL Veritabanı Sunucusu Doruk FİŞEK 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

8 Linux Kullanıcıları Derneği
LKD Seminerleri Sıradaki Seminer INET-TR 2002 Türkiye’de Internet Konferansı Seminer programı ve ayrıntılı bilgi için: 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

9 Linux Kullanıcıları Derneği
LKD Seminerleri Seminer programı, seminer notları ve ayrıntılı bilgiler için; adresini ziyaret edebilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

10 Linux Kullanıcıları Derneği
GİRİŞ Bu sunuda aşağıdaki konular anlatılacaktır: PostgreSQL’ in tanıtımı Neden PostgreSQL? Teknik açıdan PostgreSQL PostgreSQL mimarisi PostgreSQL sınırlamaları PostgreSQL kurulumu PostgreSQL veritabanı araçları PostgreSQL veritabanının güvenliği Veritabanı hakkında ek bilgiler 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

11 Linux Kullanıcıları Derneği
PostgreSQL nedir? PostgreSQL, veritabanları için relational modeli kullanan ve SQL standart sorgu dilini destekleyen bir veritabanı yönetim sistemidir.  PostgreSQL aynı zamanda iyi performans veren, güvenli ve geniş özellikleri olan bir DBMS’tir. Hemen hemen tüm UNIX ya da Unix türevi (Linux, FreeBSD gibi) işletim sistemlerinde çalışır. Ayrıca NT çekirdekli tüm Windows sistemlerde de çalıştırılabilir. Tabii ki ücretsiz ve açık kodludur. Kaynak: 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

12 Linux Kullanıcıları Derneği
Kimler kullanıyor? Türkiye’deki belli başlı üniversiteler Maden Tetkik ve Arama Ens., Şeker Fabrikaları .info ve .org alan adları (www.afilias.com) Cisco BASF Red Hat Chrysler 3Com USDA, FDA, ve University of California .... 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

13 Linux Kullanıcıları Derneği
PostgreSQL’ in tarihi PostgreSQL’in geçmişi 1977’de Kaliforniya’ daki Berkeley Üniversitesinde (UCB) yapılan çalışmalara dayanır. UCB’de yılları arasında Ingres adı verilen relational veritabanı geliştirildi. Ingres kodu Relational Technologies/Ingres Corporation tarafından satın alındı ve ilk ticari relational veritabanlarından biri oldu. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

14 Linux Kullanıcıları Derneği
PostgreSQL’ in tarihi Berkeley’deki ilişkisel veritabanı sunucusu üzerindeki çalışmalar – 1994 arasında devam etti ve bu veritabanı Postgres adını aldı. Bu kod ise Illustra tarafından satın alındı ve Informix olarak geliştirilmeye başlandı. 1994’te SQL özellikleri Postgres’e eklendi ve bu veritabanı Postgres95 adını aldı. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

15 Linux Kullanıcıları Derneği
PostgreSQL’ in tarihi 1996 yılında Postgres tanınmaya başlandı ve kod geliştirmesi için e-posta listesi açılmasından sonra bir çok gönüllü Postgres’i geliştirmek için çalışmaya başladı. Bu aşamadan sonra Postgres son kez adını değiştirdi ve adındaki “95” ekinin yerine daha uygun olan SQL konmasına karar verildi. Bunun nedeni Postgres’in artık SQL standartlarını desteklemesiydi. Böylece PostgreSQL doğdu. Şu andaki sürümü 7.3’tir ve 28 Kasım’da çıkarılmıştır. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

16 Linux Kullanıcıları Derneği
Neden PostgreSQL? PostgreSQL şirketiniz ve işiniz için diğer veritabanı sistemlerinden üstün olarak aşağıdaki özellikleri sunar: PostgreSQL ile, kimse sizi lisans anlaşmalarını kırmanız durumunda,bu yazılım için lisans maliyeti olmadığı için dava edemez. Patentli veritabanı satıcılarından daha iyi destek. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

17 Linux Kullanıcıları Derneği
Neden PostgreSQL? Bu, bazı ek avantajları da beraberinde getirir: Geniş-ölçeklenebilir yayılma ile daha karlı iş modelleri Herhangi bir aşamada lisansınıza itiraz edilme olasılığının olmaması Ek lisanslama maliyetleri olmadan genel araştırmalar ve denemeler yapabilme esnekliliği. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

18 Linux Kullanıcıları Derneği
Neden PostgreSQL? PostgreSQL, güçlü destek imkanlarına ek olarak, çalışanlarınızın katkıda bulunabileceği profesyonellerden ve renkli kişiliklerden oluşan bir takıma sahiptir. Personel giderlerinde çok ciddi tasarruf imkanı Yazılımımız, diğer önde gelen patentli veritabanlarına göre daha az ayar ve bakım gerektirme gereksinimleri için tasarlanmış ve yaratılmıştır.Bununla beraber, özelliklerinden, kararlılığından ve başarımından hiçbirşey kaybetmemiştir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

19 Linux Kullanıcıları Derneği
Neden PostgreSQL? Buna ek olarak, eğitim programlarımız diğer patentli veritabanı üreticilerine göre cost effective ve pratik olarak gösterilmektedir. Çoğu patentli veritabanının aksine, firmalar PostgreSQL' in uzun yıllar boyunca yüksek aktiviteli işlerde hiç bir zaman göçmediğini belirtmektedirler. Bir kez bile değil. PostgreSQL sadece çalışır. Efsanevi güvenilirlik ve kararlılık 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

20 Linux Kullanıcıları Derneği
Neden PostgreSQL? Kaynak kodu herhangi bir ücret ödenmeden alınabilir. Eğer personeliniz PostgreSQL'i herhangi bir şekilde geliştirmek ya da özelleştirmek isterlerse bunu herhangi bir ek ücret ödemeden minimum çaba ile yapabilirler. Bu, PostgreSQL' in her gün dünyanın her bir tarafından gelen destekle büyümesini sağlamaktadır. Çoklu platformda çalışma özelliği 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

21 Linux Kullanıcıları Derneği
Neden PostgreSQL? PostgreSQL hemen tüm Unix türevi (son kararlı sürüm ile birlikte 34) üzerinde çalışabilmektedir. Aynı zamanda, doğal Windows uyumluluğu PostgreSQL 7.4 sürümü ile birlikte gelecektir. Yüksek hacimli işlemler için tasarlanmıştır. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

22 Linux Kullanıcıları Derneği
Neden PostgreSQL? PostgreSQL' in yüksek hacimli ortamlarda gereksinimleri karşılayabilmesi için MVCC adı verdiğimiz çoklu satır veri saklama stratejisini kullanıyoruz. Önde gelen patentli veritabanı üreticileri de çeşitli nedenlerle bu teknolojiyi kullanmaktadırlar. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

23 Linux Kullanıcıları Derneği
Neden PostgreSQL? Grafik tabanlı veritabanı tasarım ve yönetim araçları Veritabanını yönetmek için pgAdmin pgAccess Veritabanı yaratmak için Tora Çok sayıda yüksek kalitede grafik arayüzlü araçları vardır. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

24 Teknik açıdan PostgreSQL
Bazı teknik özellikler açısından, PostgreSQL şunları sunar: %100 ACID uyumlu ANSI SQL uyumlu Referential Integrity Replikasyon (ticari ve ticari olmayan çözümler) ana veritabanının (master) çok sayıda başka veritabanlarına (slave) çoklanmasını sağlar. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

25 Teknik açıdan PostgreSQL
ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Python, and Ruby için doğal arabirimler. Rules Views Triggers Sequences Inheritance Outer-Joins 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

26 Teknik açıdan PostgreSQL
Stored Procedures Kod geliştiriciler işin açık API Doğal SSL Desteği UNION, UNION ALL ve EXCEPT sorgularına destek Doğal Kerberos Yetkilendirmesi Fonksiyonel ve Partial Indexler Procedural Diller 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

27 Teknik açıdan PostgreSQL
MD5, SHA1, XML ve diğer işlevsel özelliklerin yüklenebilmesi. Diğer SQL-uyumlu sistemlerle paylaşabilmek için taşınabilir SQL yaratan araçlar. Özelleştirilmiş, kullanıcı-tanımlı veri tipleri için geliştirilebilir veri tipi sistemi ve hızla gelişen yeni veri tipleri. Daha az SQL-uyumlu RDBMS'lerden geçişi kolaylaştıran cross-database uyumluluk fonksiyonları 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

28 Linux Kullanıcıları Derneği
Neden PostgreSQL? Birden fazla işlemcide rahatlıkla çalışabiliyor. Çok kullanıcılı sistemlerde daha hızlı erişim sağlar. Son derece güvenli bir altyapıda çalışır (Linux çekirdeği) ODBC desteği ile MS ürünleri ile veri aktarımı yapabilir. Ticari bir veritabanı olmadığı için, hızdan ziyade güvenliğe önem veriyor. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

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 Sun OS WinNT/Cygwin BSDI 4.0.1 BeOS 5.0.3 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

30 PostgreSQL’ in mimarisi
PostgreSQL’in gücü, onun mimarisinden gelir. Ticari veritabanı sistemleri ile ortak olarak PostgreSQL sunucu-istemci ortamında kullanılabilir. Bu hem kullanıcılar hem de geliştiriciler açısında oldukça fazla yarar sağlar. PostgreSQL kurulumunun kalbi veritabanı sunucu işlemidir (process). Postmaster olarak adlandırılır . Tek bir sunucu üzerinde çalışabilir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

31 PostgreSQL’ in mimarisi
Veritabanındaki bilgilere erişebilecek programlar sunucu tarafında çalışır. İstemci tarafındaki programlar, sunucu ile aynı makinede olsalar bile veriye direk olarak erişemezler. İstemci – sunucu mimarisi, uygulamaların ayrı ayrı makinelerde çalışmasına izin verir. İstemcilerimizi sunucudan ayırmak için bir ağ kurabilir, ve istemci uygulamalarınızı geliştirmek için kullanıcılara uygun bir ortam kullanabilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

32 PostgreSQL’ in mimarisi
İstemci-sunucu mimarisi iş gücünün bölünmesine yardımcı olur. Büyük miktarda veriyi tutabilecek ve erişilebilecek şekilde düzenlenmiş bir sunucu makinesi güvenli bir veri deposu olarak kullanılabilir. Gelişmiş grafiksel uygulamalar istemciler için geliştirilebilir. Web tabanlı uygulamalar da istemci tarafındaki işlemlerinizi görebilir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

33 PostgreSQL’ in mimarisi
30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

34 PostgreSQL Sınırlamaları
Tablolara eklenen veriler büyüyünce, veritabanlarını kontrol etmek zorlaşır ve veritabanlarının başarımı düşer. Burada PostgreSQL’in bir farkı yoktur. En fazla büyüklük, disk alanı ve sanal bellekle sınırlıdır. Sınıra yaklaşıldığında, veritabanı yavaşlamaya başlar. Sanal belleği bile aşacak bir işlem yapıldığında, PostgreSQL’in başarımı fiziksel açıdan çok kötü olacaktır (ya da bir işlem olmayacaktır!). Burada bahsedilmeyen diğer sınırlamalar işletim sistemi ya da ağın veri iletme hızına bağlıdır. Örneğin, ODBC ile yapılan sorguların sürücüye bağlı olan sınırları vardır. Hafıza ile ilgili sınırlamalar da vardır (çok büyük bir sorgunun sonucu gibi) 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

35 PostgreSQL Sınırlamaları
Veritabanı 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 sayısı: Tablo içindeki max column sayısı: Tablo içindeki max index sayısı: Sınırsız 64 TB (Tüm işletim sistemlerinde) Sürüm 7.1 ve sonrasında sınırsız Sürüm 7.1 ve sonrasında 1 GB 1600 Burada bahsedilen sınırlamalar, fiziksel sınırların haricindeki sınırlardır. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

36 PostgreSQL Veri Tipleri
PostgreSQL, Users’ Guide ve psql’deki \dT komutu ile de görülebileceği gibi oldukça fazla veri tipini destekler. Sadece SQL standardı değil, kendine özel başka veri tipleri de kullanır. Serial, inet, circle, polygon... adresinde bu veri tiplerini bulabilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

37 PostgreSQL Kurulumunun Anatomisi
Uygulamalar (applications), Yardımcı programlar (utilities) Veri dizinlerinden (data directories) Ana PostgreSQL uygulamaları (postmaster ve postgres) istemcilerden veri erişimini sağlayan servislerin sunucu tarafındaki kodunu içerirler. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

38 PostgreSQL Kurulumunun Anatomisi
Tipik bir PostgreSQL kurulumu tüm bu bileşenleri bulundurur. /usr/local/pgsql – Kaynak Kod /var/lib/pgsql - rpm 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

39 PostgreSQL Kurulumunun Anatomisi
Ana PostgreSQL dizininin alt dizinleri de aşağıdaki gibidir: Bin Data Doc Lib Man Share include 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

40 Kurulum - I (Red Hat Linux - RPM)
PostgreSQL tüm Red Hat sürümleri ile birlikte gelmektedir ve Red Hat üzerinde kolayca kurulmaktadır. “SQL Database Server” Eğer elinizde RedHat’ın eski sürümü ya da başka bir Linux sürümü varsa, adresinden için gereken rpm paketlerini bulabilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

41 Kurulum - II (RedHat Linux - RPM)
1.Adım : Dosyalar Postgresql Ana paket postgresql-libs Library dosyaları, v7.1.0 ve sonrasını kurarken önemlidir. postgresql-devel Development için gereken dosya ve kitaplıklar. 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 çalıştırmak için gerekli programlar 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

42 Kaynak Koddan PostgreSQL Kurulumu (Linux)
Eğer Windows, Unix kullanıyor, ya da kullandığınız Linıx dağıtımında rpm kullanamıyorsanız, PostgreSQL’ i kaynak kodundan kurabilirsiniz. PostgreSQL’in kaynak kodunu ya da herhangi bir yansısından indirebilirsiniz. Ülkemizde ftp.gazi.edu.tr adresi PostgreSQL’in resmi yansısıdır. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

43 Kaynak Koddan PostgreSQL Kurulumu (Linux)
Kaynak kodu derlemek için , Linux ya da Unix sisteminizde development için gereken uygulamaların kurulmuş olması gerekir. Bunlar C derleyicisini, make uygulamasını ve veritabanı yaratmak için gereken diğer uygulamaları kapsar. Linux dağıtımları genellikle Free Software Foundation' ın development ortamı için GNU uygulamaları ile gelir. Bunlar GNU C derleyicisi (gcc) 'yi içerir (Linux için standart derleyicidir). GNU uygulamaları tüm UNIX platformları için indirilebilir, ve PostgreSQL kurulumları için de önerilir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

44 PostgreSQL’i başlatma
PostgreSQL’i RPM den kurduğunuzda kaynak koddan kuruluma göre çoğu işlemi yapmanıza gerek kalmaz. İlk çalıştırma esnasında veritabanının initialize edilmesi gerekmektedir. Bu sırada ana tablo olan template1 yaratılır, yapılandırma dosyaları ve veri alanı oluşturulur. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

45 Linux Kullanıcıları Derneği
postgresql. conf Veritabanı sunucusunun yapılandırma dosyasıdır. Erişim hariç tüm işlemler bu dosya aracılığı ile yapılır. tcpip_socket = false max_connections = 800 # port = 6879 sort_mem = 512 shared_buffers = 1600 # min 16 postgresql.conf içinde yapılan her değişiklikten sonra bnu değişikliklerin geçerli olması için PostgreSQL’in yeniden başlatılması gerekir (Sunucunuzun değil!!!) 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

46 pg_hba.conf dosyasının düzenlenmesi
Varsayılan değer olarak, PostgreSQL uzaktan erişime izin vermez. Bu dosya veritabanının dosya alanında (örneğimizde /usr/local/pgsql/data) bulunur ve veritabanına bağlanmak için uzaktan erişecek istemcilerle ilgili izin ya da red bilgilerini içerir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

47 pg_hba.conf dosyasının düzenlenmesi
host all trust Bu satır, IP adresi ile başlayan herhangi bir bilgisayarın (host) tüm veritabanlarına (all) şifresiz olarak (trust) bağlanma izni verir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

48 Linux Kullanıcıları Derneği
Veritabanı güvenliği Güvenlik nedeni ile sunucu işlemlerinini kesinlikle root olarak yapmamalısınız. Tüm işlemler postgres kullanıcısı kullanılarak yapılmalıdır. Olası bir sorunda, system dışından birisi root erişimi kazanabilir.Bu nedenle, postmaster root olarak çalıştırılamayacaktır. Güvenlik açısından root a (ya da id’si 0 olan başka kullanıcı varsa onlara) postgres izninin verilmemesi gerekir. Varsayılan olarak root başlangıçta postgres kullanıcısı değildir ve postmaster i başlatamaz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

49 Güvenlik: Veritabanına şifre koyma
PostgreSQL veritabanı sunucuna varsayılan erişim şifresizdir. Yani sunucu üzerindeki herkes –U parametresini postgres değeri ile birlikte geçirirse veritabanına erişim hakkı kazanır. Güvenliğin 3 aşaması vardır: Kullanıcılar için şifre tanımlama Veritabanına erişim için şifre sorgulamasını zorunlu hale getirme. Tablo erişimlerini kısıtlama 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

50 Güvenlik: Veritabanına şifre koyma
Tablo erişimlerini kısıtlama, standart SQL komutları ile yapılır (GRANT, REVOKE) PostgreSQL’de kolon bazlı erişim kontrolü mümkündür. Bunun için, erişilecek kolon(lar) üzerinde view yaratılıp izinler bu view üzerine verilmelidir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

51 Güvenlik: Veritabanına şifre koyma
Kullanıcılar için şifre tanımlama pg_passwd komutu ile yapılmaktadır. Buradaki kullanıcıların sistemdeki gerçek kullanıcı olmalarına gerek yoktur. Sanal bir kullanıcı ile güvenliği arttırabilirsiniz. Tablonun / veritabanının tüm haklarını o kullanıcıya da verebilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

52 Güvenlik: Veritabanına şifre koyma
PostgreSQL’in bu şifreyi kullanması için pg_hba.conf dosyasına host all password passwdf satırı eklenmelidir. PostgreSQL restart edilirse, bash-2.04$ psql pgornek -p U lkduser Password: ... pgornek=# \q 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

53 PostgreSQL Programlama Arayüzleri
C PHP Java Python Delphi Perl Tcl Tk 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

54 PostgreSQL araçları - psql
Oracle’daki SQL*PLUS gibi PostgreSQL’de psql adında command line aracı vardır. PostgreSQL veritabanları genellikle bu uygulama tarafından yaratılır ve yönetilir. psql : psql [seçenekler] [veritabanı_adı [kullanıcı_adı]]  biçiminde çalışır. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

55 PostgreSQL araçları - psql
postgres] psql pgornek Varsayılan veritabanı, kullanıcı adı, sunucu makine adı ve dinlenilen port numarası sırasıyla PGDATABASE, PGUSER, PGHOST ve PGPORT çevre değişkenlerinin ayarlanması ile değiştirilebilir. Bu varsayılan değerler yine sırasıyla psql’e –d, -U, -h ve –p seçeneklerini geçirerek değiştirilebilir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

56 PostgreSQL araçları - psql
psql' e PostgreSQL’in desteklediği herhangi bir SQL komutunu verebilirsiniz. Desteklenen SQL komutlarının listesini \h iç komutu ile görebiliriz. Özel olarak istenen bir komut varsa \h sql_komutu ile de yardımı alabiliriz. \? iç bize tüm iç komut listesini verecektir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

57 PostgreSQL araçları - psql
İki çeşit komut biçimi vardır: İç (internal) komutlar ve SQL komutları. Bunların tam listesini adresinde bulabilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

58 PostgreSQL araçları - psql
psql de komutlar birden fazla satırda yazılabilir. Böyle zamanlarda psql promptu ‑> şekline dönüşecek ve daha fazla girişin beklendiği belirtilecektir: postgres] /usr/local/pgsql/bin/psql pgornek . . . pgornek=> SELECT * pgornek-> FROM musteri pgornek->; ... postgres] 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

59 Görsel Araçlar – PgAdminII
Windows ortamında çalışır. ODBC gerektirir. Oldukça geniş bir kullanıcı kitlesi bulunmaktadır. Ücretsizdir 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

60 Görsel Araçlar – PgAdminII
30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

61 Görsel Araçlar – Pg Explorer
Windows ortamında çalışır. ODBC gerektirir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

62 Görsel Araçlar – phpPgAdmin
Web arayüzlü olduğu için, çalıştırıldığı ortamdan bağımsızdır. postgres kullanıcısı ile veritabanınızı yönetebileceğiniz gibi belirli bir kullanıcı ile belirli bir veritabanını da yönetebilirsiniz. Her türlü kayıt ekleme, silme, değiştirme; veritabanı/tablo yaratma vb işlemlerini SQL bilmeden yapabilirsiniz. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

63 Görsel Araçlar – PHPPgAdmin
Veritabanının içeriğini bir dosyaya boşaltabilir, daha sonra bu içeriği başka bir sunucuda da kullanabilirsiniz. Bunların dışında PostgreSQL’in SQL komutlarını çalıştırabilirsiniz. Türkçe dil desteği sürümü ile gelmiştir. adresinden ücretsiz olarak indirilebilir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

64 ÖNEMLİ NOT : PostgreSQL’i k-e-s-i-n-l-i-k-l-e
“kill –9” ile durdurmayınız!!! 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

65 PostgreSQL Veritabanı yaratma
Bir PostgreSQL sunucusunda, yeni bir veritabanı yaratmanın iki yolu vardır: createdb komutu ile $ /usr/local/pgsql/bin/createdb pgornek CREATE DATABASE psql arabirimi ve SQL yardımıyla: $ /usr/local/pgsql/bin/psql –d template1 template1=> CREATE DATABASE pgornek; 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

66 PostgreSQL’de tablo yaratma
Tablo yaratma, veri girme, güncelleme, silme gibi işlemler bildik SQL komutları ile yapılır. Bu komutlar daha önce anlatıldığı gibi psql yardımıyla postmaster a iletilebilir. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

67 PostgreSQL’i durdurma
PostgreSQL sunucu işlemini düzgün olarak durdurmak önemlidir. Bu yazılmayı bekleyen verinin veritabanına işlenmesini ve shared memory’de kullandığı kaynakları boşaltmasına yarar. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

68 Linux Kullanıcıları Derneği
Ek Bilgiler psql, initdb, createuser, createdb uygulamaları hakkında detaylı bilgiyi man sayfalarından alabilirsiniz. İşlemlerinizi kolaylaştırmak açısından PostgreSQL uygulamalarının yollarını kabuğunuza tanıtmanız uygun olacaktır. Bunun için, standart UNIX/Linux kabuğunuzun başlangıç dosyasına (.profile ya da .bashrc) aşağıdaki satırları ekleyiniz: PATH=$PATH:/usr/local/pgsql/bin MANPATH=$MANPATH:/usr/local/pgsql/man export PATH MANPATH 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

69 Linux Kullanıcıları Derneği
Ek Bilgiler Veritabanında açılan her bağlantıyla ilgili bilgiler shared memory de tutulur. Dolayısıyla shared memory’nin büyük olması bağlantıları daha iyi yönetilmesi demektir. buffer : Tablolardan okunan rowlar önce buffera gelir . sonra kullanıcıya aktarılır; tam tersi de olur. Eğer free RAM iniz varsa buffer ve shared memory ye dağıtabilirsiniz. Tablolar çok fazla hareket görüyorsa buffer değeri yüksek tutulmalıdır. Disk I/O oranı düşer; bu da oldukça fazla hız artışı sağlar. Genel olarak performansta dikkat edilmesi gereken 3 unsur bulunmaktadır: CPU , hafıza (RAM) ve Hard Disk. 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

70 Linux Kullanıcıları Derneği
Kaynaklar (geçici) 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

71 Linux Kullanıcıları Derneği
Kaynaklar - Beginning Databases with PostgreSQL, 2001 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

72 Linux Kullanıcıları Derneği
E-Posta Listeleri Veritabanları için tartışma listesi (üye olmak için, web arayüzünü kullanabilirsiniz.) (PostgreSQL Türkiye E-Posta Listesi . PostgreSQL üzerinde her türlü konu konuşulabilmektedir.) adresinden ulaşabileceğiniz tüm e-posta listeleri 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri

73 POSTGRESQL Veritabanı Sunucusu
Devrim GÜNDÜZ TR.NET Sistem Destek Uzmanı Bu sunu, herhangi bir izne gerek olmadan istenilen şekilde kullanılabilir. (Kopyalama hakkı en-gel-le-ne mez!  ) 30 Kasım 2002 Istanbul Linux Kullanıcıları Derneği Düzenli Seminerleri


"POSTGRESQL Veritabanı Sunucusu" indir ppt

Benzer bir sunumlar


Google Reklamları