Ich fand frühere Antworten eher für erfahrene PostgreSQL-Benutzer geeignet. Dies ist für Anfänger:
Gehen Sie davon aus, dass Sie eine Spaltenspalte vom Typ JSONB mit dem folgenden Wert haben:
{
"key0": {
"key01": "2018-05-06T12:36:11.916761+00:00",
"key02": "DEFAULT_WEB_CONFIGURATION",
"key1": {
"key11": "Daten System",
"key12": "Gesundheit,meine Adresse
Lassen Sie uns davon ausgehen, dass wir einen neuen Wert in der Zeile setzen möchten:
"key13": "*Bitte beachten Sie die Beschriftung auf dem Hauptbildschirm"
und stattdessen den Wert platzieren möchten:
"key13": "Siehe Beschriftung auf dem Hauptbildschirm"
verwenden wir die json_set() Funktion, um einen neuen Wert für den Schlüssel 13 zuzuweisen
die Parameter für jsonb_set()
jsonb_set(Ziel jsonb, Pfad Text[], Neuer Wert jsonb[, Fehlende erstellen boolean])
in "Ziel" - werde ich den jsonb Spaltennamen platzieren (dies ist die Tabellenspalte, die geändert wird)
"Pfad"- ist der "JSON-Schlüsselpfad", der zu dem Schlüssel führt, den wir überschreiben werden
"Neuer Wert" - das ist der neue Wert, den wir zuweisen
In unserem Fall möchten wir den Wert von Schlüssel 13 aktualisieren, der unter Schlüssel 1 (key1 -> key13) liegt:
daher ist die Pfad-Syntax : '{key1,key13}' (Der Pfad war der kniffligste Teil - weil die Tutorials schrecklich sind)
jsonb_set(jsonb_spalte,'{key1,key13}','"Siehe Beschriftung auf dem Hauptbildschirm"')