Linux'ta Kaynak Kodunu Kullanarak PostgreSQL Nasıl Kurulur


Açık kaynaklı bir ilişkisel veritabanı yönetim sistemi olan PostgreSQL, sağlam özellikleri ve genişletilebilirliği ile yaygın olarak tanınmaktadır. Birçok Linux dağıtımı PostgreSQL'i paket yöneticileri aracılığıyla sağlarken, onu kaynaktan yüklemek daha fazla özelleştirme ve kontrol sağlar.

Bu yazımızda Linux sistemlerde kaynak kod kurulumu kullanılarak PostgreSQL 16 kurulumunun nasıl yapılacağını anlatacağız.

Dağıtım paketi yöneticisinden daha kolay bir kurulum yöntemi arayanlar lütfen aşağıdaki kılavuzları takip edin:

Önkoşullar

PostgreSQL kurulum sürecine dalmadan önce sisteminizin aşağıdaki önkoşulları karşıladığından emin olun:

  • Bir Linux dağıtımı (bu kılavuzda tanıtım amacıyla Debian'ı kullanacağız).
  • Sudo ayrıcalıklarına sahip, root olmayan bir kullanıcıya sahip bir Linux sistemi.
  • GCC ve Make gibi temel geliştirme araçları yüklüdür.

1. Linux'ta Önkoşulları Yükleyin

Öncelikle, gösterildiği gibi dağıtım paketi yöneticisini kullanarak GCC ve Make gibi temel geliştirme araçlarını yükleyin.

CentOS, Fedora, Rocky Linux ve Alma Linux gibi RHEL tabanlı dağıtımlarda:

sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel

Ubuntu ve Linux Mint gibi Debian tabanlı dağıtımlarda.

sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config

2. PostgreSQL Kaynak Kodunu İndirin

Gerekli önkoşullar yüklendikten sonra, doğrudan sistemdeki aşağıdaki wget komutunu kullanarak kaynak kodu tar dosyasını resmi postgres web sitesinden indirin. Bu yazının yazıldığı an itibarıyla en son sürüm PostgreSQL 16.1'dir.

wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2

Daha sonra indirilen tarball dosyasını çıkarmak için tar komutunu kullanın. postgresql-16.1 adında yeni bir dizin oluşturulacak.

tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l

Örnek Çıktı:

-rw-r--r--.  1 tecmint tecmint    365 Nov  7 03:34 aclocal.m4
drwxr-xr-x.  2 tecmint tecmint   4096 Nov  7 03:47 config
-rwxr-xr-x.  1 tecmint tecmint 584560 Nov  7 03:34 configure
-rw-r--r--.  1 tecmint tecmint  87292 Nov  7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint   4096 Nov  7 03:47 contrib
-rw-r--r--.  1 tecmint tecmint   1192 Nov  7 03:34 COPYRIGHT
drwxr-xr-x.  3 tecmint tecmint   4096 Nov  7 03:47 doc
-rw-r--r--.  1 tecmint tecmint   4288 Nov  7 03:34 GNUmakefile.in
-rw-r--r--.  1 tecmint tecmint    277 Nov  7 03:34 HISTORY
-rw-r--r--.  1 tecmint tecmint  64601 Nov  7 03:48 INSTALL
-rw-r--r--.  1 tecmint tecmint   1875 Nov  7 03:34 Makefile
-rw-r--r--.  1 tecmint tecmint 102017 Nov  7 03:47 meson.build
-rw-r--r--.  1 tecmint tecmint   6266 Nov  7 03:34 meson_options.txt
-rw-r--r--.  1 tecmint tecmint   1213 Nov  7 03:34 README
drwxr-xr-x. 16 tecmint tecmint   4096 Nov  7 03:48 src

3. PostgreSQL'i Kaynaktan Yapılandırma

postgres açık kaynaklı bir veritabanı olduğundan kişinin ihtiyaçlarına/gereksinimlerine göre kaynak kodundan oluşturulabilir. çeşitli ek özellikler için bir veya daha fazla komut satırı seçeneği sağlayarak derleme ve yükleme sürecini özelleştirebiliriz.

Gösterildiği gibi çeşitli seçenekler ve yapılandırma kullanımıyla ilgili yardım için aşağıdaki komutu kullanın.

./configure --help

Şimdi sisteminizi bağımlılıklara karşı kontrol edecek ve yapıyı buna göre yapılandıracak olan yapılandırma betiğini çalıştırın.

./configure

4. PostgreSQL'i Kaynaktan Kurun

Yapılandırıldıktan sonra PostgreSQL'i kaynaktan oluşturmak ve yüklemek için aşağıdaki komutları kullanın.

make
sudo make install

5. Postgres Kullanıcısı Oluşturma

Şimdi veritabanı kümesini başlatmak için veri dizini olarak kullanılacak bir postgres kullanıcısı ve dizini oluşturun. Bu data dizininin sahibi bir postgres kullanıcısı olmalı ve izinler 700 olmalıdır, ayrıca kolaylık sağlamak için postgresql ikili dosyaları için bir yol belirlemelidir.

sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh 

6. Postgres Veritabanının Başlatılması

Şimdi herhangi bir postgres komutunu kullanmadan önce postgres kullanıcısı olarak aşağıdaki komutu kullanarak veritabanını başlatın.

su postgres
initdb -D /pgdatabase/data/ -U postgres -W

Burada -D bu veritabanı kümesinin konumudur veya veritabanı kümesini başlatmak istediğimiz veri dizini diyebiliriz, veritabanı süper kullanıcı adı için -U ve < db süper kullanıcısı için şifre istemi için-W.

Daha fazla bilgi ve seçenek için initdb --help'e başvurabiliriz.

7. PostgreSQL Hizmetini başlatın

Veritabanını başlattıktan sonra veritabanı kümesini başlatın veya bağlantı noktasını değiştirmeniz veya sunucunun adresini dinlemeniz gerekiyorsa, veri dizinindeki /pgdatabase/data/postgresql.conf dosyasını düzenleyin. veritabanı sunucusu.

nano /pgdatabase/data/postgresql.conf

Şimdi PostgreSQL hizmetini başlatın.

pg_ctl -D /pgdatabase/data/ start

Veritabanını başlattıktan sonra aşağıdaki ps ve netstat komutlarını kullanarak postgres sunucu işleminin durumunu doğrulayın.

ps -ef |grep -i postgres
netstat -apn |grep -i 51751

Database Cluster'ın sorunsuz çalıştığını ve Database Cluster'ı başlatırken -l seçeneği ile belirtilen lokasyonda startup loglarının bulunabildiğini görebiliriz.

pg_ctl -D /pgdatabase/data/ -l logfile start

8. PostgreSQL'e bağlanın

Şimdi veritabanı kümesine bağlanın ve aşağıdaki komutları kullanarak bir veritabanı oluşturun.

psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

PostgreSQL'inizi yönetmek için pgAdmin adlı grafiksel bir araç arıyorsanız, Linux dağıtımınıza pgAdmin'i yüklemek için bu kılavuzları izleyin.

Çözüm

PostgreSQL'i Linux sisteminize kaynaktan başarıyla yüklediniz. Bu süreç, PostgreSQL kurulumunuz üzerinde esneklik ve kontrol sağlayarak kurulumu özel gereksinimlerinize göre uyarlamanıza olanak tanır.