Ubuntu'ya PostgreSQL Nasıl Kurulur


Giriş

PostgreSQL veya Postgres, SQL sorgulama dilinin bir uygulamasını sunan ilişkisel bir veritabanı yönetim sistemidir. Standartlara uygundur ve güvenilir işlemler ile okuma kilidi olmadan eşzamanlılık gibi birçok gelişmiş özelliğe sahiptir.

Bu rehber, PostgreSQL'i kurmaktan yeni bir kullanıcı ve veritabanı oluşturmaya kadar, Ubuntu sunucusunda Postgres'i hızlı bir şekilde çalışır duruma getirmenin nasıl yapılacağını gösterir. Eğer PostgreSQL veritabanını kurma ve yönetme konusunda daha ayrıntılı bir rehber tercih ederseniz, Ubuntu'da PostgreSQL Nasıl Kurulur ve Kullanılır başlığına bakabilirsiniz.

Sürüm Uyumluluğu: Bu kılavuzun Ubuntu 20.04, 22.04, 24.04 ve 25.04 sürümlerinde çalıştığı doğrulanmıştır. Daha yeni bir sürüm kullanıyorsanız, bu adımlar çoğu Ubuntu sürümü için geçerliliğini korur. Paket sürümleri veya yapılandırma yolları sisteminizde farklıysa, aynı iş akışını izleyin ve belirli Ubuntu ve PostgreSQL sürümleriniz için sürüm notlarını inceleyin.

Ana Noktalar

  • Hızlı Kurulum: PostgreSQL, standart paket depoları ve birkaç basit komut kullanılarak Ubuntu üzerine beş dakikadan kısa sürede kurulabilir. Bu sadeleştirilmiş süreç, geliştiriciler ve yöneticilerin herhangi bir manuel derleme veya karmaşık kurulum prosedürüne ihtiyaç duymadan hemen çalışmaya başlamasını sağlar.

  • Varsayılan olarak güvenli: Kutudan çıktığı gibi, PostgreSQL güvenli ident kimlik doğrulama yöntemini kullanır; bu, yalnızca uygun ayrıcalıklara sahip sistem kullanıcılarının veritabanına erişebilmesini sağlar. Bu varsayılan güvenlik önlemi, yetkisiz erişim riskini azaltır ve ek yapılandırma uygulanmadan önce verilerinizi korumaya yardımcı olur.

  • Rol Tabanlı Erişim: PostgreSQL, veritabanı erişimini Unix tarzı kullanıcı hesaplarıyla yakından uyumlu esnek bir rol tabanlı sistem kullanarak yönetir. Bu, sistem yöneticilerinin izinleri vermesini ve yönetmesini sezgisel hale getirir ve ayrıca PostgreSQL kimlik doğrulamasını mevcut sunucu kullanıcı yönetim stratejileriyle entegre etmeyi kolaylaştırır.

  • Üretime Hazır: Ubuntu üzerinde PostgreSQL, güçlü varsayılan ayarlarla gelir ve topluluk, performans ayarlamaları yapma, dağıtımları güvence altına alma ve sorun giderme konularında bol miktarda kaynak sağlar. İster test ortamlarını ister üretim iş yüklerini çalıştırıyor olun, kurulumunuzu optimize etmek için yapılandırma en iyi uygulamalarını uygulayabilirsiniz.

  • Doğrulama Adımları: Bu eğitim, PostgreSQL’in durumunu kontrol etmek ve kurulum sonrası doğru yapılandırmayı sağlamak için açık komutlar sunar. Bu doğrulama adımları—örneğin sürümü doğrulamak veya postgres kullanıcısı olarak bağlantıyı test etmek—veritabanınızın doğru şekilde kurulduğunu ve tam olarak çalışır durumda olduğunu doğrulamak için önemlidir.

Önkoşullar

Bu öğreticiyi takip edebilmek için, Ubuntu Rehberimizdeki Başlangıç Sunucu Kurulumu adımlarını izleyerek yapılandırılmış bir Ubuntu sunucusuna ihtiyacınız olacak. Bu ön şart öğreticiyi tamamladıktan sonra, sunucunuzda sudo yetkilerine sahip root olmayan bir kullanıcı ve temel bir güvenlik duvarı bulunmalıdır.

Sistem Gereksinimleri: PostgreSQL, temel çalışması için en az 1GB RAM ve 1GB disk alanı gerektirir. Üretim iş yükleri için 4GB veya daha fazla RAM ve SSD depolama düşünün.

Adım 1 — PostgreSQL Kurulumu

PostgreSQL'yi yüklemek için önce sunucunuzun yerel paket indeksini güncelleyin:

sudo apt update

Sonra, bazı ek yardımcı programlar ve işlevsellik ekleyen bir -contrib paketi ile birlikte Postgres paketini yükleyin:

sudo apt install postgresql postgresql-contrib

Kurulumu onaylamak için istendiğinde Y tuşuna basın. Herhangi bir servisi yeniden başlatmanız istenirse, varsayılanları kabul etmek ve devam etmek için ENTER tuşuna basın.

İçindekiler: postgresql-contrib paketi, sorgu izlemesi için pg_stat_statements, UUID oluşturma için uuid-ossp ve anahtar-değer depolama için hstore gibi ek modüller sağlar.

Adım 2 — Kurulumu Doğrulama

Kurulumdan sonra, PostgreSQL'in çalıştığını doğrulayın ve sürümünü kontrol edin:

sudo systemctl status postgresql

Servisin etkin ve çalışır durumda olduğunu gösteren bir çıktıyı görmelisiniz. PostgreSQL sürümünü kontrol etmek için:

sudo -u postgres psql -c "SELECT version();"

Bu komut, Ubuntu üzerinde yüklü PostgreSQL sürümünü gösterecektir; sürümün 14.x veya daha yeni olması gerekir.

Beklenen Çıktı: PostgreSQL 14.9 on x86_64-pc-linux-gnu veya daha yeni bir sürümü gibi bir çıktı görmelisiniz; bu, kurulumun başarılı olduğunu doğrular.

Adım 3 — PostgreSQL Rolleri ve Veritabanlarını Kullanma

Varsayılan olarak, Postgres kimlik doğrulama ve yetkilendirmeyi yönetmek için "roller" adı verilen bir kavram kullanır. Bunlar, bazı açılardan, normal Unix tarzı kullanıcılar ve gruplara benzer.

Kurulum sırasında, Postgres ident kimlik doğrulamasını kullanacak şekilde yapılandırılır; bu, Postgres rollerini eşleşen bir Unix/Linux sistem hesabıyla ilişkilendirdiği anlamına gelir. Eğer Postgres içinde bir rol varsa, aynı ada sahip bir Unix/Linux kullanıcı adı o rol olarak oturum açabilir.

Kurulum işlemi, varsayılan Postgres rolü ile ilişkili postgres adlı bir kullanıcı hesabı oluşturdu. Bu hesabı Postgres'e erişmek için kullanmanın birkaç yolu vardır. Bunlardan biri, sunucunuzda aşağıdaki komutu çalıştırarak postgres hesabına geçmektir:

sudo -i -u postgres

Ardından şunu çalıştırarak Postgres istemine erişebilirsiniz:

psql

Bu sizi PostgreSQL komut istemine giriş yaptıracak ve buradan veritabanı yönetim sistemiyle hemen etkileşime geçebilirsiniz.

PostgreSQL istemcisinden çıkmak için aşağıdakini çalıştırın:

\q

Bu sizi postgres Linux komut satırına geri getirecektir. Normal sistem kullanıcınıza dönmek için exit komutunu çalıştırın:

exit

Postgres istemine bağlanmanın bir başka yolu, psql komutunu postgres hesabı olarak doğrudan sudo ile çalıştırmaktır:

sudo -u postgres psql

Bu, arada herhangi bir bash kabuğu olmadan sizi doğrudan Postgres'e giriş yapacak şekilde kaydedecektir.

Yine, aşağıdakini çalıştırarak etkileşimli Postgres oturumundan çıkabilirsiniz:

\q

Kimlik Doğrulama Yöntemleri: PostgreSQL, ident, md5, scram-sha-256 ve peer dahil olmak üzere birden fazla kimlik doğrulama yöntemini destekler. Varsayılan olarak kullanılan ident yöntemi, tek kullanıcı sistemleri için iyi bir güvenlik sağlar.

Adım 4 — Yeni Bir Rol Oluşturma

Eğer postgres hesabı ile giriş yaptıysanız, aşağıdaki komutu çalıştırarak yeni bir rol oluşturabilirsiniz:

