CentOS / RHEL 7/6 üzerinde PostgreSQL 11 Veritabanı kurulumu ve yapılandırması.

Kerem Erdem

--

Merhabalar,

PostgreSQL Postgres, PostgreSQL, PSQL ,PostgreSQL 11 versiyonları yakın bir zaman önce piyasaya sunuldu. PostgreSQL açık kaynak kodlu,nesne ilişkisel, yüksek ölçeklenebilir ve de SQL uyumlu bir veritabanı yönetim sistemidir. PostgreSQL, California Üniversitesi’nde Berkeley Computer Science Bölümü’nde geliştirilmiştir. Bu yazıda PostgreSQL 11'i CentOS / RHEL 7/6 sistemine kurulumu ve de yapılandırmasını işleyeceğiz.

Adım 1 — Yum Deposunu Yapılandırma

Öncelikle, sisteminizde PostgreSQL deposunu yapılandırmamız gerekir. PostgreSQL’i otomatik eklemek için işletim sisteminizin sürümüne göre aşağıdaki komutlardan birini kullanılım.

**CentOS/RHEL — 7

sudo rpm -Uvh https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm

**CentOS/RHEL — 6

sudo rpm -Uvh https://yum.postgresql.org/11/redhat/rhel-6-x86_64/pgdg-centos11-11-2.noarch.rpm

Sonrasında

sudo yum repolist

komutu ile deponun eklenip eklenmediğini kontrol edebilirsiniz. Aşağıdaki çıktı işlemin sorunsuz tamamlandığını gösterir.

pgdg11/7/x86_64 PostgreSQL 11 7 — x86_64

Adım 2 — PostgreSQL 11'in Yüklenmesi

Sisteminizde PostgreSQL yum deposunu ekledikten sonra, PostgreSQL 11'i yum paket yöneticisi ile sisteminize kurmak için aşağıdaki komut çalıştırılır.

sudo yum install postgresql11-server

Sisteminize gerekli bazı ek paketleri de yükleyecektir. Kurulum işlemini onaylamak ve tamamlamak için sorduğu soruya Y ile işaretleyip kurulumu tamamlayın.

Adım 3 — PGDATA’yı başlatmak

Bundan sonra PostgreSQL veri tabanımız yapılandırmamız gerekir. Başka bir deyişle, bu sisteminizde veri dizini ve diğer yapılandırma dosyalarını oluşturacaktır.. Veritabanı’nı başlatmak için aşağıdaki komutu kullanalım.

sudo /usr/pgsql-11/bin/postgresql-11-setup initdb

Yukarıdaki komut PostgreSQL’in ilk kez çalıştıracağından işlem biraz zaman alacaktır. PGDATA ortam değişkeni veri dizininin yolunu içerir. İşlem tamamlandıktan sonra aşağıdaki çıktıyı gördüğünüzde işlemin başarılı bir şekilde tamamlandığını gösterir.

[root@centos ~]# /usr/pgsql-11/bin/postgresql-11-setup initdb

Initializing database … OK

Adım 4 — PostgreSQL Server’ı başlatılması.

İşletim sisteminize göre aşağıdaki komutları kullanarak PostgreSQL servisini başlatabiliriz. Ayrıca, PostgreSQL servisinin sistem ön yüklemesinde otomatik olarak başlatılmasını sağlamış olacağız.

CentOS/RHEL — 7

sudo systemctl enable postgresql-11.service

sudo systemctl start postgresql-11.service

CentOS/RHEL — 6

sudo chkconfig postgresql-11 on

sudo service postgresql-11 start

Aşağıdaki komutlar ile servisin durumunu görebilirsiniz.

CentOS/RHEL — 7

sudo systemctl status postgresql-11

CentOS/RHEL — 6

sudo service postgresql-11 status

Adım 5 — PostgreSQL Kurulumunu Doğrulayıp Gözden Geçirme

Yukarıdaki tüm adımları tamamladıktan sonra PostgreSQL 11 veri tabanı sunucumuz kullanıma hazır hale gelmiştir. Bağlantıyı doğrulamak için postfix örneğinde oturum açalım.

Linux bash ekranında aşağıdaki komut ile PostgreSQL veri tabanında oturum açalım.

su - postgres -c "psql"

Oturum açıldıktan sonra PostgreSQL Bash ekranında olacağız.

psql (11.2)

Type “help” for help.

