Sobes.tech
Junior — Middle

Da li imate iskustva sa tipom podataka jsonb u bazi podataka?

sobes.tech АИ

Одговор од АИ

Да, тип података jsonb у бази података PostgreSQL је бинарна репрезентација JSON-а која омогућава ефикасно чување и индексирање JSON података.

У Go-у, за рад са jsonb, обично се користи пакет database/sql заједно са драйвером за PostgreSQL (нпр. lib/pq или pgx). За пренос и пријем података у поље jsonb, користе се типови као што су []byte или string, као и структуре које се серијализују/десеријализују помоћу пакета encoding/json.

Пример уписа структуре у поље jsonb:

import (
    "database/sql"
    "encoding/json"
    _ "github.com/lib/pq"
)

type Data struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

func insertJSONB(db *sql.DB, d Data) error {
    jsonData, err := json.Marshal(d)
    if err != nil {
        return err
    }
    _, err = db.Exec("INSERT INTO table_name (jsonb_column) VALUES ($1)", jsonData)
    return err
}

Тако, рад са jsonb укључује серијализацију структура у JSON, њихово чување у поље jsonb и накнадне упите и десеријализацију.