gotosocial/vendor/github.com/uptrace/bun/driver/pgdriver
2021-08-23 16:54:26 +02:00
..
column.go start moving to bun 2021-08-23 16:54:26 +02:00
config.go start moving to bun 2021-08-23 16:54:26 +02:00
driver.go start moving to bun 2021-08-23 16:54:26 +02:00
error.go start moving to bun 2021-08-23 16:54:26 +02:00
format.go start moving to bun 2021-08-23 16:54:26 +02:00
go.mod start moving to bun 2021-08-23 16:54:26 +02:00
go.sum start moving to bun 2021-08-23 16:54:26 +02:00
LICENSE start moving to bun 2021-08-23 16:54:26 +02:00
listener.go start moving to bun 2021-08-23 16:54:26 +02:00
proto.go start moving to bun 2021-08-23 16:54:26 +02:00
README.md start moving to bun 2021-08-23 16:54:26 +02:00
safe.go start moving to bun 2021-08-23 16:54:26 +02:00
unsafe.go start moving to bun 2021-08-23 16:54:26 +02:00
write_buffer.go start moving to bun 2021-08-23 16:54:26 +02:00

pgdriver

PkgGoDev

pgdriver is a database/sql driver for PostgreSQL based on go-pg code.

You can install it with:

github.com/uptrace/bun/driver/pgdriver

And then create a sql.DB using it:

import _ "github.com/uptrace/bun/driver/pgdriver"

dsn := "postgres://postgres:@localhost:5432/test"
db, err := sql.Open("pg", dsn)

Alternatively:

dsn := "postgres://postgres:@localhost:5432/test"
db := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn)))

Benchmark:

BenchmarkInsert/pg-12 	            7254	    148380 ns/op	     900 B/op	      13 allocs/op
BenchmarkInsert/pgx-12         	    6494	    166391 ns/op	    2076 B/op	      26 allocs/op
BenchmarkSelect/pg-12          	    9100	    132952 ns/op	    1417 B/op	      18 allocs/op
BenchmarkSelect/pgx-12         	    8199	    154920 ns/op	    3679 B/op	      60 allocs/op