Temel Yapılandırma
Bu bölümde PostgreSQL kurulumu sonrası yapılması gereken temel yapılandırma adımları, önemli yapılandırma dosyaları ve servis yönetimi anlatılacaktır.
Yapılandırma Dosyaları
PostgreSQL'in ana yapılandırma dosyaları genellikle veritabanı kümesinin (data directory) içinde bulunur. Bu dizinin konumu dağıtıma ve kuruluma göre değişebilir, ancak genellikle şuralarda bulunur:
RHEL Tabanlı:
/var/lib/pgsql/<sürüm>/data/
(Örn:/var/lib/pgsql/16/data/
)Debian Tabanlı:
/etc/postgresql/<sürüm>/<küme_adı>/
(Örn:/etc/postgresql/16/main/
)
Bu dizin içindeki en önemli iki yapılandırma dosyası şunlardır:
postgresql.conf
: Sunucunun ana yapılandırma dosyasıdır. Dinlenecek ağ arayüzleri (listen_addresses
), port (port
), bellek ayarları (shared_buffers
,work_mem
), loglama ayarları (log_destination
,logging_collector
), bağlantı limitleri (max_connections
) gibi birçok parametreyi içerir. Değişikliklerin çoğu bu dosyada yapılır ve genellikle servisin yeniden başlatılmasını veya yeniden yüklenmesini (reload
) gerektirir.pg_hba.conf
(Host-Based Authentication): İstemci kimlik doğrulama kurallarını tanımlar. Hangi kullanıcıların, hangi veritabanlarına, hangi IP adreslerinden (veya soketlerden) ve hangi kimlik doğrulama yöntemleriyle (örn:trust
,peer
,scram-sha-256
,md5
) bağlanabileceğini belirler. Bu dosyadaki değişiklikler genellikle servisin yeniden yüklenmesi (reload
) ile aktif hale gelir.Önemli Not: Varsayılan olarak, PostgreSQL genellikle sadece yerel Unix soketi üzerinden
peer
veyatrust
kimlik doğrulamasına izin verir. Ağ üzerinden parola ile bağlanmak içinpg_hba.conf
dosyasını düzenlemeniz velisten_addresses
ayarınıpostgresql.conf
içinde değiştirmeniz gerekir.
Servis Yönetimi (systemd)
systemd
kullanan modern Linux dağıtımlarında PostgreSQL servisini yönetmek için systemctl
komutu kullanılır. Servis adı genellikle sürüm numarasını içerir.
Servis Durumunu Kontrol Etme:
# RHEL Tabanlı (Örn: Sürüm 16) sudo systemctl status postgresql-16 # Debian Tabanlı (Örn: Sürüm 16, Küme 'main') sudo systemctl status postgresql@16-main
Servisi Başlatma:
# RHEL Tabanlı sudo systemctl start postgresql-16 # Debian Tabanlı sudo systemctl start postgresql@16-main
Servisi Durdurma:
# RHEL Tabanlı sudo systemctl stop postgresql-16 # Debian Tabanlı sudo systemctl stop postgresql@16-main
Servisi Yeniden Başlatma:
# RHEL Tabanlı sudo systemctl restart postgresql-16 # Debian Tabanlı sudo systemctl restart postgresql@16-main
Yapılandırmayı Yeniden Yükleme (Reload):
postgresql.conf
veyapg_hba.conf
dosyalarında yapılan bazı değişiklikleri servisi tamamen durdurup başlatmadan uygulamak için kullanılır.# RHEL Tabanlı sudo systemctl reload postgresql-16 # Debian Tabanlı sudo systemctl reload postgresql@16-main
Servisi Sistem Açılışında Etkinleştirme:
# RHEL Tabanlı sudo systemctl enable postgresql-16 # Debian Tabanlı sudo systemctl enable postgresql@16-main
Servisi Sistem Açılışında Devre Dışı Bırakma:
# RHEL Tabanlı sudo systemctl disable postgresql-16 # Debian Tabanlı sudo systemctl disable postgresql@16-main
Doğru servis adını bulmak için systemctl list-units | grep postgres
gibi komutlar kullanılabilir.
Last updated