CentOS / RHEL 7/6 üzerinde PostgreSQL 11 Veritabanı kurulumu ve yapılandırması.
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