Для golang database/sql используется PostgreSQL-драйвер.
GoDoc: https://godoc.org/github.com/blusewang/pg?status.svg
Лицензия: https://github.com/blusewang/pg/blob/master/LICENSE
Поддержка версий Go:
Статус FOSSA: https://app.fossa.io/projects/git+github.com/blusewang/pg?ref=badge_shield
Поддержка версий PostgreSQL:
go get github.com/blusewang/pg
db, err := sql.Open(pg.DriverName, "pg://user:password@dbhost.yourdomain.com/database_name?application_name=app_name&sslmode=verify-full")
if err != nil {
return err
}
defer db.Close()
rows, err := db.Query("select * from bluse where id>$1", 0)
if err != nil {
return err
}
...
md, err := dsn.ParseDSN("pg://user:password@dbhost.yourdomain.com/database_name?application_name=app_name&sslmode=verify-full")
if err != nil {
return
}
c, err := pg.New(context.Background(), md)
if err != nil {
return
}
_, err = c.QueryNoArgs("listen abc")
if err != nil {
_ = c.Terminate()
return
}
for {
n, ok := <-c.NotifyChan
if !ok {
log.Println(c.IOError)
return
}
log.Println(n.Condition, n.Text)
}
Дополнительные сведения и примеры использования см.: https://pkg.go.dev/github.com/blusewang/pg.
null
в базе данных.pg://
.sql.SetMaxIdleConns(x)
и sql.SetMaxOpenConns(x)
, чтобы кэш работал эффективно.Состояние | Функция | Примечание |
---|---|---|
[x] | Запуск | Поддержка: без пароля, пароль в открытом виде, md5, SCRAM-SHA-256 |
[x] | Простой запрос | Обязательная |
[x] | Расширенный запрос | Обязательная |
[x] | Отмена текущего запроса | Обязательная |
[x] | Завершение | Обязательная |
[x] | SSL-шифрование сеанса | Безопасность удалённого доступа |
[x] | Асинхронный режим | listen/notify |
SCRAM-SHA-256-PLUS не поддерживается. Если pg_hba.conf
использует:
hostssl all all 0.0.0.0/0 scram-sha-256 clientcert=verify-full
то сервер будет отправлять запросы типа SCRAM-SHA-256-PLUS. В этом случае клиент автоматически понизит уровень до SCRAM-SHA-256.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )