PostgreSQL'de, sütun için rasgele benzersiz tamsayı sayısı nasıl oluşturulur, tablo sütununda çıkmayan dönüşü nasıl olur?PostgreSQL işlevi kullanılarak rastgele benzersiz sayı nasıl oluşturulur
cevap
Feistel network tekniğine dayalı bir permütasyon uygulayan pseudo_encrypt işlevine bakın. Bir postgres sekansı ile birleştirildiğinde, bu sonuç, insan gözüne rastlantıların yanı sıra, sonuçların birliğini de garanti eder.
Exemple:
create sequence seq maxvalue 2147483647;
create table tablename(
id bigint default pseudo_encrypt(nextval('seq')::int),
[other columns]
);
id
etkili menzili burada 0...2^32-1
olduğunu. Bu, işlevi değiştirerek gerekirse ayarlanabilir. 64 bit çıkış alanı olan bir varyant şu adreste bulunabilir: pseudo_encrypt() function in plpgsql that takes bigint.
DÜZENLEME: pseudo_encrypt
tek permütasyon uygular ve bir kullanıcı tarafından sağlanan anahtar kabul etmez. Kendi anahtar kelimelerinizi tercih ediyorsanız, gizli anahtarlara bağlı olarak, skip32
(10 byte geniş tuşa sahip Skipjack tabanlı bir 32 bit blok şifreleyici) düşünebilirsiniz. https://wiki.postgresql.org/wiki/Skip32
bir plpgsql fonksiyonu mevcuttur
- 1. Elixir'de rastgele bir sayı nasıl oluşturulur?
- 2. bir rastgele sayı üreteci
- 3. rastgele bir sayı
- 4. Spark - Rastgele Sayı Üretimi
- 5. PostgreSQL: Şartlı benzersiz kısıtlama
- 6. 2 rastgele sayı 0-100
- 7. PostgreSQL: Sınırlama koşullarını karşılayan rastgele kayıtlar seç
- 8. Swift'de bir rastgele sayı üretecini nasıl tohumlar?
- 9. Belirtilen ayrık dağıtımdan rasgele bir sayı nasıl oluşturulur?
- 10. Rastgele sayı ve dizi araması
- 11. Rastgele sayı: 0 veya 1
- 12. C# Rastgele sayı oluşturmuyor 0
- 13. NextDouble ile Rastgele Sayı (C#)
- 14. clojure içinde uzun bir sayı nasıl oluşturulur
- 15. node-jdbc kullanılarak nasıl oluşturulur?
- 16. PostgreSQL: tarihi rastgele gün sayısına göre değiştir
- 17. Rastgele şifre nasıl oluşturulur? create_user fonksiyonu
- 18. Tamamen rastgele bir görüntü nasıl oluşturulur?
- 19. Rastgele sayı üretecinin Poisson dağılımını anlama
- 20. Sugarcrm modülünde benzersiz ID alanı nasıl oluşturulur
- 21. Python: Benzersiz bir dosya adı nasıl oluşturulur?
- 22. xml şemasında benzersiz bir özellik nasıl oluşturulur?
- 23. MySQL yordamlarında benzersiz geçici tablolar nasıl oluşturulur?
- 24. Başka bir numaradan rastgele bir sayı üret
- 25. C#/XNA sözde Rastgele sayı oluşturma
- 26. iOS ve Android'in rastgele sayı üreteci
- 27. x ile bölünemez rastgele bir sayı üretin?
- 28. R tablo işlevi - 0 sayı nasıl kaldırılır?
- 29. Benzersiz bir kimlik sağlayan PostgreSQL dizisi
- 30. PostgreSQL hatası, verilen benzersiz kısıtlama eşleşmesi yok