Bu yazımızda Ubuntu 22.04 (Jammy Jellyfish) üzerine PostgreSQL 15 veritabanı sunucusunun nasıl kurulacağını anlatacağız.
PostgreSQL, güçlü, açık kaynaklı bir nesne-ilişkisel Veritabanı Yönetim Sistemidir (DBMS). Güvenilirlik ve performans açısından güçlü bir itibar kazanan 35 yılı aşkın bir süredir savaşta test edilmiştir. Bu zengin özelliklere sahip veritabanı, Apple, IMDB, Instagram vb. gibi birçok teknoloji devi tarafından kullanılmaktadır.
PostgreSQL, çok sayıda SQL standardını destekler ve birçok yönden kullanıcılar tarafından genişletilebilir olacak şekilde yapılandırılmıştır. Belirgin özelliklerden bazıları ACID işlemlerini, yabancı anahtarları, alt sorguları, tetikleyicileri, kullanıcı tanımlı türleri, işlevleri vb. içerir.
Önkoşullar
PostgreSQL sunucusunu kurmadan önce, sistemin aşağıdaki kurulum gereksinimlerini karşıladığından emin olmalıyız:
- Önceden Yüklenmiş Ubuntu 22.04
- Sudo haklarına sahip normal bir kullanıcı
- Aktif bir internet bağlantısı
- Ek 512 MB disk alanı ile en az 2 GB RAM. Lütfen bunun demo ortamı için minimum bir gereklilik olduğunu unutmayın. Gerçek donanım yapılandırması, veri hacmine göre değişir.
Daha fazla gecikmeden PostgreSQL 15 kurulum adımlarını derinlemesine inceleyelim,
1) PostgreSQL Paket Deposunu Etkinleştir
PostgreSQL 15 paketi varsayılan paket deposunda mevcut değildir, bu nedenle aşağıdaki komutları kullanarak resmi paket deposunu etkinleştirin.
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
Başlamak için, paketlerin en son sürümlerini getirelim. Bunu, aşağıda gösterildiği gibi apt update komutunu kullanarak başarabiliriz:
$ sudo apt update
Yukarıdaki komutun tamamlanması birkaç saniye sürecektir.
2) PostgreSQL 15 Veritabanı Sunucusu ve İstemcisini Kurun
Postgresql paketi PostgreSQL veritabanı sunucusunun varsayılan sürümünü kurarken, postgresql-client paketi istemci yardımcı programını kurar.
Aşağıdaki apt komutunu kullanarak PostgreSQL istemcisini ve sunucusunu kuralım:
$ sudo apt install postgresql postgresql-client -y
Ardından, PostgreSQL hizmetinin çalışır durumda olduğunu doğrulayalım:
$ sudo systemctl status postgresql
Son olarak, psql komut satırı yardımcı programını kullanarak PostgreSQL sürümünü kontrol edin:
$ psql --version
Burada PostgreSQL’in sürümünün 15 olduğunu görebiliriz.
3) PostgreSQL Yönetici Kullanıcı Parolasını Güncelleyin
Varsayılan olarak PostgreSQL sunucusuna herhangi bir şifre kullanmadan bağlanabiliyoruz. Bunu psql yardımcı programını kullanarak çalışırken görelim:
$ sudo -u postgres psql postgres=#
Yukarıdaki çıktıda, postgres=# istemi, PostgreSQL sunucusuyla etkin bağlantıyı gösterdi.
Bu örnekte postgres kullanıcısını kullandık. Bu, PostgreSQL’in yönetici kullanıcısıdır ve kurulum işlemi sırasında oluşturulur.
Veritabanına yönetici erişimine parola olmadan izin vermek iyi bir fikir değildir. O halde postgres kullanıcısının şifresini belirleyelim:
postgres=# ALTER USER postgres PASSWORD 'demoPassword';
Yukarıdaki SQL sorgusu, kullanıcı şifresini demoPassword olarak ayarlar. Lütfen dikkat, bu bir demo ortamı olduğu için çok basit bir şifre kullandık. Ancak, üretim ortamında aynı şey önerilmez.
Parolanın başarıyla ayarlandığını doğrulayalım. İlk olarak, \q komutunu kullanarak mevcut oturumu sunucuyla sonlandırın.
postgres=# \q
Yukarıdaki komutların çıktısı,
Şimdi tekrar veritabanı sunucusuna bağlanalım:
$ psql -h localhost -U postgres
DemoPassword dizisini şifre olarak girelim ve şimdi veritabanına bağlandık.
4) PostgreSQL’i Uzak Bağlantılara İzin Verecek Şekilde Yapılandırın
Varsayılan olarak, PostgreSQL yalnızca yerel ana bilgisayardan gelen bağlantıları kabul eder. Ancak, uzak istemcilerden bağlantıya izin vermek için yapılandırmayı kolayca değiştirebiliriz.
PostgreSQL, yapılandırmasını /etc/postgresql/<version>/main/ dizininde bulunan postgresql.conf dosyasından okur. Burada sürüm, PostgreSQL’in ana sürümünü gösterir.
Örneğin, bizim durumumuzda dosyanın tam yolu /etc/postgresql/15/main/postgresql.conf şeklindedir.
Şimdi, postgresql.conf dosyasını bir metin düzenleyicide açın, listen_addresses ile başlayan satırın yorumunu kaldırın ve ‘localhost’ yerine ‘*’ ile değiştirin.
Bu ayar, BAĞLANTILAR VE DOĞRULAMA bölümünün altında bulunur. Değişiklikten sonra dosya şöyle görünecektir:
Dosyayı kaydedin ve kapatın.
Ardından, tüm istemcilerden IPv4 bağlantılarına izin vermek için pg_hba.conf dosyasının IPv4 yerel bağlantıları bölümünü düzenleyin. Lütfen bu dosyanın /etc/postgresql/15/main/ dizininde de bulunduğunu unutmayın.
$ sudo vi /etc/postgresql/15/main/pg_hba.conf
Değişiklikten sonra dosya şöyle görünecektir:
Yukarıdaki yapılandırmada 192.168.1.0/24 ağından bağlantıya izin verildiği belirtilir.
Sisteminizde Ubuntu güvenlik duvarı çalışıyorsa aşağıdaki komutu kullanarak PostgreSQL 5432 portuna izin verin,
$ sudo ufw allow 5432/tcp
Uzak Bağlantıyı Doğrulama
Son olarak, hizmeti yeniden başlatın ve çalışır durumda olduğunu doğrulayın:
$ sudo systemctl restart postgresql $ sudo systemctl status postgresql
Şimdi uzak istemciden DB’ye erişmeyi deneyelim.
$ psql -h 192.168.1.192 -U postgres
Bu örnekte 192.168.1.192, PostgreSQL veritabanı sunucusunun IP adresidir.
Burada, uzak istemciden DB’ye erişebildiğimizi görebiliriz.
Yazının orijinalini buradan okuyabilirsiniz.