13 puan yazan xguru 2021-11-10 | 4 yorum | WhatsApp'ta paylaş
  • 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 TO veya ~ düzenli ifadeleri

  • Mevcut sequence değerini artırmadan öğrenme: pg_sequence_last_value()

  • Çok satırlı SQL ile \COPY komutunu birlikte kullanmak için: TEMPORARY VIEW veya COPY ve \g kullanımı

  • Otomatik oluşturulan anahtara değer atanmasını engelleme: tablo oluştururken GENERATED BY DEFAULT yerine GENERATED ALWAYS belirtme

  • Pivot tablo oluşturma: pandas.pivot_table, \crosstabview veya tablefunc uzantı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-ossp uzantı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: ALTER sırasında NOT VALID ile önce sadece koşulu ekleyip, mevcut verinin doğrulamasını daha sonra ALTER VALIDATE ile ayrı çalıştırma

  • Oracle'daki Synonym benzeri işlevi kullanma: search_path değiştirme (Zero Downtime Migration sırasında faydalı)

  • Çakışan range'leri bulma: OVERLAPS operatörü

4 yorum

 
galadbran 2021-11-11

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. :)

 
xguru 2021-11-11

Sanırım mesele, bu aralar postgres'in çok revaçta olması..!?

 
nallwhy 2021-11-10

postgres en iyisidir

 
roxie 2021-11-10

Katılıyorum.