I PL/PgSQL-parser er tildelingsoperator defineret som
assign_operator : '='
| COLON_EQUALS
;
Dette er en ældre funktion, der er til stede i kildekoden siden 1998, da den blev introduceret - som vi kan se i PostgreSQL Git-repoen.
Fra version 9.4 er det officielt dokumenteret.
Denne idiosynkrasi - med at have to operatører til det samme - blev rejst på pgsql-brugerlisten, og nogle mennesker anmodede om, at den blev fjernet, men den er stadig bevaret i kernen, fordi retfærdig korpus af ældre kode er afhængig af det.
Se denne besked fra Tom Lane (kerne Pg-udvikler).
Så for at besvare dine spørgsmål lige:
Fandt jeg ikke et afsnit i dokumenterne, som nævner og/eller forklarer dette?
Du fandt det ikke, fordi det var udokumenteret, hvilket er rettet fra version 9.4.
Er der nogen kendte konsekvenser ved at bruge =i stedet for :=.
Der er ingen bivirkninger ved at bruge = , men du skal bruge := til opgave for at gøre din kode mere læsbar og (som en bivirkning) mere kompatibel med PL/SQL.
Opdatering:der kan være en sidekonsekvens i sjældne scenarier (se Erwins svar)
OPDATERING:Svar opdateret takket være input fra Daniel, Sandy og andre.