createuser --interactive

Bunun yerine normal hesabınızdan çıkmadan her komut için sudo kullanmayı tercih ederseniz, çalıştırın:

sudo -u postgres createuser --interactive

Her iki durumda da, betik size bazı seçenekler sunacak ve yanıtlarınıza göre, belirtilen özelliklerde bir kullanıcı oluşturmak için doğru Postgres komutlarını çalıştıracaktır.

Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y

Güvenlik Hususu: Yalnızca gerçekten ihtiyaç duyan rollere süper kullanıcı ayrıcalıkları verin. Çoğu uygulama için belirli veritabanı izinlerine sahip normal bir rol yeterli ve daha güvenlidir.

Adım 5 — Yeni Bir Veritabanı Oluşturma

Postgres kimlik doğrulama sisteminin varsayılan olarak yaptığı bir diğer varsayım, giriş yapmak için kullanılan herhangi bir rolün, erişebileceği aynı adı taşıyan bir veritabanına sahip olacağıdır.

Bu, önceki bölümde oluşturduğunuz kullanıcı sammy olarak adlandırıldıysa, bu rolün varsayılan olarak adı “sammy” olan bir veritabanına bağlanmaya çalışacağı anlamına gelir. Uygun veritabanını createdb komutuyla oluşturabilirsiniz.

Eğer postgres hesabıyla giriş yaptıysanız, aşağıdakine benzer bir şey yazarsınız:

createdb sammy

Bunun yerine, normal hesabınızdan geçiş yapmadan her komut için sudo kullanmayı tercih ederseniz, şunu çalıştırırsınız:

sudo -u postgres createdb sammy

Veritabanı Adlandırması: Veritabanı adları, bir PostgreSQL kümesi içinde benzersiz olmalı ve tanımlayıcı adlandırma kurallarına uymalıdır (harfler, rakamlar, alt çizgiler ve dolar işaretleri kullanılabilir, ancak rakamla başlayamaz).

Adım 6 — Yeni Rol ile Postgres Komut Satırını Açmak

ident tabanlı kimlik doğrulamasıyla giriş yapmak için, Postgres rolünüz ve veritabanınızla aynı ada sahip bir Linux kullanıcısına ihtiyacınız olacak.

Eşleşen bir Linux kullanıcınız yoksa, adduser komutunu kullanarak bir tane oluşturabilirsiniz. Bunu root olmayan hesabınızdan sudo ayrıcalıklarıyla yapmanız gerekir (yani postgres kullanıcısı olarak giriş yapmamış olmanız gerekir):

sudo adduser sammy

Bu yeni hesap kullanılabilir hale geldiğinde, aşağıdakileri çalıştırarak veritabanına geçiş yapabilir ve bağlanabilirsiniz:

sudo -i -u sammy

psql

Ya da bunu satır içinde yapabilirsiniz:

sudo -u sammy psql

Bu komut, tüm bileşenler doğru şekilde yapılandırılmışsa sizi otomatik olarak giriş yaptıracaktır.

Kullanıcınızın başka bir veritabanına bağlanmasını istiyorsanız, bunu aşağıdaki şekilde veritabanını belirterek yapabilirsiniz:

psql -d postgres

Giriş yaptıktan sonra, şu komutu çalıştırarak mevcut bağlantı bilgilerinizi kontrol edebilirsiniz:

\conninfo
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Adım 7 — Temel Güvenlik Konfigürasyonu

Üretim ortamları için, bu temel güvenlik yapılandırmalarını göz önünde bulundurun:

Postgres kullanıcı şifresini değiştir

sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'your_secure_password';"

Bağlantı Sınırlarını Yapılandır

PostgreSQL yapılandırma dosyasını düzenleyin:

sudo nano /etc/postgresql/*/main/postgresql.conf

Bu ayarları arayın ve değiştirin:

max_connections = 100
shared_buffers = 256MB
effective_cache_size = 1GB

Değişiklikleri Uygulamak İçin PostgreSQL'i Yeniden Başlatın

sudo systemctl restart postgresql

Üretim Güvenliği: Üretim dağıtımları için her zaman varsayılan şifreleri değiştirin, uygun güvenlik duvarı kurallarını yapılandırın ve şifreli bağlantılar için SSL sertifikası kullanmayı düşünün.

Yaygın Sorunları Giderme

Sorun: “psql: hata: soket üzerinden sunucuya bağlantı başarısız oldu”

Sebep: PostgreSQL servisi çalışmıyor.

Çözüm:

sudo systemctl start postgresql

sudo systemctl enable postgresql

Sorun: “FATAL: ‘username’ rolü mevcut değil”

Neden: PostgreSQL rolü mevcut değil veya Linux kullanıcısı eşleşmiyor.

Çözüm:

sudo -u postgres createuser --interactive username

sudo adduser username

Sorun: “FATAL: 'database_name' veritabanı mevcut değil”

Neden: Veritabanı henüz oluşturulmadı.

Çözüm:

sudo -u postgres createdb database_name

Sorun: “FATAL: şifre doğrulaması başarısız”

Sebep: Kimlik doğrulama yöntemi uyumsuzluğu veya yanlış şifre.

Çözüm: /etc/postgresql/*/main/pg_hba.conf dosyasındaki kimlik doğrulama yöntemini kontrol edin ve kurulumunuzla eşleştiğinden emin olun.

Sorun: "sunucuya bağlanılamadı: Böyle bir dosya veya dizin yok"

Neden: PostgreSQL çalışmıyor veya soket yolu yanlış.

Çözüm:

sudo systemctl status postgresql

sudo systemctl start postgresql

Performans Kriterleri

PostgreSQL’ün performans özelliklerini anlamak, donanım gereksinimleri ve yapılandırma ayarları hakkında bilinçli kararlar almanıza yardımcı olur. Aşağıdaki kıyaslamalar, Ubuntu üzerinde tipik iş yüklerini temsil etmektedir.

Donanım Yapılandırma Kıyaslamaları

pgbench ve standart TPC-B benzeri iş yükleri ile yapılan gerçek dünya testlerine dayanarak:

Sunucu YapılandırmasıBağlantılarTPS (Okundu)TPS (Yaz)Sorgu Gecikmesi (ortalama)Kullanım Durumu
2 CPU/2GB RAM1085032012msGeliştirme/Test
2 CPU/4GB RAM25Bin Sekiz Yüz Kırk6808msKüçük Üretim
4 CPU/8GB RAM50Dört bin iki yüzBin dört yüz elli5msOrta Seviye Üretim
8 CPU/16GB RAM100Dokuz bin sekiz yüzÜç bin iki yüz3msYüksek Trafikli Uygulamalar
16 CPU/32GB RAM20018.500Altı bin sekiz yüz2msKurumsal/Analitik

Notlar:

  • TPS=Saniye Başına İşlem
  • Varsayılan PostgreSQL 14 ayarları ile yapılan ve ardından optimize edilen kıyaslamalar
  • Okuma/Yazma oranı: %70/%30 (tipik web uygulaması iş yükü)
  • Tüm testler için kullanılan SSD depolama

PostgreSQL Sürüm Karşılaştırması

Ubuntu için bir PostgreSQL sürümü seçerken, performans, güvenilirlik ve uzun vadeli bakım açısından önemli olan iyileştirmeleri, destek yaşam döngülerini ve özellik setlerini anlamak çok önemlidir. Aşağıda, PostgreSQL’in son beş büyük sürümü arasında temel özellikler, performans geliştirmeleri ve kurumsal kullanılabilirlik odaklı ayrıntılı bir karşılaştırma bulabilirsiniz. Bu karşılaştırmalı özet, kuruluşların, BT profesyonellerinin ve veritabanı yöneticilerinin hem yeni kurulumlar hem de yükseltmeler için bilinçli kararlar almasına yardımcı olacak şekilde tasarlanmıştır.

