PostgreSQL nedir?
PostgreSQL, SQL dilini kullanan, açık kaynaklı ve nesne-ilişkisel bir veritabanı yönetim sistemidir. Verileri tablolarda saklar, ACID işlem garantileri sunar ve eşzamanlı birçok bağlantıyı tutarlı biçimde işler. Web uygulamalarının, analitik işlerin ve servislerin arka plandaki kalıcı veri deposu olarak yaygın kullanılır.
Sistem, JSON verisi, tam metin arama, indeks çeşitleri ve eklenti mekanizması gibi gelişmiş özellikleri çekirdeğinde ya da eklentiler yoluyla sunar. Bu yüzden yalnızca basit tablo deposu değil, esnek bir veri platformu olarak görülür.
Nasıl çalışır?
PostgreSQL, istemci-sunucu modelinde çalışır. Her istemci bağlantısı için ayrı bir sunucu süreci başlatılır; veriler diskteki dosyalara yazılmadan önce yazma-önü günlüğüne (WAL) kaydedilir. Böylece beklenmedik bir kapanışta veritabanı tutarlı duruma geri getirilebilir.
Eşzamanlılık için MVCC adı verilen yöntem kullanılır: okuyanlar yazanları, yazanlar okuyanları genellikle beklemez. Eski satır sürümlerini temizleme işi ise vacuum mekanizmasına aittir. Replikasyon da WAL kayıtlarının yedek sunuculara aktarılmasına dayanır.
Sunucu ve hosting ortamında
Linux sunucularda PostgreSQL genellikle dağıtımın paket yöneticisiyle kurulur ve systemd servisi olarak çalışır. Varsayılan olarak yerel bağlantı dinler; uzaktan erişim için postgresql.conf içindeki listen_addresses ve pg_hba.conf içindeki kimlik doğrulama kuralları düzenlenir. Paylaşımlı hostingte MariaDB/MySQL daha sık görülür, PostgreSQL ise çoğunlukla VPS ve özel sunucularda tercih edilir.