sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa Veritabanı PostgreSQL Kurulumu: Ubuntu 22.04 ve AlmaLinux 9
🗄️ Veritabanı

PostgreSQL Kurulumu: Ubuntu 22.04 ve AlmaLinux 9

Ubuntu 22.04 ve AlmaLinux 9'da PostgreSQL kurulumu, pg_hba.conf yapılandırması, kullanıcı/veritabanı oluşturma ve remote bağlantı.

📅 8 Mayıs 2025 👁 5 görüntülenme ⏱ 4 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

PostgreSQL Nedir?

PostgreSQL (Postgres), açık kaynaklı, ACID uyumlu ve genişletilebilir bir nesne-ilişkisel veritabanı yönetim sistemidir. 35 yılı aşkın geliştirme geçmişiyle sektörde en güvenilir veritabanı sistemlerinden biri olarak kabul görmektedir. JSON/JSONB, diziler (arrays), tam metin arama, coğrafi sorgulamalar (PostGIS) gibi gelişmiş veri tiplerini desteklemesiyle MySQL'den ayrışır.

PostgreSQL, özellikle karmaşık sorgular, büyük veri setleri ve ileri düzey veri tipleri gerektiren uygulamalar için tercih edilir. Django, Rails, Laravel gibi web çerçeveleri de PostgreSQL'i birinci sınıf veritabanı olarak destekler.

Ubuntu 22.04'te PostgreSQL Kurulumu

Resmi PostgreSQL Deposu ile Kurulum

sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

# PostgreSQL 16 kurun
sudo apt install -y postgresql-16
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql

AlmaLinux 9'da PostgreSQL Kurulumu

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql16-server
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

İlk Yapılandırma

postgres Kullanıcısı ile Giriş

sudo -u postgres psql
-- postgres kullanıcısı için şifre belirle
ALTER USER postgres WITH PASSWORD 'GucluSifre2024!';

-- Yeni uygulama veritabanı ve kullanıcısı oluştur
CREATE USER app_user WITH PASSWORD 'AppSifre2024!';
CREATE DATABASE app_db OWNER app_user ENCODING 'UTF8' LC_COLLATE='tr_TR.UTF-8' LC_CTYPE='tr_TR.UTF-8';
GRANT ALL PRIVILEGES ON DATABASE app_db TO app_user;

-- Kullanıcıyı listele
\du

-- Veritabanlarını listele
\l

\q

pg_hba.conf Yapılandırması

Bu dosya PostgreSQL'in istemci kimlik doğrulamasını kontrol eder:

sudo nano /etc/postgresql/16/main/pg_hba.conf  # Ubuntu
# AlmaLinux: /var/lib/pgsql/16/data/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             postgres                                peer
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5
# Uzak erişim için (belirli IP):
host    app_db          app_user        192.168.1.0/24          md5

postgresql.conf Optimizasyonu

sudo nano /etc/postgresql/16/main/postgresql.conf
listen_addresses = 'localhost'    # Uzak için: '*'
port = 5432
max_connections = 100
shared_buffers = 256MB            # RAM'in %25'i
effective_cache_size = 1GB        # RAM'in %75'i
work_mem = 4MB
maintenance_work_mem = 64MB
wal_buffers = 16MB
checkpoint_completion_target = 0.9
log_timezone = 'Europe/Istanbul'
timezone = 'Europe/Istanbul'
sudo systemctl restart postgresql

Uzak Bağlantı Yapılandırması

# postgresql.conf içinde:
listen_addresses = '*'

# pg_hba.conf içinde belirli IP ekleyin:
host    all    all    ISTEMCI_IP/32    md5

# Güvenlik duvarında port açın:
sudo ufw allow from ISTEMCI_IP to any port 5432

Temel PostgreSQL Komutları

-- Veritabanına bağlan
\c app_db

-- Tablo oluştur
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Veri ekle
INSERT INTO users (username, email) VALUES ('admin', 'admin@example.com');

-- Tüm tabloları listele
\dt

-- Sorgu çalıştır
SELECT * FROM users;

-- Tablo yapısını göster
\d users

-- Çıkış
\q

Yedekleme ve Geri Yükleme

# Tek veritabanı yedekleme
sudo -u postgres pg_dump app_db > /tmp/app_db_backup.sql

# Sıkıştırılmış yedek
sudo -u postgres pg_dump app_db | gzip > /backup/app_db_$(date +%Y%m%d).sql.gz

# Geri yükleme
sudo -u postgres psql app_db < /tmp/app_db_backup.sql

# Tüm veritabanlarını yedekle
sudo -u postgres pg_dumpall > /tmp/all_databases.sql

Sık Karşılaşılan Sorunlar

FATAL: role "kullanici" does not exist

sudo -u postgres createuser --interactive

Bağlantı Reddedildi (Connection Refused)

sudo systemctl status postgresql
sudo tail -f /var/log/postgresql/postgresql-16-main.log
sudo netstat -tlnp | grep 5432

Sonuç

PostgreSQL 16'yı Ubuntu 22.04 veya AlmaLinux 9 üzerine başarıyla kurdunuz. pg_hba.conf ile kimlik doğrulama, postgresql.conf ile performans optimizasyonu ve pg_dump ile yedekleme konularını öğrendiniz. PostgreSQL'in güçlü SQL desteği ve gelişmiş özellikleri modern uygulamalar için mükemmel bir temel sunar.

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.