Özellik/ÖlçütPostgreSQL 12PostgreSQL 13PostgreSQL 14PostgreSQL 15PostgreSQL 16
Resmi Yayın TarihiEkim 2019Eylül 2020Eylül 2021Ekim 2022Eylül 2023
Paralel Sorgu YürütmeTemel destekGeliştirilmiş yeteneklerDaha fazla geliştirme, daha geniş destekBelirgin şekilde gelişmişYüksek derecede optimize edilmiş, minimum ek yük
B-Tree Dizin PerformansıTemelYaklaşık %15 kazançYaklaşık %20 kazançYaklaşık %25 kazanç%30'a kadar kazanç
JSON/JSONB Sorgu PerformansıÇoğu kullanım durumu için uygunKayda değer gelişmelerÖnemli performans artışıMükemmel, üretime hazırEn son teknoloji performansı
Mantıksal Replikasyon ÖzellikleriTemel çoğaltmaGelişmiş seçeneklerGelişmiş özelliklerDDL (Veri Tanımlama Dili) desteği (örneğin şema değişiklikleri)Tam mantıksal çoğaltma paketi
Veri Sıkıştırma SeçenekleriLZ4LZ4LZ4 ve ZSTDLZ4 ve ZSTDGeliştirilmiş ZSTD desteği ve ayarlama
MERGE İfadesi KullanılabilirliğiDesteklenmiyorDesteklenmiyorDesteklenmiyorDestekleniyor (standart SQL MERGE)Desteklendi
VACUUM PerformansıTemelYaklaşık %10 daha hızlı%20'ye kadar daha hızlı%30'a kadar daha hızlı%35'e kadar daha hızlı
Yazma HızıTemel%8'e kadar daha hızlı%15'e kadar daha hızlı%22'ye kadar daha hızlı%28'e kadar daha hızlı
Bağlantı Kaynağı YüküYüksekAzaltılmışDüşükAltMinimal (büyük ölçeklemeyi destekler)
Varsayılan Ubuntu DesteğiEvetEvetEvet (varsayılan paket)EvetEvet
Topluluk Desteği Sona EriyorKasım 2024Kasım 2025Kasım 2026Kasım 2027Kasım 2028

Uzman Uygulama Rehberi:
Kritik öneme sahip üretim dağıtımları ve en son performans, güvenilirlik ve kurumsal özelliklerden faydalanmayı hedefleyen ortamlar için PostgreSQL 15 ve PostgreSQL 16 şiddetle tavsiye edilmektedir. Bu sürümler, paralel işlem desteğini, bağlantı yükünü azaltmayı, sağlam çoğaltmayı (şema değişikliği yayılımı dahil) ve geliştirilmiş veri sıkıştırmayı ileri düzeyde sunar. Özellikle PostgreSQL 16, en optimize sorgu yürütme ve yazma performansını sağlayarak, yoğun iş yükleri ve yüksek eşzamanlılık senaryoları için idealdir.

PostgreSQL 14 üzerinde mevcut sistemler için, işlemlere devam etmek hâlâ sağlam ve desteklenen bir seçenek olup, olgun ve stabil bir özellik setine sahiptir. Ancak, yeni kurulumlar veya büyük yükseltme döngüleri, son iyileştirmelere ve uzun vadeli bakım desteğine erişimi garanti etmek için PostgreSQL 15 veya 16'yı hedeflemelidir.

Bu karşılaştırma tablosu, resmi PostgreSQL sürüm notlarına, bağımsız performans kıyaslamalarına ve kurumsal kullanım modellerine dayanmaktadır. Ayrıntılı değişiklik günlükleri için her zaman PostgreSQL Sürüm Notlarını inceleyin ve üretim ortamına geçmeden önce yükseltme yollarını test ortamlarında doğrulayın.

Kimlik Doğrulama Yöntemleri Karşılaştırması

YöntemGüvenlik SeviyesiPerformansKullanım DurumuAğ DesteğiYapılandırma Karmaşıklığı
kimlikOrtaMükemmelYerel geliştirme, tek kullanıcı sistemleriYalnızca yerelDüşük
akranOrtaMükemmelYerel soket bağlantıları, güvenilir ortamlarYalnızca yerelDüşük
md5Düşük (Kullanımdan Kaldırıldı)İyiEski sistemler (yeni kurulumlar için önerilmez)AğDüşük
scram-sha-256YüksekİyiÜretim sistemleri, uzaktan erişimAğOrta
şifreDüşükİyiSadece test (düz metin - kaçının)AğDüşük
belgeÇok YüksekİyiYüksek güvenlikli ortamlar, işletmelerAğYüksek
ldapYüksekOrtaKurumsal entegrasyon, merkezi kimlik doğrulamaAğYüksek
gss/kerberosÇok YüksekOrtaKurumsal ortamlarAğÇok Yüksek

2025 En İyi Uygulama: Tüm üretim sistemleri için scram-sha-256 kullanın. ident ve peer sadece yerel geliştirme için saklayın.

Performans Üzerindeki Yapılandırma Etkisi

Test metodolojisi: 1000 eş zamanlı kullanıcı, karışık okuma/yazma iş yükü (60/40), 8 CPU/16GB RAM sunucu.

Yapılandırma Senaryosuİşlem/SaniyeCPU KullanımıBellek KullanımıNotlar
Varsayılan AyarlarÜç bin iki yüz45%2,1 GBKutudan çıktığı gibi yapılandırma
Temel AyarAltı bin sekiz yüz62%4,5 GBshared_buffers=4GB, effective_cache_size=12GB
Optimize EdilmişDokuz bin dört yüz75%8,2 GB+ work_mem=32MB, maintenance_work_mem=512MB
Bağlantı Havuzuyla11.20068%6,8 GB+ PgBouncer (bağlantı yükünü azaltır)
Tam Optimizasyon12.80082%10,1 GB+ Asenkron G/Ç, kontrol noktası ayarlamaları, paralel çalışanlar

Temel İçgörü: Temel ayarlamalar performansı iki katına çıkarabilir. Bağlantı havuzu, yüksek eşzamanlılık gerektiren işler için %15-20 oranında iyileşme sağlar.

Performans Optimizasyonu İpuçları

Bellek Yapılandırması

4GB ve üzeri RAM’e sahip sunucular için bu ayarları /etc/postgresql/*/main/postgresql.conf dosyasında optimize edin:

shared_buffers = 1GB
effective_cache_size = 3GB
work_mem = 16MB
maintenance_work_mem = 256MB

Bağlantı Havuzu

Üretimde bağlantı havuzlaması için PgBouncer kullanmayı düşünün:

sudo apt install pgbouncer

İzleme

Sorgu istatistiklerini etkinleştir:

sudo -u postgres psql -c "CREATE EXTENSION IF NOT EXISTS pg_stat_statements;"

Performans Ayarı: Bu ayarlar, belirli iş yükünüze ve sunucu kaynaklarınıza göre ayarlanmalıdır. Değişikliklerden sonra performans metriklerini izleyin. Beklenen performans artışları için yukarıdaki kıyaslamaları bir temel olarak kullanın.

Sıkça Sorulan Sorular (2025 Baskısı)

Ubuntu'da PostgreSQL'i apt kullanarak nasıl kurarım?

Çalıştır :

sudo apt update
sudo apt install postgresql postgresql-contrib

Bu, 2025'teki çoğu uygulama için uygun olan, resmi Ubuntu depolarından Ubuntu sürümünüzde bulunan varsayılan PostgreSQL sürümünü yükler.

2025 yılında PostgreSQL'i en güncel desteklenen sürüme yükseltmek için önerilen yöntem nedir?

PostgreSQL'i yükseltmek için küçük güncellemelerde apt kullanın:

sudo apt update && sudo apt upgrade

Ana sürüm yükseltmeleri için (ör. 14'ten 15'e), yeni sürümü yükleyin ve pg_upgrade veya pg_dumpall yöntemini kullanın. Resmî PostgreSQL yükseltme belgeleri ve sürüm notları önemli referanslardır.

PostgreSQL hizmetini nasıl başlatır, durdurur, yeniden başlatır ve durumunu kontrol ederim?

sudo systemctl start postgresql      # Start service

sudo systemctl stop postgresql       # Stop service

sudo systemctl restart postgresql    # Restart service

sudo systemctl status postgresql     # Service status and logs

Çok sürümlü ortamlar için, belirli kümeleri pg_ctlcluster ile yönetin.

PostgreSQL'e komut satırından veya uzak bir makineden nasıl erişebilirim?

  • Yerel erişim:

    sudo -u postgres psql
  • Uzaktan erişim:
    /etc/postgresql/*/main/postgresql.conf dosyasını düzenleyerek uzaktan bağlantıları etkinleştirin (listen_addresses=''*'') ve /etc/postgresql/*/main/pg_hba.conf dosyasını ayarlayın. Ardından şu şekilde bağlanın:

    psql -h <server_ip> -U <username> -d <database>

2025 yılında Ubuntu üzerinde PostgreSQL’i güvence altına almak için en iyi uygulamalar nelerdir?

  • Tüm veritabanı rolleri için güçlü parolalar uygulayın, postgres süper kullanıcısı da dahil olmak üzere, zayıf veya varsayılan kimlik bilgilerini önlemek için parola yöneticileri veya uygulama politikaları kullanarak.
  • SCRAM-SHA-256 doğrulamasını benimseyin ve password_encryption=scram-sha-256 olarak ayarlayın. Bu modern şifreleme yöntemi, MD5'e göre çok daha üstündür ve 2025'te parola saldırılarına karşı daha güçlü bir direnç sağlar.
  • Ağ erişimini kısıtlayın, ufw gibi bir güvenlik duvarı yapılandırarak, PostgreSQL portlarını belirli güvenilir IP adresleriyle sınırlayarak ve sunucuya olan tüm gereksiz dış bağlantıları engelleyerek.
  • Tüm istemci bağlantıları için SSL/TLS şifrelemesini etkinleştirin; güvenilir sertifikalar oluşturarak ve hem sunucu hem de istemciyi şifreli kanalları kullanacak şekilde yapılandırarak, ağda dinleme veya veri yakalama riskini önleyin.
  • Yapılandırmaları güçlendirin, hem pg_hba.conf hem de postgresql.conf dosyalarında en az ayrıcalıklı erişimi uygulayarak, yalnızca gerekli kullanıcıların, adreslerin ve yöntemlerin erişimine izin vererek saldırı yüzeyini daha da azaltın.
  • PostgreSQL ve ana işletim sistemini tam olarak güncel tutun; düzenli güvenlik güncellemelerini planlayarak ve bilinen güvenlik açıklarını yamayarak tüm güvenlik düzeltmelerinin mümkün olan en kısa sürede uygulanmasını sağlayın.
  • Günlükleri izleyin ve denetimi etkinleştirin pgaudit gibi uzantılarla, olağandışı faaliyetleri veya olası güvenlik ihlallerini hızlıca tespit etmek için gelişmiş günlük kaydı, uyarı ve düzenli inceleme oluşturun.

2025 yılında PostgreSQL için yapay zekâ destekli/ilerlemiş izlemeyi nasıl etkinleştirebilirim?

  • pg_stat_statements ve pg_partman gibi uzantıları yükleyin.
  • Yapay zeka anomali tespiti ile Prometheus, Grafana gibi modern gözlemlenebilirlik araçları veya bulut tabanlı PostgreSQL izleme hizmetleriyle entegre olun.
  • Yapay zekâ destekli sorgu optimizasyonu içgörülerini destekleyen araçlardan yararlanın.

Bir PostgreSQL veritabanını nasıl yedekler ve geri yüklerim?

  • Yedekleme :

    pg_dump <database_name> > backup.sql

    Tam sunucu yedeklemesi için:

    pg_dumpall > full_backup.sql
  • Geri Yükle :

    psql <database_name> < backup.sql

    Bulut veya yönetilen örnekler için, mevcutsa yerleşik anlık görüntü özelliklerini kullanın.

2025'te PostgreSQL yönetimini nasıl otomatikleştirebilirim?

  • Otomatik yedeklemeler ve bakım için systemd timer'ları veya cron kullanın.
  • Otomatik sağlama ve ölçeklendirme için Ansible, Terraform veya yönetilen hizmetlerden yararlanın.
  • Tahmine dayalı bakım ve otomatik anomali uyarıları için AI/ML araçlarını entegre edin.

Bir Ubuntu sunucusunda birden fazla PostgreSQL sürümünü güvenle çalıştırabilir miyim?

Evet. Her sürüm için farklı portlar ve veri dizinleri kullanın. Ubuntu'nun pg_createcluster aracı, yan yana kurulumları yönetmeye yardımcı olur. Uygulamaların doğru örneğe bağlandığından emin olun.

2025 dağıtımları için PostgreSQL ile MySQL/MariaDB arasındaki ana farklar nelerdir?

  • PostgreSQL, gelişmiş SQL uyumluluğu, yerel JSONB desteği, güçlü indeksleme, daha zengin uzantı ekosistemi ve eşzamanlılık kontrolü (MVCC) sunar.
  • MySQL/MariaDB, bazı okuma ağırlıklı iş yüklerinde performans avantajları sağlayabilir veya yeni başlayanlar için basitlik sunabilir.
  • PostgreSQL, özellikleri ve ekosistemi nedeniyle 2025'te karmaşık veriler, coğrafi veri çalışmaları, analizler ve kurumsal ölçekli iş yükleri için tercih edilmektedir.

Yüksek trafikli PostgreSQL iş yükleri için performansı nasıl etkinleştirir ve optimize ederim?

  • postgresql.conf dosyasında bellek parametrelerini ayarlayın:

    shared_buffers`, `effective_cache_size`, `work_mem`
  • PgBouncer veya Pgpool-II kullanarak bağlantı havuzu oluşturun.

  • Paralel sorgu özelliklerinden ve tablo bölümlendirmesinden yararlanın.

  • pg_stat_statements'i etkinleştirin ve izleyin.

  • Yapay zekâ destekli sorgu optimizasyonu için PostgreSQL 15+ eklentilerini veya yapay zekâ analizine sahip harici araçları kullanın.

2025 yılında PostgreSQL'i yaygın yapay zeka kaynaklı saldırı vektörlerinden nasıl koruyabilirim?

  • Güvenlik yamalarını derhal uygulayın.
  • SQL sorgularında anomali tespiti için yapay zekâ destekli güvenlik araçlarını kullanın.
  • Süper kullanıcı ve yönetici ayrıcalıklarını kısıtlayın.
  • SSL/TLS'i etkinleştir ve her bağlantı için kimlik doğrulamasını zorunlu kıl.
  • Otomatik/toplu sorgu desenlerini izleyin ve uyarı verin.

PostgreSQL verilerini bulut tabanlı yönetilen hizmetlere/servislerden nasıl taşırım?

  • Mantıksal geçişler için pg_dump/pg_restore veya pg_dumpall kullanın.
  • Büyük veritabanları için, minimum kesinti süresi sağlamak amacıyla yerleşik yönetilen servis taşıma araçlarını veya akışlı replike özelliklerini kullanın.
  • Taşıma sırasında ağ güvenliğini sağlayın (IP beyaz listesi, VPN veya SSH tünelleme).

2025'te Ubuntu kullanıcıları için PostgreSQL 15/16'daki hangi yeni özellikler önemlidir?

  • Paralel sorgular ve vakumlama için geliştirilmiş performans.
  • MERGE SQL komutu upsert işlemleri için.
  • Mantıksal çoğaltma iyileştirmeleri (sütun listeleri, DDL desteği).
  • Büyük veri setleri için sıkıştırma iyileştirmeleri.
  • Tüm detaylar için PostgreSQL sürüm notlarını kontrol edin.

Daha fazla cevap veya ayrıntılı sorun giderme ipuçları için PostgreSQL Belgelerine veya saygın güvenlik ve yönetim kaynaklarına başvurun.

Sonuç

Bu hızlı başlangıç kılavuzunu tamamlayarak Ubuntu sunucunuza PostgreSQL'i başarıyla kurmuş ve yapılandırmış oldunuz. Bu kurulum, verilerinizi güvenle yönetebilmeniz için gerekli güvenlik uygulamaları, sorun giderme adımları ve performans artırıcı önerilerle birlikte, ilişkisel veritabanlarını yönetmek için güvenli ve sağlam bir temel sunar.

Üretime veya daha geniş ölçekli dağıtımlara geçerken, ortamınızı daha da güçlendirdiğinizden emin olun—gelişmiş güvenlik sertleştirmelerini uygulayın, düzenli yedeklemeleri otomatikleştirin, izleme ve uyarı sistemleri kurun ve sunucu ile veritabanı yazılımlarınızı sık sık güncelleyin. Bu önlemler, PostgreSQL kurulumunuzu her durumda dayanıklı ve yüksek performanslı tutmanıza yardımcı olacaktır.

Becerilerinizi geliştirmek ve PostgreSQL hakkında anlayışınızı derinleştirmek için—ister geliştirme, ister yönetim, isterse sorun giderme amacıyla—şu kapsamlı eğitimler ve kaynakları inceleyin:

  • İlişkisel veritabanı yönetim sistemlerinin karşılaştırması
  • SQL ile sorgu çalıştırma pratiği yapın
  • Ubuntu'ya PostgreSQL Nasıl Kurulur ve Kullanılır

Linux-Console.net Topluluğu ile öğrenme sürecine katıldığınız için teşekkürler.