PostgreSQL, güçlü özellikler ve avantajlara sahip, açık kaynaklı ve tamamen ücretsiz nesne ilişkisel veri tabanı sistemidir. SQL dilinin güvenlik, depolanabilirlik ve ölçeklendirilebilme özelliklerinden faydalanan PostgreSQL, birçok alanda veri tabanı yöneticisi olarak da kullanılmaktadır. PostgreSQL’in doğuşunun hikayesi 1986 yılına dek eskiye dayanıyor. Berkley’deki Kaliforniya Üniversitesi’nde POSTGRES projesinin bir parçası olarak doğan PostgreSQL’in çekirdek platformunu, gelişimi yaklaşık 30 yıldır sürdürmektedir. Önceleri DARPA’nın (Defense Advanced Research Projects Agency) sponsorluğunda geliştirilen projeye sonradan ARO (Army Research Office), NSF (National Science Foundation) ve ESL gibi çeşitli kuruluşlar sponsorluk yapmıştır.
Birkaç önemli major sürümün ardından PostgreSQL’e tanınan resmi destek Versiyon 4.2 sürümünün çıkarıldığı 1993 yılında sona ermiştir. 1994 yılından sonra Postgres95 olarak açık kaynaklı ve POSTGRES kodundan derlenen bir orijinal sürümü yayınlanmıştır. Veri tabanı açısından en önemli değişiklik ise PostQUEL’in SQL’e geçiş yaptığı 1996 sürümünde meydana gelmiştir. PostQUEL’den sıyrılınca ismin de değiştirmesi gerektiği düşünülmüş ve bu veri tabanı sistemi şu anki adı olan “PostgreSQL” adıyla revize edilmiştir. PostgreSQL bugün, kullanıcılara sunduğu başarılı veri mimarisi, doğruluğu, sağlam özellik seti, esneklik ve açık kaynak avantajıyla sektörde en çok kabul gören veri tabanı yönetim sistemlerinden biridir. UNIX ve UNIX türevi sistemler başta olmak üzere PostgreSQL; Linux, MacOS ve Windows gibi birçok majör işletim sistemi tarafından desteklenmektedir.
Açık kaynaklı olarak yayınına devam edilen PostgreSQL, 1996 yılından bu yana bağımsız şekilde ve sadece gönüllülerin çabalarıyla geliştirilmektedir. Bağış toplama gibi bazı gelir kaynakları olan PostgreSQL hiçbir kurum, kuruluş veya şirketi bağlı olarak geliştirilmiyor. Bu da, PostgreSQL’i gerçek özgür yazılım felsefesinin en önemli ürünlerinden biri haline getiriyor.
PostgreSQL ne işe yarar?
PostgreSQL, geliştiricilerin ve proje yöneticilerinin büyük küçük fark etmeksizin yazılımlar geliştirirken kullandıkları verileri yönetmesine ve hata payı olmaksızın depolamasına yardımcı olur. Ücretsiz ve açık kaynaklı olması nedeniyle PostgreSQL birçok veri tabanı sisteminin aksine tamamen uyarlanabilir yapıdadır. Örneğin kendi veri tiplerinizi belirlemek isterseniz, özel fonksiyonlar oluşturup, veri tabanını tekrar derlemenize gerek kalmadan kullanabilirsiniz.
PostgreSQL, SQL standartlarında olduğundan kararlı bir mimari ve yüksek performans sunmayı hedefler. SQL’in birçok öne çıkan özelliğini desteklemesine rağmen bazı syntax fonksiyonlarında ufak farklılık mevcuttur. 2017 Yılında yayınlanan PostgreSQL 10 sürümüyle birlikte PostgreSQL, SQL’in 179 önemli özelliğinin 160’ını sunmaktadır. Tüm dünyada en çok kullanılan veri tabanı sistemlerini derecelendiren DB-Engines’in 2018 Mayıs sıralamasına göre; Oracle, MySQL ve Microsoft SQL Server’dan sonra PostgreSQL dünyada en çok tercih edilen veri tabanı sistemlerinden biridir.
Syntax Nedir? Syntax Error ve Syntax Highlighter
Syntax, yazılan herhangi bir sözün sırasıyla ilgilenen bilim dalıdır. Nasıl ki Türkçe'de cümlelerin ögelerinin diziliminin bir sırası söz konusuysa diğer diller için de (programlama dilleri) aynı şey söz konusudur. Bilgisayar içe...
PostgreSQL Özellikleri
PostgreSQL’i veri tabanı mimarisine ihtiyaç duyduğunuz birçok alanda kullanabilirsiniz. Birçok majör işletim sistemi tarafından desteklenmesi nedeniyle PostgreSQL’i: Windows, macOS, Solaris, SuSE ve OpenSuSE, Ubuntu Linux ve varyantlarında, Debian GNU/Linux ve varyantlarında, Red Hat Linux ailesinde (CentOS/Fedora/Scientific/Oracle ve varyantlarında), diğer Linux dağıtımlarında, OpenBSD ve FreeBSD üzerinde kullanabilirsiniz. Aynı zamanda birçok programlama dili tarafından desteklenen PostgreSQL: C (libpq), Embedded C (ecpg), Python (PyGreSQL), Java (jdbc) ve TCL (libpgtcl) ile kullanabilirsiniz.
PostgreSQL’i rakipleri karşısında en güçlü kılan özelliği transaction, subselect, trigger, view, foreign key referential integrity ve sophisticated locking gibi (user-defined types), rules, inheritance ve lock cakışmalarını düşürmek için multi-version uyumluluk özelliklerine sahip olmasıdır. Performans açısından ise PostgreSQL diğer ticari veya açık kaynak kodlu veri tabanlarıyla kıyaslandığında başarılı metrik elde etmektedir. Kimi veri tabanı sistemleri karşısında bazı açılardan hızlıyken bazı açıdan ise yavaştır.
PostgreSQL, MySQL ve aynı klasmandaki veri tabanlarıyla kıyaslandığında INSERT/UPDATE işlemlerinde, transaction bazlı çalıştığından ötürü daha yavaştır. Fakat yukarıda belirtmiş olduğumuz özelliklerin bir çoğu MySQL ve klasmanındaki veri tabanlarında bulunmamaktadır. Bazı açılardan PostgreSQL, MySQL ve klasmanındaki veri tabanlarının gerisinde kalmasına rağmen özellikler, güvenilirlik ve esneklik adına kayda değer avantajlara sahiptir.
PostgreSQL’in güvenlik anlamında da birçok başarılı yönü var. PostgreSQL bu bağlamda veri tabanının hızlı olmasından ziyade güvenilir olması üzerine eğiliyor. Kararlı çalışan sürümler çıkarılmadan önce en az 1 aylık beta sürüm testleri gerçekleştiriliyor ve olabildiğince hatasız kodlar PostgreSQL kullanıcılarına servis ediliyor.
PostgreSQL’in tüm öne çıkan özellikleri bir yana, bu servis açık kaynağa gönül veren geliştiriciler tarafından tamemen ücretsiz olarak sunuluyor. Ticari olsun veya olmasın, her kullanım amacına ücretsiz hizmet eden PostgreSQL, BSD lisansı sınırlamaları haricinde kullanıcılarına hiçbir kısıtlama getirmiyor. Tamamı gönüllülerden oluşan bir dünyanın ürünü olması nedeniyle PostgreSQL ile ilgili yaşadığınız olası sorunlara yanıt bulmak, en az ticari veri tabanı sistemlerinde olduğu kadar işleri kolaylaştırıyor. Geliştirici grupları, yardım panoları ve e-posta listesi sayesinde PostgreSQL konusunda yardıma ihtiyaç duyan herkes aradıklarının cevabına minimum çabayla erişebiliyor.
PostgreSQL’de bir satır, tablo ve veritabanı için en fazla büyüklük
Veritabanı için maksimum büyüklük nedir?
Sınırsız (32 TB'lık veritabanı bulunmaktadır)
Bir tablo için maksimum büyüklük nedir?
32 TB
Bir satır için maksimum büyüklük nedir?
1.6 TB
Bir alan için maksimum büyüklük nedir?
1 GB
Tabloda en fazla satır sayısı kaçtır?
Sınırsız
Bir tabloda olabilecek en fazla kolon sayısı kaçtır?
Kolon tiplerine bağlı olarak 250-1600
Bir tabloda olabilecek en fazla index sayısı kaçtır?
Sınırsız
PostgreSQL Avantajları
- Açık kaynak kodlu: Açık kaynaklı veri tabanı yönetimi sistemleri arasında yalnızca PostgreSQL kurumsal sınıfta açık kaynaklı destek sunmaktadır. Ayrıca tümüyle açık kaynaklı olması sayesinde kullanıcılar geniş topluluklar yardımıyla sorunlarına çözüme kavuşturabilir, hata bildirimlerinde bulunabilirler.
- Topluluk tabanlı: PostgreSQL, herhangi bir şirkete bağlı değildir ve tüm geliştiricilere açık bir platformdur. İhtiyacı olan herkes PostgreSQL’i kendine göre özelleştirerek ihtiyaçlarına yanıt verecek şekle getirip kullanabilir. Global çapta birçok kullanıcının PostgreSQL’i kullanması, ihtiyacınız olan modül ve diğer araçlar için de kolaylık sağlamaktadır. Üstelik tamamen ücretsiz olarak…
- Fonksiyonlar: Store Procedure olarak adlandırılan SQL fonksiyonları sayesinde hemen tüm sunucu ortamlarında kullanılabilir. PL/SQL ve Oracle’da olduğu gibi PL/pgSQL, PL/Python, PL/Perl, C/C++, and PL/R desteği sayesinde birçok dil ile birlikte kullanılabilir.
- ACID ve Transaction desteği: PostgreSQL ACID’i (Atomicity, Consistency, Isolation, Durability) desteklemektedir.
- Farklı indeksleme teknikleri: PostgreSQL sadece B+ tren indeksinin yanı sıra GIN (Generalized Inverted Index) ve GiST (Generalized Search Tree) vb. indeksleme tekniklerini de sunmaktadır.
- Esnek tam-metin arama özelliği: Tam metin arama özelliği vektör işlemi ve dizi araması yürüten dizeleri ararken kullanılabilmektedir.
- Çoğaltma çeşitleri: PostgreSQL, Streaming Replication, Slony-I ve cascading gibi çeşitli çoğaltma yöntemlerini destekler.
- Çeşitlendirilmiş genişletme fonksiyonları: PostgreSQL, PostGIS, Anahtar Değer Mağazası ve DBLink gibi coğrafi veri depolama için farklı türdeki teknikleri desteklemektedir.