Bloga dön
Ocak 27, 2026Rehberler

Linux Sunucusuna PostgreSQL Nasıl Kurulur

Ubuntu ve CentOS'ta PostgreSQL veritabanı sunucusunu kurma, yapılandırma ve güvenli hale getirme hakkında eksiksiz kılavuz.

Linux Sunucusuna PostgreSQL Nasıl Kurulur

PostgreSQL, güvenilirliği, zengin özellikleri ve standartlara uyumuyla bilinen güçlü, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir. Bu kılavuz, Hiddence Linux sunucunuzda PostgreSQL'i kurmanıza ve yapılandırmanıza yardımcı olacaktır.

Ubuntu/Debian'a PostgreSQL Kurulumu

PostgreSQL varsayılan depolarında mevcuttur. En son sürümü kurun:

bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y

# PostgreSQL'i başlat ve etkinleştir
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Kurulumu doğrula
sudo systemctl status postgresql
psql --version

RHEL / CentOS / AlmaLinux / Rocky Linux'a PostgreSQL Kurulumu

RHEL tabanlı dağıtımlar için önce PostgreSQL deposunu eklemeniz gerekir:

bash
# PostgreSQL deposunu kur
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# CentOS 8/Rocky Linux 8 için şunu kullan:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# PostgreSQL'i kur
sudo dnf install -y postgresql15-server postgresql15

# Veritabanını başlat
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# PostgreSQL'i başlat ve etkinleştir
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# Kurulumu doğrula
sudo systemctl status postgresql-15
psql --version

Kurulumu Doğrulama

bash
# PostgreSQL durumunu kontrol et
sudo systemctl status postgresql

# PostgreSQL sürümünü kontrol et
psql --version

# PostgreSQL'e bağlan (Ubuntu/Debian)
sudo -u postgres psql

# PostgreSQL'e bağlan (CentOS/RHEL)
sudo -u postgres psql -d postgres

PostgreSQL'i Güvenli Hale Getirme

postgres kullanıcısı için bir şifre belirleyin:

bash
# PostgreSQL'e bağlan
sudo -u postgres psql

# postgres kullanıcısı için şifre belirle
ALTER USER postgres PASSWORD 'güçlü_şifreniz';

# PostgreSQL'den çık
\q

Veritabanı ve Kullanıcı Oluşturma

bash
# postgres kullanıcısı olarak bağlan
sudo -u postgres psql

# Veritabanı oluştur
CREATE DATABASE myapp_db;

# Kullanıcı oluştur
CREATE USER app_user WITH PASSWORD 'güçlü_şifre';

# İzinleri ver
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# Çık
\q

Kullanıcı Yönetimi

bash
# PostgreSQL'e bağlan
sudo -u postgres psql

# Tüm kullanıcıları listele
\du

# Yeni kullanıcı oluştur
CREATE USER newuser WITH PASSWORD 'şifre';

# İzinleri ver
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# İzinleri geri al
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# Kullanıcıyı sil
DROP USER newuser;

Uzaktan Bağlantıları Etkinleştirme

Uzaktan bağlantılara izin vermek için PostgreSQL yapılandırma dosyalarını düzenleyin:

bash
# pg_hba.conf dosyasını düzenle (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# pg_hba.conf dosyasını düzenle (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# Şu satırı ekle:
host    all             all             0.0.0.0/0               md5

# postgresql.conf dosyasını düzenle (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# postgresql.conf dosyasını düzenle (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# Şunu değiştir:
listen_addresses = '*'

# PostgreSQL'i yeniden başlat
sudo systemctl restart postgresql

Temel PostgreSQL Komutları

bash
# Veritabanına bağlan
psql -U app_user -d myapp_db

# Veritabanlarını listele
\l

# Veritabanına bağlan
\c database_name

# Tabloları listele
\dt

# Tabloyu açıkla
\d table_name

# SQL dosyasını çalıştır
psql -U app_user -d myapp_db -f script.sql

# Veritabanını yedekle
pg_dump -U app_user myapp_db > backup.sql

# Veritabanını geri yükle
psql -U app_user -d myapp_db < backup.sql

Yararlı İpuçları

  • Veritabanı kullanıcıları için her zaman güçlü şifreler kullanın
  • pg_hba.conf dosyasında uzaktan erişimi belirli IP adresleriyle sınırlandırın
  • pg_dump kullanarak veritabanlarınızı düzenli olarak yedekleyin
  • PostgreSQL loglarını izleyin: /var/log/postgresql/ (Ubuntu) veya /var/lib/pgsql/15/data/log/ (CentOS)
  • Yüksek trafikli uygulamalar için bağlantı havuzlama (pgBouncer) kullanın
  • Güvenlik yamaları için PostgreSQL'i en son kararlı sürüme güncel tutun