Skip to content

acoinfo/pq

Repository files navigation

pq-sylixos — lib/pq 移植 SylixOS

lib/pq v1.10.9 移植,纯 Go 实现,零 cgo、零外部依赖。

改动

user_posix.go build tag 追加 sylixos,其余源码未改。

使用

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

db, err := sql.Open("postgres",
    "postgres://user:password@host:5432/dbname?sslmode=disable")

更多用法参考:https://pkg.go.dev/github.com/lib/pq

注意事项

  • 编译必须加 -tags netgo(绕过 SylixOS 未移植的 cgo DNS resolver)
  • 编译必须加 -ldflags="-linkmode=external"(SylixOS 进程模型要求)
  • 连接非 PostgreSQL 端口时务必用 sslmode=require,否则 pq 会将任意响应数据当消息长度解析,触发巨型内存分配导致板端卡死。
  • 详细编译及测试步骤见《Golang 应用移植指导手册》pq 移植章节。

文件清单

pq/
├── README.md
├── go.mod
├── LICENSE.md
├── *.go                 # 驱动源码(17 文件)
├── oid/                 # OID 类型(3 文件)
└── scram/               # SCRAM 认证(1 文件)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages