PostgreSQL Kurulumu ve Ayarları

# Repositorinin anahtarlarını (key) import edebilmek için gnupg
paketine ihtiyaç var.
apt-get install -y gnupg

#repositori bilgilerinin girileceği pgdg.list dosyası
oluşturulur

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_
release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Repositorinin imzası import edilir:
wget --quiet -O - https://www.postgresql.org/media/keys/
ACCC4CF8.asc | sudo apt-key add -

# Paket listesi güncellenir:
sudo apt-get update

# En güncel PostgreSQL versiyonunu kurmak için
sudo apt-get -y install postgresql

Kurulum sırasında güvenlik anahtarları ile ilgili hata almamak için gnupg paketine
ihtiyaç duyulmaktadır. İlk adımda bu paketi yüklüyoruz.
İkinci adımda repositori dizininde pgdg.list dosyasını oluşturup içerisine
postgresql’in linkini veriyoruz.
Daha sonra güvenlik anahtarını (key) giriyor, paket listesini güncelleyip kurulumu
yapıyoruz.
Not: Eğer farklı bir sürüm kurmak isterseniz ‘postgresql-15’ gibi versiyon yazılması
gerekir

postgres@srv1:~$ sudo su - postgres
postgres@srv1:~$ psql
psql (14.5 (Debian 14.5-1.pgdg100+1))
Type “help” for help.
postgres=# \l
List of databases
Name      | Owner    | Encoding | Collate     | Ctype       |
-----------+----------+----------+-------------+-------------+
postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

Burada dikkat edilmesi gereken nokta, postgresql 13 öncesi sürümlerde kurulum
sonrasında initdb ile veritabanını (cluster -bu kavram mimari modülünde anlatıldı-)
oluşturmak gerekiyordu.
Örnek
initdb -D /var/lib/postgresql/9.6/data -E unicode
Bu yazıda Debian temelli linuxlere Postgresql veritabanının kurulumunu gördük.
Redhat/Centos/Oracle linux sistemlerinde apt yerine yum ile kurulum yapılır. Bunların
haricinde kaynak koddan derleyerek de kurulum yapılabilir. Kaynak koddan kurulumda
bütün işlemleri tek tek yapmamız gerekecektir.

  • Postgres kulanıcısının oluşturulması,
  • Dizinlerin hazırlanması,
  • Hakların verilmesi,
  • Kaynak kodların indirilip derlenmesi,
  • Cluster’ın başlatılması,
  • Scriptlerin yazılıp servislerin oluşturulması vs.
    Bütün bu işlemler manuel yapılır.

postgres Kullanıcısına Şifre Verilmesi

# İşletim sistemindeki postgres kullanıcısına şifre verilmesi
# root kullanıcısı ile
passwd postgres
# şifre girilirken ekranda görünmez, aynı şifreyi ikinci kez
girmemizi ister.
# Veritabanındaki postgres kullanıcısının şifresinin
değiştirilmesi
# postgres kullanıcısı ile işletim sistemine giriş yapılır.
psql
alter user postgres password 'sifreniz';

SSH ile sunucuya bağlanırken (ssh kullanıcıismi@192.168.134.71) işletim
sistemindeki kullanıcı ile giriş yapılır. SSH bağlantısı işletim sistemi seviyesindeki bir
bağlantıdır (VNC, RDP, vb.).
SSH ile sunucuya bağlandıktan sonra psql ile veritabanına bağlanabilirsiniz.

Postgresql’e Bağlanma

# Postgresql daemon’ının dinleyeceği IP/IP’leri ayarlıyoruz.
# Postgresql DB sunucunun IP’si 192.168.134.71
psql
alter system set listen_addresses=’192.168.134.71’;
# Sadece bu girilen adresi dinler.
# Sunucunuzdan 1’den fazla sayıda ethernet ve/veya IP adresi
var ise ve bütün IP’lerin dinlenmesini istenirse.
alter system set listen_addresses='*' ;
# 2. adım pg_hba.conf dosyasına, veritabanına bağlanacak
IP’leri eklememiz gerekiyor. (Sayfanın sonuna eklenebilir.)
vim /etc/postgresql/13/main/pg_hba.conf
host all all 192.168.134.0/24 md5
# Ayarların geçerli olması için Postgresql’in kapatıp açılması
gerekiyor.
sudo systemctl restart postgresql.service

Bu ayarlardan sonra host (masaüstü/dizüstü) makinenizden pgadmin, psql vb. bir
postgres istemcisi (client) ile bağlanabilirsiniz.

Terminal üzerinden bağlantı ;
psql -h 192.168.134.71 -d db_ismi -U postgres -W

pgAdmin

Maintenance database sekmesine bağlanılacak veritabanının ismi girilir. Super user ile bağlantı yapılıp tüm veritabanlarına erişilmek isteniyorsa “postgres” kalabilir. Kısa kılavuz dökümanı olduğu için fazla detaya girilmemiştir.

Extension’ların Kurulumu ve Yönetimi

# En güncel paketi yüklemek için
apt install postgresql-contrib
# Farklı bir sürüm yüklenmek istenirse aşağıdaki parametrelerle sorgulanabilir.
apt list |grep postgresql-contrib
# Sorgulama
psql
SELECT * FROM pg_available_extensions;
# Yüklenmiş extension ları listeme
\dx
# Aktif etme
create extension adminpack ;
# Silme
drop extension adminpack ;

Extension’lar önceden eklenti (add-on) ve katkı (contrib) olarak adlandırılırdı. Şu an ise
geneli için extension ismi kullanılıyor.
Extensionlar ile postgrsql’in işlevselliği artırılabiliyor. Defaultta var olmayan bir özellik
açık kaynak olarak üretilip bu extensionlara dahil edilebiliyor. Şu an defaultta 44 adet
extension bulunmakta.
adminpack extension’ı uzaktan veritabanının yönetimi için ek özellikler sağlar. Örneğin
uzaktan log dosyalarının yönetimi (super kullanıcı ile).

Kategori seçin...