Yazar: Engin Yılmaz

PostgreSQL sürümünün 10’dan 11’e yükseltilmesi

merhaba, Upgrade işlemnde başlamadan önce şu kritik uyarıyı yapamak istiyorum,  postgresql.conf ve pg_hba.conf dosyalarınızın konfiğini tekrar yapmanız gerekecek bu dosyalar eziliyor upgrade sonrasında. Postgresql 11 aşağıdaki komutlar ile kurulur. [root@postgres eng]# yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm [root@postgres eng]# yum install postgresql11 [root@postgres eng]# yum install postgresql11-server Postgresql 11 veritabanında initdb çalıştırılır. [root@postgres eng]# /usr/pgsql-11/bin/postgresql-11-setup initdb Initializing database […]

PostgreSQL trigger ile kolon şifreleme

Postgresql de trigger ile gelen kaydı yakalayıp, şifreleyip tabloya yazabiliriz. Tabloyu oluşturalım, CREATE TABLE hadiartik ( sendika text,tapu text,hash bytea default 'AES_KEY');   Sonrasında fonksiyonumuzu oluşturuyoruz, CREATE OR REPLACE FUNCTION hash_update_tg() RETURNS trigger AS $$ BEGIN IF tg_op = 'INSERT' OR tg_op = 'UPDATE' THEN NEW.sendika = PGP_SYM_ENCRYPT(NEW.sendika,'AES_KEY'); --digest(NEW.key_codes, 'sha256'); NEW.tapu = PGP_SYM_ENCRYPT(NEW.tapu,'AES_KEY');--digest(NEW.key_codes, 'sha256'); RETURN […]

POSTGRESQL PGCRYPTO İLE KOLON ŞİFRELEME

Öncelikle extension yok ise aşağıdaki komut ile oluşturulur. CREATE EXTENSION pgcrypto; kullanacağımız fonksiyonlar; PGP_SYM_ENCRYPT(‘kolona girilecek olan değer’,‘AES_KEY’)PGP_SYM_DECRYPT(kolon_ismi::bytea,‘AES_KEY’) Örnek: Tablo create edilir: Create table den(age integer,sifre varchar(255)); Tabloya şifrelemek istediğimiz kolon aşağıdaki gibi insert edilir. İnsert into den values(21,PGP_SYM_ENCRYPT(‘AAA’,‘AES_KEY’)); Şifresiz olarak görmek için: Select age,pgp_sym_decrypt(sifre::bytea,‘AES_KEY’) from den; Şifreli olarak görmek için: Select * from den; İstenirse […]

POSTGRESQL VERİTABANI VACUUM

Postgresql veritabanında vacuum nedir nasıl kullanılıra değinecek olursak;  VACUUM ANALYZE ile birlikte sorgu planlayıcısının kullandığı istatistiklerin güncel olmasını sağlar silinmiş kayıtların temizlenmesini ve diskte yer  açılmasını sağlar. Düzenli olarak yapılması gerekir  Vacuum çalışırken standart sorguların hepsi yapılabilir, Sadece tablo özellikleri değiştiren işlemler yapılamaz Birde vacuum full diye bir temizleme yöntemi var, VACUUM FULL Kapsamlı vacuum işlemi, parametresiz […]

POSTGRESQL VERİTABANI MONITORING

Postgresql servisinin ayaktamı olup/olmadığının kontrol için, ps -ef | grep postgres RAM / CPU  durumunun kontrolu için; top Disk durumu df -h    Anlık bağlantı sayısı Veritabanına kaç bağlantı var, transaction miktarları, toplam diske yazma, toplam cache’ten okuma, eklenen silinen vs satır sayısı nedir gibi soruların cevabi için; SELECT * FROM pg_stat_database; Fakat bu tablonun olması için […]