Ubuntu 20.04 PostGreSQL 13 Kurulumu ve DB İşlemleri

Selamlar arkadaşlar bu makalemde sizlere Ubuntu 20.04 üzerinde PostGreSQL kurulumunu anlatacağım. Bu sayede Ubuntu üzerinde DB koşturabilecek ve DB içerisinde istediğiniz gibi işlemler yapabileceksiniz.

Bunun için ubuntu cihazınızında Hostname, Host, Ip, Update ve Upgrade işlemlerinizi önceden yapmanızı rica ederim.

PostGreSQL Kurulumu :

> sudo apt -y install vim bash-completion wget
> wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
> echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee  /etc/apt/sources.list.d/pgdg.list
> sudo apt update
> sudo apt install postgresql-13 postgresql-client-13 -y
> systemctl enable postgresql
> systemctl start postgresql
> systemctl status postgresql

// Kodları yardımı ile PostGreSQL 13 kurulumu yapabilirsiniz.

DB İşlemleri :

Kullanıcı Ekleme :

> adduser admin

// Bu kod ile ilk önce Ubuntu üzerinde bir kullanıcı oluşturuyoruz.

> su – postgres

// Postgres kullanıcısına geçiyoruz ki PostGreSQLdatabase’inde işlemler gerçekleştirebilelim.

> createuser admin

// Komutu yardımı ile DB’ler için kullanıcı oluşturuyoruz.

> psql -c "select usename from pg_user;"

// Komutu yardımı ile DB içerisindeki kullanıcılarımızı görebiliyoruz.

> createdb testdb -O admin

// Admin kullanıcının Owner olduğu Testdb’mizi oluşturduk. Bu komutla DB oluşturuyoruz.

> psql -l

// Komutu ile PostGreSQL içerisindeki DB’lerin listesini alıyoruz.

> psql testdb

// Komutu ile oluşturduğumuz DB içerisine giriyoruz.

> \q

//DB içerisindeyken yazdığınız bu komut ile DB’den çıkıyoruz.

> psql
> \c testdb

// psql komutu ile postgres kullanıcısına geçebilir ve \c komutu ile de istediğiniz DB’ye girebilirsiniz.

> \l 

// \L (Komutta küçük olmalı) komutu ilede DB içerisindeyken diğer DB’lerin listesini alabilirsiniz.

> \du

//DB içerisindeyken Kullanıcıların ne yetkileri olduğunu görmek isterseniz bu komutu kullanıyorsunuz.

> create table test_table (no int, name text);

// Komutu yardımı ile Tablo oluşturabilirsiniz. Bu ayrıntılı SQL komutları olduğu için çok yer vermeyeceğim yazımda.

> \dt

// Komutu ilede DB içerisindeki Tabloları listeleyebilirsiniz.

> drop table test_table;

// Komutu ile de Table’larınızdan silebilirsiniz.

> su - postgres
> psql
> ALTER ROLE admin WITH PASSWORD 'password';

// Eğer admin kullanıcısının Password bilgisini yanlış yazdıysanız bunu yukarıdaki komutlar ile değiştirebilirsiniz.

PostGreSQL İzinleri :

Yazımın bu kısmını yazmamın sebebi ise Zabbix üzerinde Zabbix Agent 2’yi kurarak PostGreSQL Monitoring yapabildiğiniz içindir. Bu izinlerin ayarlamasını yapmamanız durumunda Zabbix Server’ınızda Monitoring yapamayacaksınız. Makalemi merak etmeniz durumunda buraya tıklayarak ulaşabilirsiniz.

> nano /etc/postgresql/13/main/postgresql.conf

listen_addresses = ‘*’

// Nano ile PostGreSQL’in ayarlarının bulunduğu postgresql.conf dosyasına giriyorsunuz. Ardından bir altında verdiğim parametreyi bularak Localhost’dan *’a değiştiriyorsunuz. Bu sayede bağlantı isteklerini dinlemeye başlayacaktır.

> nano /etc/postgresql/13/main/pg_hba.conf

host    all             all             0.0.0.0/0              md5
host    all             admin           192.168.1.110/32           md5

// Nano ile pg_hba.conf dosyasına girmeniz durumunda dışarıdan kimlerin erişebileceğini belirlediğiniz ayar dosyasına girmiş oluyorsunuz. 192.168.1.110/32 yaparsanız tek bir ip ye izin verirken, 0.0.0.0/0 yapmanız durumunda tüm iplere izin vermiş olursunuz. Aradaki boşlukları tam olarak gösterebilmek için bıraktım. Siz o kısımları ne olur ne olmaz silin.

> systemctl restart postgresql

// Yukarıdaki tüm ayarlamaları yaptıysanız ve Aktif olmasını istiyorsanız PostGreSQL’imizi yenidenbaşlatmamız şart.

> tail -f /var/log/postgresql/postgresql-13-main.log

//Komutu yardımıylada PostGreSQL’de logları inceleyebilirsiniz.

Makalem bu kadar arkadaşlar. Umarım yararlı bir makale olmuştur. Hepinize kolaylıklar diliyorum.

1 Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir