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.

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 --versionRHEL / 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 --versionKurulumu 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 postgresPostgreSQL'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
\qVeritabanı 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
\qKullanı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 postgresqlTemel 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.sqlYararlı İ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