Posts

Showing posts with the label Alter Table

PostgreSQL 11 Yenilikleri 2 - Alter Table Add Column

Image
Merhaba, Bir tabloya yeni bir sütun nasıl eklenir? Bir sütunun eklenmesi ne demek ve nasıl olur? Bahsedeceğim yeniliği anlatmadan önce bunu anlatmak isterim. Bir tabloya default değeri null olmayan yeni bir sütun eklenmesi o tablonun baştan yazılması anlamına gelir. Tüm tabloyu yeniden yazmak demek tablonun locklanması anlamına da gelir. Büyük tablolar için maliyetli bir işlemdir. Şöyle düşünün, diyelim ki 10 sütunlu bir tablonuz var ve default değeriyle birlikte yeni bir sütun daha ekleyeceğiz. Bunun anlamı o tabloya eklenen yeni sütunun tüm değerlerinin add column ile belirlediğimiz default değerine eşit olması gerektiğidir. Yani o tablonun mevcut verileriyle ve yeni eklediğiniz sütunun default değeriyle birlikte yeniden oluşturulması anlamına gelir. Bu derece maliyetli bir işlemin önüne geçmek için mevcut pg_attribute tablosuna iki yeni sütun daha eklendi; sütunun default değerini saklamak için attmissingval sütunu ve sonradan eklenen sütun olup olmadığını gösteren sütun atthasmis