Pek Bilinmeyen PostgreSQL Özellikleri
(hakibenita.com)-
INSERT ... ON CONFLICT(upsert) sırasında güncellenen/eklenen satır sayısını öğrenme:xmax -
Belirli bir sütuna yetki verme
-
Çoklu desen eşleme:
SIMILAR TOveya~düzenli ifadeleri -
Mevcut sequence değerini artırmadan öğrenme:
pg_sequence_last_value() -
Çok satırlı SQL ile
\COPYkomutunu birlikte kullanmak için:TEMPORARY VIEWveyaCOPYve\gkullanımı -
Otomatik oluşturulan anahtara değer atanmasını engelleme: tablo oluştururken
GENERATED BY DEFAULTyerineGENERATED ALWAYSbelirtme -
Pivot tablo oluşturma:
pandas.pivot_table,\crosstabviewveyatablefuncuzantısını kullanma -
Dollar Quoting
→ $$ ile $$ arasındaki tüm karakterler string olarak kabul edilir
→ $JSON$ / $function$ gibi içte tag kullanılabilir
→ ::jsonb eklenirse hızlıca jsonb nesnesi oluşturulabilir
- DB nesnelerine yorum ekleme:
COMMENT ON TABLE/COLUMN, ayrıca Dollar Quoting ile uzun string açıklamaları da eklenebilir
→ Yazma: COMMENT ON TABLE sale IS 'Sales made in the system';
→ Görme: \d+ sale
- Her DB için geçmişi ayrı tutma
→ \set HISTFILE ~/.psql_history- :DBNAME
-
Otomatik tamamlamayı büyük harfle yapma:
\set COMP_KEYWORD_CASE upper -
Bekleme verme:
pg_sleep(saniye),pg_sleep_for('4 minutes 14 seconds') -
Alt sorgu olmadan grubun ilk/son satırını alma:
DISTINCT ON (grup sütunu) -
uuid-osspuzantısı olmadan UUID üretme:gen_random_uuid()version 4 UUID üretir -
Yeniden üretilebilir rastgele veri oluşturma:
setseed()ile aynı seed'i kullanma -
Mevcut veriyi hemen doğrulamadan koşul ekleme:
ALTERsırasındaNOT VALIDile önce sadece koşulu ekleyip, mevcut verinin doğrulamasını daha sonraALTER VALIDATEile ayrı çalıştırma -
Oracle'daki Synonym benzeri işlevi kullanma:
search_pathdeğiştirme (Zero Downtime Migration sırasında faydalı) -
Çakışan range'leri bulma:
OVERLAPSoperatörü
4 yorum
GeekNews'te fazla mı sadece postgres haberi paylaşılıyor! (Şaka yapıyorum.)
Bizim ürünümüz de ağırlıklı olarak pg kullanıyor, bu yüzden ancak minnettar olabiliriz. :)
Sanırım mesele, bu aralar postgres'in çok revaçta olması..!?
postgres en iyisidir
Katılıyorum.