SORU
11 EKİM 2011, Salı


Postgresql - no sütun boyutunu değiştirmek

Gerçekten büyük bir masa ALTER TABLE komut (yaklaşık 30 milyon satır) ile ilgili bir sorum var. Sütunlarından biri varchar(255) ve varchar(40)boyutlandırmak istiyorum. Temel olarak, aşağıdaki komutu çalıştırarak köşemi değiştirmek istiyorum:

ALTER TABLE mytable ALTER COLUMN mycolumn TYPE varchar(40);

Eğer işlem çok uzun değilse sorun yok ama benim tablo ALTER TABLE komutu sırasında daha okunaklı yok gibi görünüyor. Daha akıllı bir yolu var mı? Belki de yeni bir sütun ekleyin, eski sütundaki değerleri kopyalamak, eski sütun bırakın ve nihayet yeni bir adlandırma?

Herhangi bir ipucu büyük takdir edilecektir! Şimdiden teşekkürler

Not: PostgreSQL 9.0 kullanıyorum.

CEVAP
11 EKİM 2011, Salı


Resize a column in a PostgreSQL table without changing data bunun nasıl bir açıklaması var. Veritabanı Katalog verileri kesmek için. Bu resmen yapmanın tek yolu TABLOYU DEĞİŞTİRMEK, ve sizin de belirttiğiniz gibi bu değişiklik, kilit ve çalışırken tüm tabloyu yeniden.

Bu değiştirmeden önce dokümanlar Character Types bölümünü okuyun emin olun. Burada farkında olmak garip durumlarda her türlü. Uzunluğu kontrol değerleri satırlara saklı olduğunda yapılır. Orada bir alt sınır hack, varolan değerler boyutunu hiç azaltmaz. Tüm tablo üzerinde bir tarama alanının uzunluğu ^ olduğu satırlar görünümlü yapmak akıllıca olur . 40 karakter değişimi yaptıktan sonra. Bulursun bir yolunu bulmalısın kesecek şekilde el ile--çok bazı kilitler sadece büyük boy olanlar-çünkü eğer biri çalışır güncelleme gibi bir şey bu satır olacak reddetmek gibi çok büyük şimdi, bu noktada gidiyor saklamak için yeni sürümü satır. Neşe kullanıcı için gelişir.

VARCHAR PostgreSQL sadece SQL standardının ilgili korkunç bölümü uymak için var olan korkunç bir türüdür. Eğer çoklu veritabanı uyumluluk umurunda olsa, METİN gibi veri depolama düşünün ve sınırları için bir kısıtlama Ekle uzunluğu. Bu tablo olmadan değiştirebilirsiniz kısıtlamaları/sorun yeniden kilidi ve daha fazlası bütünlüğü zayıf uzunluğu kontrol daha kontrol yapabilirler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dopelives

    Dopelives

    30 Temmuz 2009
  • emimusic

    emimusic

    10 Mart 2006
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013