Site icon Netopsiyon Online

Ubuntu Üzerine PostgreSQL Kurulumu

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
Exit mobile version