W PostgreSQL, jak wygenerować losową unikalną liczbę całkowitą dla kolumny, return, który nie kończy się w kolumnie tabeli?Jak wygenerować losową unikalną liczbę w PostgreSQL za pomocą funkcji
Odpowiedz
Zobacz funkcję pseudo_encrypt, która implementuje permutację opartą na technice Feistel network. W połączeniu z sekwencją postgresów gwarantuje to jednolitość wyniku, a także losowość ludzkiego oka.
Exemple:
create sequence seq maxvalue 2147483647;
create table tablename(
id bigint default pseudo_encrypt(nextval('seq')::int),
[other columns]
);
Efektywny zasięg id
tutaj jest 0...2^32-1
. W razie potrzeby można to zmienić, modyfikując funkcję. Wariant z 64-bitową przestrzenią wyjściową można znaleźć pod adresem: pseudo_encrypt() function in plpgsql that takes bigint.
EDIT: pseudo_encrypt
realizuje tylko jeden permutacji i nie akceptuje klucza dostarczonego przez użytkownika. Jeśli wolisz mieć własne permutacje, w zależności od tajnych kluczy, możesz rozważyć skip32
(32-bitowy szyfr blokowy oparty na Skipjack, z kluczami o szerokości 10 bajtów).
plpgsql funkcji (przeniesione z Perl/C) są dostępne na stronie: https://wiki.postgresql.org/wiki/Skip32
- 1. Jak wygenerować "dużą" liczbę losową w Pythonie?
- 2. Jak wygenerować losową liczbę w eliksiru?
- 3. wygenerować krótką liczbę losową w java?
- 4. wygenerować losową 64-bitową liczbę całkowitą
- 5. Jak wygenerować losową liczbę bez powtórzeń w bazie danych za pomocą PHP?
- 6. Jak wygenerować losową liczbę typu float w C
- 7. Jak wygenerować losową liczbę przy użyciu stanu funkcjonalnego?
- 8. Jak wygenerować ujemną wartość losową w python
- 9. jak wygenerować liczbę losową od 0,5 do 1,0
- 10. wybrać losową liczbę losową liczbę razy, ale nigdy taką samą liczbę losową dwukrotnie
- 11. Jak wygenerować powtarzalną losową sekwencję liczb?
- 12. Jak przypisać losową liczbę do zmiennej?
- 13. java- jak wygenerować losową wartość szesnastkową w określonym zakresie wartości
- 14. Jak uzyskać liczbę losową w FactoryGirl?
- 15. Jak uzyskać losową liczbę w zestawie szablonów?
- 16. jak wygenerować liczbę całkowitą losową w fortranie 90 w zakresie [0,5]?
- 17. Jak uzyskać losową liczbę z hałasu atmosferycznego?
- 18. Jak wygenerować liczbę losową danej liczby dziesiętnej między liczbą 2 w Pythonie?
- 19. Jak wygenerować losową 64-bitową liczbę całkowitą bez znaku w C
- 20. Jak wygenerować losową liczbę z 8 cyframi w C#? (4 całkowitą, 4 część ułamkową)
- 21. za pomocą schematów w postgresql
- 22. Jak utworzyć losową liczbę po logormalnej dystrybucji w programie excel?
- 23. R-Jak wygenerować losową próbkę dyskretnych zmiennych losowych?
- 24. Jak wygenerować losową formułę zdaniową (CNF) w haskell?
- 25. Zdobądź losową liczbę całkowitą w przedziale (X, Y]
- 26. Jak wygenerować nagłówek źródłowy za pomocą cmake?
- 27. Jak wygenerować json za pomocą php?
- 28. Jak wygenerować plik PNG za pomocą C#?
- 29. Jak mogę uzyskać losową liczbę w Rust 1.0?
- 30. Jak utworzyć losową 256-bitową liczbę całkowitą w Dart?