Ubuntu PostgreSQL Kurulumu Nasıl Yapılır?

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

Ubuntu PostgreSQL Kurulumu Nasil Yapilir

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.

Ubuntu PostgreSQL Kurulumu Nasil Yapilir2

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ı parolasını 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ı,

Ubuntu PostgreSQL Kurulumu Nasil Yapilir3

Şimdi tekrar veritabanı sunucusuna bağlanalım:

$ psql -h localhost -U postgres

DemoPassword dizisini şifre olarak girelim ve şimdi veritabanına bağlandık.

Ubuntu PostgreSQL Kurulumu Nasil Yapilir4

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’u’*’ 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:

Ubuntu PostgreSQL Kurulumu Nasil Yapilir5

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:

Ubuntu PostgreSQL Kurulumu Nasil Yapilir6

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şmeye çalışalım.

$ psql -h 192.168.1.192 -U postgres

Bu örnekte 192.168.1.192, PostgreSQL veritabanı sunucusunun IP adresidir.

Ubuntu PostgreSQL Kurulumu Nasil Yapilir7

Burada, uzak istemciden DB’ye erişebildiğimizi görebiliriz.

Bu makalenin tamamı bu kadar. Lütfen sorularınızı ve geri bildirimlerinizi aşağıdaki yorumlar bölümüne gönderin.

Bir Yorum

  1. Makaleniz gerçekten bilgilendiriciydi. Ancak, PostgreSQL paket deposunu etkinleştirmek yerine doğrudan kaynak kod indirip derleyerek kurmanın avantajları nelerdir?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu