Im PL/PgSQL-Parser ist der Zuweisungsoperator als
definiertassign_operator : '='
| COLON_EQUALS
;
Dies ist ein Legacy-Feature, das seit seiner Einführung im Jahr 1998 im Quellcode vorhanden ist – wie wir im PostgreSQL-Git-Repo sehen können.
Ab Version 9.4 ist es offiziell dokumentiert.
Diese Eigenart - zwei Operatoren für dasselbe zu haben - wurde auf der pgsql-Benutzerliste angesprochen, und einige Leute forderten, sie zu entfernen, aber sie wird immer noch im Kern beibehalten, weil ein fairer Korpus von Legacy-Code darauf angewiesen ist.
Siehe diese Nachricht von Tom Lane (Kern-Pg-Entwickler).
Um Ihre Fragen direkt zu beantworten:
Habe ich in den Dokumenten keinen Abschnitt gefunden, der dies erwähnt und/oder erklärt?
Sie haben es nicht gefunden, weil es undokumentiert war, was ab Version 9.4 behoben ist.
Gibt es bekannte Konsequenzen bei Verwendung von =anstelle von :=.
Die Verwendung von = hat keine Nebenwirkungen , aber Sie sollten := verwenden für die Zuweisung, um Ihren Code lesbarer und (als Nebeneffekt) kompatibler mit PL/SQL zu machen.
Update:In seltenen Fällen kann es zu einer Nebenkonsequenz kommen (siehe Erwins Antwort)
UPDATE:Antwort aktualisiert dank Beiträgen von Daniel, Sandy und anderen.