PostgreSQL setseed Funktion

In diesem PostgreSQL-Tutorial wird die Verwendung der PostgreSQL-Funktion setseed mit Syntax und Beispielen erläutert.

Beschreibung

Mit der PostgreSQL-Funktion setseed können Sie einen seed für das nächste Mal festlegen, wenn Sie die random Funktion aufrufen. Wenn Sie setseed nicht aufrufen, verwendet PostgreSQL einen eigenen seed. Dies kann oder kann nicht wirklich zufällig sein.
Wenn Sie den seed durch Aufrufen der Funktion setseed festlegen, gibt die random Funktion eine wiederholbare Folge von Zufallszahlen zurück, die vom seed abgeleitet werden.
TIPP: The setseed function can be very useful in situations WHERE you want to ensure that PostgreSQL uses a truly random seed.

Syntax

Die Syntax für die setseed-Funktion in PostgreSQL lautet:

setseed( seed )

Parameter oder Argumente

seed
Ein Wert zwischen einschließlich 1.0 und -1.0, der verwendet wird, um den seed für den nächsten Aufruf der random Funktion bereitzustellen.

Hinweis

  • Die Funktion setseed gibt keinen Wert zurück. Es ist lediglich eine Funktion, mit der die random Funktion gesetzt wird.
  • Siehe auch die random Funktion.

Gilt für

Die setseed-Funktion kann in den folgenden Versionen von PostgreSQL verwendet werden:

  • PostgreSQL 12.1, PostgreSQL 11.6, PostgreSQL 10.11, PostgreSQL 9.6, PostgreSQL 9.5, PostgreSQL 9.4, PostgreSQL 9.3, PostgreSQL 9.2, PostgreSQL 9.1, PostgreSQL 9.0, PostgreSQL 8.4

Beispiel

Lassen Sie uns untersuchen, wie Sie die setseed-Funktion in PostgreSQL verwenden, um die random Funktion zu setzen.

Aufrufen der random Funktion ohne seed

Wenn Sie die Funktion setseed nicht vor der random Funktion aufrufen, stellt PostgreSQL einen eigenen seed bereit. Dieser Wert ist Ihnen nicht bekannt.
Beispielsweise:

Jedes Mal, wenn Sie die random Funktion ausführen, erhalten Sie eine neue Zufallszahl. Ihre zurückgegebenen Zufallszahlen weichen von unserem obigen Beispiel ab, da sich Ihr Samen von unserem unterscheidet.

Aufruf der random Funktion mit einem Seed

Schauen wir uns nun an, was passiert, wenn wir die Funktion setseed verwenden, bevor wir die random Funktion aufrufen.
Setzen wir zum Beispiel den Startwert auf 0,5 und rufen Sie die random Funktion dreimal auf:

In diesem Beispiel rufen wir setseed einmal auf, gefolgt von der random Funktion dreimal. Auf diese Weise erhalten wir vorhersehbare Zufallszahlen. Mit einem Startwert von 0,5 erhalten Sie immer 0.798512778244913 als erste Zufallszahl, 0.550025727134198 als zweite Zufallszahl und 0.607926093041897 als dritte Zufallszahl.

Ändern des Startwerts zwischen Aufrufen in Random

Manchmal ist es wünschenswert, niemals vorhersehbare Ergebnisse zu erzielen. Dies kann erreicht werden, indem zwischen den Aufrufen der random Funktion setseed mit unterschiedlichen Werten aufgerufen wird.
Beispielsweise:

Durch Aufrufen von setseed zwischen Aufrufen der random Funktion sind die Zufallszahlen nicht vorhersehbar.