Skip to content

PostgreSQL Veri Türleri açıklaması

Her yaygın PostgreSQL sütun veri türü, aileye göre gruplandırılmış: tam sayılar, ondalıklar, metin, zaman, boolean ve UUID'ler, JSON, ağ adresleri, bileşik türler ve uzantı türleri. Her satır türün ne depoladığını ve ne zaman seçileceğini gösterir.

PostgreSQL'de düzinelerce tür vardır ama günlük şema tasarımı çekirdek bir küme kullanır. Tekrarlayan seçimler şunlardır: sayılar için integer - numeric, dizeler için varchar - text (genelde text yeterlidir), timestamp - timestamptz (gerçek dünya verisi için timestamptz tercih edin) ve json - jsonb (jsonb'yi tercih edin; ikiliktir ve dizinelenebilir). Yine de sığan en spesifik türü seçin; veritabanı bunu sizin yerinize uygular.

Referans tablosu · 46 kayıt
46 of 46 rows
Tam sayılar
-32768 ile 32767 arası 2 baytlık tam sayı.Nadiren; yalnızca yer kazanmak zorunda olduğunuzda.
Yaklaşık artı/eksi 2 milyar aralığında 4 baytlık tam sayı.Varsayılan tam sayı sütunu.
Yaklaşık artı/eksi 9 kentilyon aralığında 8 baytlık tam sayı.Çok büyük sayaçlar veya dış sistem kimlikleri.
Otomatik artan 4 baytlık tam sayı.Eski otomatik numaralı anahtarlar; PG 10'dan beri önerilen yerine geçen GENERATED AS IDENTITY.
serial'ın 2 baytlık ve 8 baytlık varyantları.smallint veya bigint sütununa uygun otomatik numaralandırma.
Tablonun sizin için ürettiği tam sayı (GENERATED ALWAYS AS IDENTITY).Modern serial; SQL standardıdır ve manuel eklemelere karşı daha güvenlidir.
Ondalıklılar ve kayan sayılar
İsteğe bağlı hassasiyetli kesin ondalık sayılar.Para ve yuvarlama hatasının kabul edilemez olduğu her şey.
4 baytlık tek hassasiyetli kayan sayı.Hassasiyetin kritik olmadığı yaklaşık bilimsel değerler.
8 baytlık çift hassasiyetli kayan sayı.Coğrafi, istatistik ve ML özellik değerleri.
Sabit yerel ayarlı para birimi tutarı.Nadiren; uygulama tarafında para birimi koduyla numeric daha taşınabilirdir.
Metin
Boşluklarla doldurulmuş sabit uzunluklu metin.Bilinen genişlikte kodlar; nadiren gerekir.
İsteğe bağlı üst sınırlı, değişken uzunluklu metin.Kullanıcı adı veya e-posta gibi sınırlı dizeler.
Uzunluk sınırı olmayan değişken uzunluklu metin.Genel amaçlı dize sütunu; varchar'a karşı bir performans cezası yoktur.
Zaman
Günün saati olmayan bir takvim tarihi.Doğum günleri ve son tarihler.
Saat dilimiyle veya dilimsiz günün saati.Günlük alarmlar veya dükkan çalışma saatleri.
Saat dilimi olmayan tarih ve saat.Eski şemalar; yeni işlerde kaçının.
UTC olarak depolanan, istemci diliminde gösterilen tarih ve saat.Gerçek dünya anları için varsayılan; timestamp yerine bunu tercih edin.
2 gün veya 3 saat gibi bir zaman aralığı.Süreler ve tarih aritmetiği.
Boolean, UUID ve baytlar
Doğru veya yanlış.Bayraklar ve aç/kapat anahtarları.
128 bitlik evrensel benzersiz tanımlayıcı.Açığa çıkarılması güvenli, sıralı olmayan kimlikler (uygulamada veya gen_random_uuid ile üretin).
Ham ikili baytlar.Blob'lar, görüntüler ve opak veriler; büyük dosyalar için nesne depolamayı tercih edin.
Sabit veya değişken uzunluklu bit dizileri.Paketlenmiş bayraklar ve protokol alanları; tek bir açık/kapalı değer yine boolean'dır.
JSON ve yarı yapılandırılmış
İkili, dizinelenebilir biçime ayrıştırılmış JSON.Esnek veya iç içe veri; önerilen JSON sütunu (GIN dizinlerini destekler).
Orijinal metin olarak tutulan JSON.Nadiren; yalnızca anahtar sırasını veya tam boşlukları korumanız gerektiğinde.
XML metni.XML gerektiren eski entegrasyonlar.
JSON verisinde gezinmek için derlenmiş yol ifadesi.jsonb_path_query ve SQL/JSON operatörleriyle jsonb içinde filtreleme.
Ağ ve arama
Bir IPv4 veya IPv6 ana makine adresi.İstemci veya sunucu IP'lerini depolamak.
10.0.0.0/24 gibi bir IP ağ bloğu.Güvenlik duvarı kuralları ve alt ağ aralıkları.
6 baytlık veya 8 baytlık (EUI-64) MAC adresi.Cihaz ve ağ arayüzü tanımlayıcıları.
Tam metin arama için önceden işlenmiş metin.Ayrı bir arama motoruna başvurmadan önceki yerleşik Postgres araması.
AND, OR ve önek operatörleriyle birleştirilmiş arama terimleri.Tam metin aramanın sorgu yarısı, @@ ile bir tsvector'a karşı eşleştirilir.
Bir write-ahead log konumu, log sıra numarası.Kopyalama gecikmesi ve yedekleme izleme.
Bileşik ve gelişmiş
Herhangi bir temel türün dizisi, örn. integer[].Basit değer listeleri; öğeler kendi sütunlarını gerektirdiğinde alt tabloya geçin.
Tanımladığınız sabit listeden tek bir değer.Kararlı bir seçenek kümesine sahip durum alanları.
Birkaç alandan oluşan özel satır türü.Tablolar arasında paylaşılan yinelenen alan grupları.
İki sınır arasındaki bitişik aralık.Overlap operatörleriyle takvimler, fiyat bantları ve sürüm aralıkları.
Tanımladığınız kısıtlamalarla sarılmış temel tür.Boş olmayan e-posta gibi, onu kullanan her sütunda zorlanan yeniden kullanılabilir kurallar.
Türlü değerlerden oluşan isimsiz bir satır.PL/pgSQL fonksiyon dönüşleri ve ara sorgu sonuçları.
Yerleşik iki boyutlu geometrik değerler.Basit düzlem geometrisi; gerçek dünya konumları PostGIS ister.
İşaretsiz 4 baytlık sistem nesne tanımlayıcısı.Sistem kataloglarını birleştirme; uygulama sütunları için değil.
63 karakterlik iç tanımlayıcı dize.Katalog sorguları; kullanıcıya görünür her şey için normal text.
Uzantı türleri
Tek değerde anahtar/değer dize çiftleri (uzantı).Düz eşlemeler; bugün jsonb bunu daha iyi karşılar.
news.tech.ai gibi hiyerarşik etiket yolu (uzantı).Ata ve alt sorgularıyla ağaç yapıları.
Büyük/küçük harfe bakılmadan karşılaştırılan metin (uzantı).lower() dizini olmadan e-posta gibi büyük/küçük harf duyarsız benzersizlik.
PostGIS uzantısından coğrafi ve geometrik nesneler.Mesafe, kapsama ve uzamsal dizin sorguları.
UUID değerleri üreten uzantı fonksiyonları.Eski üretim yöntemi; PG 13'ten beri gen_random_uuid() yerleşiktir.