PostgreSQL, güvenilirliği, esnekliği ve gelişmiş özellikleri ile bilinen güçlü bir açık kaynaklı ilişkisel veritabanı yönetim sistemidir. Burada sizlere Ubuntu 22.04 üzerine PostgreSQL’in nasıl kurulacağını ve temel yapılandırmalarının nasıl yapılacağını anlatacağım.
1. PostgreSQL Kurulumuna Başlamadan Önce
Öncelikle, sistemimizi güncelleyerek en son paketleri alalım:
sudo apt update && sudo apt upgrade -y
Ardından, PostgreSQL’i yüklemek için aşağıdaki komutu çalıştırın:
sudo apt install postgresql postgresql-contrib -y
Bu komut, PostgreSQL sunucusunu ve ek yardımcı araçları içeren postgresql-contrib paketini yükler.
Kurulum tamamlandıktan sonra PostgreSQL’in çalışıp çalışmadığını kontrol edelim:
sudo systemctl status postgresql
Eğer çalışmıyorsa aşağıdaki komutla başlatabilirsiniz:
sudo systemctl start postgresql
Sistemi her yeniden başlattığınızda PostgreSQL’in otomatik olarak başlamasını sağlamak için:
sudo systemctl enable postgresql
2. PostgreSQL’e Giriş Yapma ve Kullanıcı Yönetimi
PostgreSQL, varsayılan olarak postgres adlı bir sistem kullanıcısı oluşturur. PostgreSQL’e erişmek için önce bu kullanıcıya geçiş yapmalıyız:
sudo -i -u postgres
Şimdi PostgreSQL konsoluna bağlanabiliriz:
psql
Bu komutla PostgreSQL komut satırına giriş yapmış olacaksınız. Çıkmak için \q
yazabilirsiniz.
Yeni Bir Kullanıcı ve Veritabanı Oluşturma
PostgreSQL üzerinde yeni bir kullanıcı oluşturmak için aşağıdaki komutu çalıştırın:
CREATE USER yeni_kullanici WITH PASSWORD 'guclu_sifre';
Yeni bir veritabanı oluşturun:
CREATE DATABASE yeni_veritabani;
Kullanıcıya bu veritabanında tam yetki vermek için:
GRANT ALL PRIVILEGES ON DATABASE yeni_veritabani TO yeni_kullanici;
Değişiklikleri etkinleştirmek için:
ALTER USER yeni_kullanici WITH SUPERUSER;
Son olarak, PostgreSQL konsolundan çıkmak için \q
yazabilirsiniz.
3. PostgreSQL Konfigürasyon ve Güvenlik Ayarları
PostgreSQL’in Uzaktan Erişime Açılması
Varsayılan olarak PostgreSQL sadece localhost üzerinden bağlantılara izin verir. Eğer uzak bir sunucudan bağlanmak istiyorsanız, şu adımları takip edin.
1️⃣ Yapılandırma dosyasını açın:
sudo nano /etc/postgresql/14/main/postgresql.conf
2️⃣ Aşağıdaki satırı bulun ve düzenleyin:
listen_addresses = 'localhost'
Bunu şu şekilde değiştirin:
listen_addresses = '*'
Bu işlem, tüm IP adreslerinden gelen bağlantılara izin verir.
3️⃣ Kullanıcı erişim politikalarını değiştirmek için pg_hba.conf
dosyasını düzenleyin:
sudo nano /etc/postgresql/14/main/pg_hba.conf
Dosyanın en altına şu satırı ekleyin:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
4️⃣ PostgreSQL servisini yeniden başlatın:
sudo systemctl restart postgresql
5️⃣ Güvenlik duvarında 5432 portunu açın:
sudo ufw allow 5432/tcp
Artık PostgreSQL’e uzaktan bağlanabilirsiniz!
4. PostgreSQL Performans Optimizasyonu
PostgreSQL’in performansını artırmak için bazı temel ayarları değiştirebiliriz. Bunun için yapılandırma dosyasını açın:
sudo nano /etc/postgresql/14/main/postgresql.conf
Aşağıdaki ayarları ekleyerek veya güncelleyerek PostgreSQL’in daha verimli çalışmasını sağlayabilirsiniz:
shared_buffers = 256MB
work_mem = 64MB
effective_cache_size = 512MB
maintenance_work_mem = 128MB
Yapılan değişiklikleri etkinleştirmek için PostgreSQL’i yeniden başlatın:
sudo systemctl restart postgresql
5. PostgreSQL Yedekleme ve Geri Yükleme
PostgreSQL veritabanlarını düzenli olarak yedeklemek kritik önem taşır. Mevcut bir veritabanını yedeklemek için aşağıdaki komutu kullanabilirsiniz:
pg_dump -U postgres -W -F c -b -v -f "veritabani_yedek.pgdump" yeni_veritabani
Tüm veritabanlarını yedeklemek için:
pg_dumpall -U postgres -W > tum_veritabanlari_yedek.sql
Yedeklenen veriyi geri yüklemek için:
pg_restore -U postgres -d yeni_veritabani -v "veritabani_yedek.pgdump"
Tüm veritabanlarını geri yüklemek için:
psql -U postgres -f tum_veritabanlari_yedek.sql
📌 Eğer hata alırsanız logları kontrol edebilirsiniz:
sudo journalctl -u postgresql --no-pager | tail -n 50