postgres=#

Yukarıdaki çıktıda göründüğü gibi PostgreSQL veri tabanı başaralı bir şekilde çalışıyor. Halen bu ekranda iken her şeyin başı güvenlik diyerek postgres kullanıcısının oturum açma bilgilerini değiştireceğiz. PostgreSQL bash ekranında olduğunuzdan emin olduktan sonra aşağıdaki komut ile şifre belirleme işlemini başlatınız.

postgres=# \password postgres

2 tekrardan sonra şifreniz oluşmuş olacaktır.

— —

Aşağıdaki komut bağlantı bilgileri hakkında size bilgiler verir.

postgres=# \conninfo

You are connected to database “postgres” as user “postgres” via socket in “/var/run/postgresql” at port “5432”.

PostgreSQL Komutları diğer veritabanı komutlarından biraz farklıdır. PostgreSQL komutlarına bu makalenin amacı kurulum ve yapılandırma olduğundan değinmeyeceğim. Ama şu an elinizde çalışan bir PostgreSQL veri tabanı olduğuna göre internet üzerinde binlerce makale ye ulaşıp komutları bire bir uygulayabilirsiniz.

PostgreSQL 11 konfigürasyon ayarlarını alttaki yolda tutar.

/var/lib/pgsql/11/data/

ve burada aşağıdaki ayar dosyaları bulunur.

1: postgresql.conf

Bu ayar dosyası içinde iken çok dikkatli olmanız gerekir PostgreSQL e ait bir ayar bu dosya üzerinde yapılır. O kadar çok ayar vardır ki anlatmak günler sürebilir. Bizim şu an en çok ihtiyaç duyduğumuz bir kaç ayarın nasıl yapılması gerektiğini görmek yeterli olacaktır.

sudo nano postgresql.conf

Nano veya başka bir editör ile ayar dosyasını açın. Ayar dosyası içinde Network ve Port ayarı yapacağımız satırlar aşağıda görünmektedir.

# — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

# CONNECTIONS AND AUTHENTICATION

# — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

# — Connection Settings -

#listen_addresses = ‘localhost’ # what IP address(es) to listen on;

# comma-separated list of addresses;

# defaults to ‘localhost’; use ‘*’ for all

# (change requires restart)

#port = 5432 # (change requires restart)

Şu an PostgreSQL sadece localhost üzerinde çalışmaya ayarlı bunu değiştirmek için. # işaretini kaldırıp aşağıdaki gibi * işareti koymamız yeterli olacaktır.

listen_addresses = ‘*’

Port açılması için # kaldırmanız gerekli. Port değişimini de yapabilirsiniz. Port değişimi yaptıktan sonra vermiş olduğunuz porta Firewall üzerinde izin verip PostgreSQL servisini yeniden başlatmayı unutmayın.

port = 5432

port = 24587

2: pg_hba.conf

Bu ayar dosyası üzerinde PostgreSQL Client Kimlik Doğrulama Konfigürasyon içeriklerini düzenleyebiliriz. Bu ayar içinde de bir çok ayar olmasına rağmen şu an bizim için önemli olan ayarı yapacağız.

sudo nano pg_hba.conf

Resim de görülen ayarları değiştirmemiz gerekli.

IPv4 üzerinde bağlantı sağladığımızı varsayarak tan IPv4 için şu an sadece local bağlantı kabul edilmekte. Ama aşağıdaki şekilde bir çok ayar yapabiliriz.

host    all      all         0.0.0.0/0               md5 *Heryerden
host all all ::/0 md5 *Heryerden
host all all 192.168.0.1/24 md5 *0.1 blok
host all all 192.168.2.1/24 md5 *2.1 blok
host all all 10.10.0.1/24 md5 *10.10.0.1 blok
host all all 127.0.0.1/32 md5 *Local

MD5, kimlik doğrulama metodu. İstemcinin bir çift MD5 karma şifresi sağlamasını gerektiren kimlik doğrulama yöntemidir.

Diğer kimlik doğrulama yöntemlerine ise PostgreSQL internet sitesi üzerinden ulaşabilirsiniz.

Tüm ayarları yaptıktan sonra PostgreSQL veritabını yeniden başlatalım. Sonrasında ise PostgreSQL veri tabanı hizmet vermeye hazırdır.

Kerem ERDEM

Bilgi Teknolojileri Mühendisi

--

--