Kategori: POSTGRESQL

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 MSSQL Server arasında Foreign Data Wrapper

Postgresql de farklı veritabanlarından veri çekilebileceğinden  Postgresql Foreign Data Wrapper isimli yazımda bahsederek postgresql den postgresql e fdw(Foreign Data Wrapper)  yapmıştık bu  yazımda Mssql ile Postgresql arasında  tds_fdw extensionından faydalanarak bağlantı yapacağız . Postgresql den Mssql Server’a bağlanmak için tds_fdw extensionından faydalanacağız fakat bundan önce  kurmamız gereken birkaç paket olacak bunları aşağıdaki gibi yüklememiz gerekiyor. […]

Postgresql Foreign Data Wrapper

Postgresql yalın halde sunulmuş RDMS veritabanlarından birisidir.Bundan dolayı dblink  , Foreign Data Wrapper gibi özelliklerden faydalanmak için extension yüklememiz gerekir. Postgresql   farklı uzak sistemlere bağlanmanızı ve   uzak sistemler üzerinden sorgulama ,yazma işlemleri yapmanıza imkan sağlar.  Foreign Data Wrapper özelliği Postgresql ‘in 9.1 versiyonu ile gelmiştir. Fdw(Foreing Data Wrapper) ile farklı sistemlerden  veri çekmek,yazmak  için farklı  […]

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 […]