Pardus 17 (Debian 9) Üzerine PostgreSQL 11.x Kurulumu (Install PostgreSQL 11.x On Debian 9)

Pardus 17 (Debian 9) Üzerine PostgreSQL 11.x Kurulumu (Install PostgreSQL 11.x On Debian 9)

16 Temmuz 2019 0 Yazar: Ali KOCA

Pardus 17 (Debian 9) Üzerine PostgreSQL 11.x Kurulumu

(Install PostgreSQL 11.x On Debian 9)

  • Yeni sources.list’in oluşturulması: 
    $ sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > sudo /etc/apt/sources.list.d/pgdg.list
  • Üstteki kaynak için gerekli anahtarın tanıtılması:
    $ sudo apt-get install wget ca-certificates
    $ sudo su -c 'wget -q -O- https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -'

    Eğer yukarıdaki şekilde yükleyemezseniz aşağıdaki şekilde iki merhalede sertifikayı önce indirip, sonra tanıtabilirsiniz.

    $ sudo wget https://www.postgresql.org/media/keys/ACCC4CF8.asc
    $ sudo apt-key add ACCC4CF8.asc
  • Sistemin Postgresql 11.x yazılımının kurulumu için update edilmesi:
    $ sudo apt-get update
  • Postgresql 11.x yazılımının kurulumu
    $ sudo apt-get install postgresql postgresql-contrib
  • Postgres kullanıcısın şifresinin değiştirilmesi:
    $ sudo passwd postgres
  • pg_hba.conf da gerekli bağlantı ayarının yapılması:
    $ sudo nano /etc/postgresql/11.x/main/pg_hba.conf
    host    all             all 127.0.0.1/32           
    md5
     
    host    all             all 192.168.0.0/0          md5
    host    all            
    all 0.0.0.0/0               md5
    host    all             all ::ffff:192.168.0.0/120 
    md5
  • postgresql.conf da gerekli bağlantı ayarının yapılması:
    $ sudo nano  /etc/postgresql/11.x/main/postgresql.conf
    listen_addresses='*'
  • Servisi başlatma:
    $ sudo systemctl start postgresql
  • 5432 Portunun dinlenip dinlenmediğinin kontrol edilmesi:
    $ sudo netstat -tulpn | grep :5432
  • Postgresql servislerinin kontrol edilmesi:
    $ sudo ps auxw | grep postgres
  • Uzak makinadan bağlantı yapılması: (Bunu biraz sonraki adımlarda bulunan “Yeni Veritabanı Rolü Oluşturulması”ndan sonra test ediniz.)
    $ sudo psql -h 192.168.56.101 -p 5432 -U u_ali -W db_ali
  • Postgresql Servisinin Başlatılması:
    $ sudo systemctl start  postgresql
  • Postgresql Servisinin Kaydedilmesi:
    $ sudo systemctl enable  postgresql
  • Yeni Veritabanı Rolü Oluşturulması (Kullanıcı İsmi: u_ali):
    $ su - postgres
    $ psql (postgres kullanıcısındayız!)
     
    postgres=# create user u_ali encrypted password 'abc';
  • Yeni TableSpace Oluşturulması:

    Önce dizini oluşturalım. (postgres kullanıcısı ile)

    $ sudo mkdir /media/ali/sda3/postgresql-11.x/data/ts/ts_ali -p
    postgres=# Create TableSpace ts_ali Owner u_ali Location '/media/ali/sda3/postgresql-11.x/data/ts/ts_ali';
  • Yeni Veritabanı Oluştur:
    postgres=# CREATE DATABASE db_ali WITH OWNER u_ali TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'tr_TR.UTF8' LC_CTYPE = 'tr_TR.UTF8' TableSpace ts_ali;
  • u_ali Kullanıcısını db_ali veritabanı üzerinde dba yapma:
    postgres=# GRANT ALL ON DATABASE db_ali TO u_ali;
  • ali veritabanına psql ile erişim:
    $ psql -d db_ali
  • Bağlantı bilgilerinin görüntülenmesi:
    postgres=# \conninfo
  • DB Kullanıcı Şifresinin Değiştirilmesi:
    postgres=# \password postgres
  • Firewalld Servisinin Kapatılması:
    $ sudo systemctl disable firewalld
    # systemctl stop firewalld
  • Firewalld Servisini Kapatmadan Yetki Verilmesi:
    $ sudo firewall-cmd -permanent -add-port=5432/tcp
    # firewall-cmd -permanent -add-port=80/tcp
    # firewall-cmd -reload
  • Eğer SELinux Aktif İse:
    (Run the following command to make PostgreSQL work if SELinux enabled on your system.)

    $ sudo setsebool -P httpd_can_network_connect_db 1
  • Başka bilgisayardan veritabanına psql ile bağlanmak:
    $ psql -h 192.168.56.101 -p 5432 -U u_ali -W db_ali
  • Test Tablosunun Oluşutrulması Ve Veri Atılması:
    postgres=# Create Table Tecrube(OKytNo int Not Null Primary Key);
    postgres=# Insert Into Tecrube (OKytNo) Select generate_Series(1,200);
    postgres=# Select * From Tecrube limit 10;