106 lines
2.7 KiB
Markdown
106 lines
2.7 KiB
Markdown
# pq - A pure Go postgres driver for Go's database/sql package
|
|
|
|
[![Build Status](https://travis-ci.org/lib/pq.png?branch=master)](https://travis-ci.org/lib/pq)
|
|
|
|
## Install
|
|
|
|
go get github.com/lib/pq
|
|
|
|
## Docs
|
|
|
|
For detailed documentation and basic usage examples, please see the package
|
|
documentation at <http://godoc.org/github.com/lib/pq>.
|
|
|
|
## Tests
|
|
|
|
`go test` is used for testing. A running PostgreSQL server is
|
|
required, with the ability to log in. The default database to connect
|
|
to test with is "pqgotest," but it can be overridden using environment
|
|
variables.
|
|
|
|
Example:
|
|
|
|
PGHOST=/run/postgresql go test github.com/lib/pq
|
|
|
|
Optionally, a benchmark suite can be run as part of the tests:
|
|
|
|
PGHOST=/run/postgresql go test -bench .
|
|
|
|
## Features
|
|
|
|
* SSL
|
|
* Handles bad connections for `database/sql`
|
|
* Scan `time.Time` correctly (i.e. `timestamp[tz]`, `time[tz]`, `date`)
|
|
* Scan binary blobs correctly (i.e. `bytea`)
|
|
* Package for `hstore` support
|
|
* COPY FROM support
|
|
* pq.ParseURL for converting urls to connection strings for sql.Open.
|
|
* Many libpq compatible environment variables
|
|
* Unix socket support
|
|
* Notifications: `LISTEN`/`NOTIFY`
|
|
* pgpass support
|
|
|
|
## Future / Things you can help with
|
|
|
|
* Better COPY FROM / COPY TO (see discussion in #181)
|
|
|
|
## Thank you (alphabetical)
|
|
|
|
Some of these contributors are from the original library `bmizerany/pq.go` whose
|
|
code still exists in here.
|
|
|
|
* Andy Balholm (andybalholm)
|
|
* Ben Berkert (benburkert)
|
|
* Benjamin Heatwole (bheatwole)
|
|
* Bill Mill (llimllib)
|
|
* Bjørn Madsen (aeons)
|
|
* Blake Gentry (bgentry)
|
|
* Brad Fitzpatrick (bradfitz)
|
|
* Charlie Melbye (cmelbye)
|
|
* Chris Bandy (cbandy)
|
|
* Chris Gilling (cgilling)
|
|
* Chris Walsh (cwds)
|
|
* Dan Sosedoff (sosedoff)
|
|
* Daniel Farina (fdr)
|
|
* Eric Chlebek (echlebek)
|
|
* Eric Garrido (minusnine)
|
|
* Eric Urban (hydrogen18)
|
|
* Everyone at The Go Team
|
|
* Evan Shaw (edsrzf)
|
|
* Ewan Chou (coocood)
|
|
* Fazal Majid (fazalmajid)
|
|
* Federico Romero (federomero)
|
|
* Fumin (fumin)
|
|
* Gary Burd (garyburd)
|
|
* Heroku (heroku)
|
|
* James Pozdena (jpoz)
|
|
* Jason McVetta (jmcvetta)
|
|
* Jeremy Jay (pbnjay)
|
|
* Joakim Sernbrant (serbaut)
|
|
* John Gallagher (jgallagher)
|
|
* Jonathan Rudenberg (titanous)
|
|
* Joël Stemmer (jstemmer)
|
|
* Kamil Kisiel (kisielk)
|
|
* Kelly Dunn (kellydunn)
|
|
* Keith Rarick (kr)
|
|
* Kir Shatrov (kirs)
|
|
* Lann Martin (lann)
|
|
* Maciek Sakrejda (uhoh-itsmaciek)
|
|
* Marc Brinkmann (mbr)
|
|
* Marko Tiikkaja (johto)
|
|
* Matt Newberry (MattNewberry)
|
|
* Matt Robenolt (mattrobenolt)
|
|
* Martin Olsen (martinolsen)
|
|
* Mike Lewis (mikelikespie)
|
|
* Nicolas Patry (Narsil)
|
|
* Oliver Tonnhofer (olt)
|
|
* Patrick Hayes (phayes)
|
|
* Paul Hammond (paulhammond)
|
|
* Ryan Smith (ryandotsmith)
|
|
* Samuel Stauffer (samuel)
|
|
* Timothée Peignier (cyberdelia)
|
|
* Travis Cline (tmc)
|
|
* TruongSinh Tran-Nguyen (truongsinh)
|
|
* Yaismel Miranda (ympons)
|
|
* notedit (notedit)
|