Almacenar Golang JSON en Postgresql

Quiero almacenar una determinada estructura en mi base de datos que tiene un campo JSON dentro de ella.

type Comp struct {
    CompId               int64           `db:"comp_id" json:"comp_id"`
    StartDate            time.Time       `db:"start_date" json:"start_date"`
    EndDate              time.Time       `db:"end_date" json:"end_date"`
    WeeklySchedule       json.RawMessage `db:"weekly_schedule" json:"weekly_schedule"`
}

El esquema de la tabla es:

CREATE TABLE IF NOT EXISTS Tr.Comp(
    comp_id                 SERIAL,
    start_date              timestamp NOT NULL,
    end_date                timestamp NOT NULL,
    weekly_schedule         json NOT NULL,
    PRIMARY KEY (comp_id)
);

Estoy usando sqlx y lib / pq driver en mi proyecto y lo siguiente no se ejecutará. En cambio, entra en pánico diciendo que hay una punta nula, r. DB es un global*sqlx.DB estructura

    tx := DB.MustBegin()

    compFixture := Comp{
        StartDate:            time.Now(),
        EndDate:              time.Now().AddDate(1, 0, 0),
        WeeklySchedule:       json.RawMessage([]byte("{}")),
    }
    _, err = tx.NamedExec(
        `INSERT INTO 
            Tr.Comp(comp_id, 
                start_date, end_date, weekly_schedule) 
            VALUES (DEFAULT, 
                :start_date, :end_date, :weekly_schedule)  
            RETURNING comp_id;`, compFixture)
    if err != nil {
        t.Fatal("Error creating fixture.", err)
    }

Cuando quitoweekly_schedule desde el esquema y el accesorio, las cosas funcionan bien. Pero por alguna razón, cuando se incluye este campo, el programa entra en pánico. Alguna idea de cómo debería definir elweekly_schedule campo tanto en mi esquema de base de datos como en Go struct?

Respuestas a la pregunta(3)

Su respuesta a la pregunta