Sobes.tech
Junior — Middle

Máte zkušenosti s typem dat jsonb v databázi?

sobes.tech AI

Odpověď od AI

Ano, datový typ jsonb v databázi PostgreSQL je binární reprezentace JSON, která umožňuje efektivní ukládání a indexování JSON dat.

V Go se pro práci s jsonb obvykle používá balíček database/sql spolu s ovladačem pro PostgreSQL (například lib/pq nebo pgx). Pro přenos a příjem dat v poli jsonb se používají typy jako []byte nebo string, stejně jako struktury, které jsou serializovány/deserializovány pomocí balíčku encoding/json.

Příklad zápisu struktury do pole 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
}

Tímto způsobem práce s jsonb zahrnuje serializaci struktur do JSON, jejich uložení do pole jsonb a následné dotazy a deserializaci.