pgx/pgconn
Jack Christensen f17c743c3c Unwatch at end of test
https://github.com/jackc/pgx/issues/1505
2023-02-14 09:03:41 -06:00
..
internal/ctxwatch Unwatch at end of test 2023-02-14 09:03:41 -06:00
README.md
auth_scram.go
benchmark_private_test.go
benchmark_test.go
config.go
config_test.go Apply `gofmt -s` 2023-01-24 07:55:00 -06:00
defaults.go
defaults_windows.go
doc.go
errors.go
errors_test.go
export_test.go
helper_test.go
krb5.go
pgconn.go iobufpool uses *[]byte instead of []byte to reduce allocations 2023-01-28 08:02:49 -06:00
pgconn_private_test.go
pgconn_stress_test.go
pgconn_test.go Apply `gofmt -s` 2023-01-24 07:55:00 -06:00

README.md

pgconn

Package pgconn is a low-level PostgreSQL database driver. It operates at nearly the same level as the C library libpq. It is primarily intended to serve as the foundation for higher level libraries such as https://github.com/jackc/pgx. Applications should handle normal queries with a higher level library and only use pgconn directly when required for low-level access to PostgreSQL functionality.

Example Usage

pgConn, err := pgconn.Connect(context.Background(), os.Getenv("DATABASE_URL"))
if err != nil {
	log.Fatalln("pgconn failed to connect:", err)
}
defer pgConn.Close(context.Background())

result := pgConn.ExecParams(context.Background(), "SELECT email FROM users WHERE id=$1", [][]byte{[]byte("123")}, nil, nil, nil)
for result.NextRow() {
	fmt.Println("User 123 has email:", string(result.Values()[0]))
}
_, err = result.Close()
if err != nil {
	log.Fatalln("failed reading result:", err)
}

Testing

See CONTRIBUTING.md for setup instructions.