Как настроить pgx для получения значений UTC из БД?

Я использую Ent с Pgx.

Столбец, созданный в Postgres:

      used_at timestamp with time zone NOT NULL,

Значение в Postgres сохраняется без часового пояса (в формате UTC):

      2022-06-30 22:49:03.970913+00

Используя этот запрос:

      show timezone

Я получил:

      Etc/UTC

Но от Ent (используяstdlib) я получаю значение:

      2022-07-01T00:49:03.970913+02:00

С использованиемpgdriver/pqЯ получаю значение UTC из БД.

Как я могу настроитьpgxполучить значение UTC?

Я также пытался использовать эту строку подключения с этим кодом:

      import (
    "database/sql"
    _ "github.com/jackc/pgx/v4/stdlib"
)

conn, err := sql.Open("pgx", "postgres://postgres:postgres@localhost/project?sslmode=disable&timezone=UTC")
//handle err

Проблема все еще здесь.

Мне нужен способ вернуть из БД значения UTC (которые уже хранятся в БД).

1 ответ

Вы можете настроить свое приложение для глобального использования UTC:

      package main

import "time"

func main() {

    location, _ := time.LoadLocation("UTC")
    time.Local = location
    
    // setup db connection
    // ...
}
Другие вопросы по тегам