PostgreSQL

Sağlayan: PostgreSQL

VeritabanıİlişkiselGelişmiş
Oluştur: PostgreSQL

Saniyeler içinde Cloud Sunucunuza kurulur.

PostgreSQL, dünyanın en gelişmiş ve özellik açısından en zengin açık kaynaklı nesne-ilişkisel (object-relational) veritabanı sistemidir. Devasa veri kümelerini, karmaşık sorguları ve ileri düzey coğrafi (PostGIS) işlemleri kusursuz yönetir.

Öne Çıkan Özellikler ve Avantajlar

  • Gelişmiş Veri Tipleri (JSONB, Array, XML): Sadece standart tablolar değil, schemaless (NoSQL) yapılar için JSONB, metin aramaları için Full-Text Search ve coğrafi veriler için dünyaca ünlü PostGIS uzantılarını yerleşik olarak destekler.
  • Eşzamanlılık Kontrolü (MVCC): Çok Sürümlü Eşzamanlılık Kontrolü (MVCC) sayesinde, bir kullanıcı tabloya veri yazarken diğer kullanıcılar okuma yapmaya devam eder; okuyanlar yazanları, yazanlar okuyanları asla engellemez.
  • Kusursuz Veri Bütünlüğü: Katı asit (ACID) uyumluluğu, gelişmiş kısıtlamalar (constraints) ve tetikleyiciler (triggers) sayesinde veritabanınıza asla hatalı veya mantıksız bir verinin yazılmasına izin vermez.
  • Paralel Sorgu İşleme: Çok karmaşık bir raporlama sorgusu (Örn: Milyonlarca satırlık SUM/JOIN) çalıştırdığınızda PostgreSQL sunucudaki tüm CPU çekirdeklerini aynı anda kullanarak sorgu süresini dramatik şekilde düşürür.

Neden MySQL Yerine PostgreSQL Kullanmalısınız?

Basit bir blog veya küçük bir web sitesi için MySQL mükemmeldir. Ancak uygulamanızda finansal işlemler, karmaşık raporlar (BI), harita/lokasyon (GPS) verileri işlenecekse veya JSON formatında değişken veriler tutacaksanız PostgreSQL rakipsizdir. Apple, Instagram ve Reddit gibi teknoloji devleri çekirdek sistemlerinde PostgreSQL kullanır. Cenuta'nın olağanüstü yüksek Disk I/O kapasitesi (NVMe) ile birleşen bu PostgreSQL imajı, en ağır veritabanı yüklerinizi bile terlemeden kaldıracak şekilde özel olarak yapılandırılmıştır.

Bu İmajda Bulunan Tüm Yazılımlar

Bu hazır uygulama imajı, PostgreSQL Server uygulamasını en yüksek performans ve güvenlik standartlarında sorunsuz çalıştırmak için gereken tüm bağımlılıkları, kütüphaneleri ve yapılandırmaları içerir. Kurulum esnasında sistem aşağıdaki yazılımları sunucunuza entegre eder:

Yazılım / Paket AdıSürüm ve Detay Bilgisi
Veritabanı MotoruPostgreSQL Server (En Güncel 15.x veya 16.x Sürümü)
İşletim SistemiUbuntu 22.04 LTS
Yönetim ve Güvenlikpsql aracı, UFW Firewall (Kapalı portlarla gelir)

Kurulum Sonrası Kapsamlı İlk Adımlar

Cenuta Cloud Sunucunuz başarıyla oluşturulduktan sonra PostgreSQL Server sistemine tam yetkiyle erişmek, güvenliğini sağlamak ve yapılandırmak için aşağıdaki adımları sırasıyla eksiksiz olarak izlemeniz gerekmektedir:

1
Sisteme Giriş Yapın

SSH üzerinden sunucunuza `root` kullanıcısı ile bağlanın.

2
Postgres Kullanıcısına Geçin

PostgreSQL kendi güvenlik modeli gereği işlemleri `postgres` adlı sistem kullanıcısı üzerinden yapar. Terminale `su - postgres` yazarak bu kullanıcıya geçiş yapın.

3
Veritabanı ve Kullanıcı Oluşturun

Komut satırına `psql` yazarak SQL arayüzüne girin. Ardından: `CREATE DATABASE proje_db;`, `CREATE USER ahmet WITH ENCRYPTED PASSWORD 'Sifre123!';` ve `GRANT ALL PRIVILEGES ON DATABASE proje_db TO ahmet;` komutlarını çalıştırın.

4
Dış Erişime İzin Verin (Opsiyonel)

Eğer PostgreSQL'e uzaktan (başka sunucudan) bağlanacaksanız, `nano /etc/postgresql/SÜRÜM/main/postgresql.conf` dosyasından `listen_addresses = '*'` yapın. Ardından `pg_hba.conf` dosyasına `host all all 0.0.0.0/0 md5` ekleyip servisi yeniden başlatın (`systemctl restart postgresql`).

5
PgAdmin Kullanarak Bağlanın

Veritabanınızı yönetmek için terminal kullanmak zorunda değilsiniz. Bilgisayarınıza ücretsiz PgAdmin4 veya DBeaver kurarak yeni oluşturduğunuz 'ahmet' kullanıcısıyla görsel olarak her şeyi yönetebilirsiniz.

Merak Edilenler

PostgreSQL Hosting hakkında sıkça sorulan sorular.

PostgreSQL, MySQL'den daha mı yavaştır?

Basit ve tek satırlık okuma (SELECT) işlemlerinde MySQL (InnoDB) çok hafif bir avantaja sahip olabilir. Ancak sorgular karmaşıklaştıkça (JOIN, Subqueries, Paralel okuma) PostgreSQL'in üstün zekası ve optimizatörü sayesinde çok daha yüksek performans alırsınız.

Bu imajda web sunucusu (Apache/PHP) var mı?

Hayır. Bu sadece Dedicated (Adanmış) bir veritabanı sunucusudur. Web uygulamanızı (Django, Node.js, Laravel vb.) barındıran diğer sunucunuzu bu PostgreSQL sunucusuna bağlayarak maksimum performans elde edersiniz.

JSON verileri tutacaksam MongoDB yerine neden Postgres kullanayım?

PostgreSQL'in JSONB (Binary JSON) desteği mükemmeldir. İçindeki JSON verilerine index atayabilir ve arama yapabilirsiniz. Çoğu proje için hem ilişkisel (SQL) hem de JSON verileri aynı yerde tutabilmek MongoDB'den çok daha avantajlıdır.

Veritabanı yedeğini (dump) nasıl alırım?

Terminalden `pg_dump -U ahmet proje_db > yedek.sql` komutunu kullanarak anında SQL formatında yedek alabilirsiniz.

Cenuta bu imajı nasıl optimize etti?

Varsayılan PostgreSQL ayarları 128MB RAM kullanacak şekilde çok kısıtlı gelir. Bu imajda `shared_buffers`, `work_mem` ve `effective_cache_size` gibi hayati ayarlar, sunucu donanımınıza (RAM ve CPU) otomatik adapte olacak şekilde önceden yapılandırılmıştır.