mirror of https://github.com/lib/pq.git
3d613208bc
* Use and respect the passfile connection parameter The postgres documentation[1] regarding the password file, states that: password file to use can be specified using the connection parameter passfile or the environment variable PGPASSFILE. The current implementation of lib/pq only respects the environment variable PGPASSFILE. This is not correct, but also limiting, as the PGPASSFILE is global and we might want to use different files for different clients in the same program. Fixing that is easy, by just checking the parameter passfile first, and if not, pull the value from PGPASSFILE. This also moves the parsing of PGPASSFILE to `parseEnviron`. Now the connection only checks the parameter passfile, that is populated by `parseEnviron`. [1] https://www.postgresql.org/docs/current/libpq-pgpass.html |
||
---|---|---|
.github/workflows | ||
auth/kerberos | ||
certs | ||
example/listen | ||
hstore | ||
oid | ||
scram | ||
.gitignore | ||
LICENSE.md | ||
README.md | ||
TESTS.md | ||
array.go | ||
array_test.go | ||
bench_test.go | ||
buf.go | ||
buf_test.go | ||
conn.go | ||
conn_go18.go | ||
conn_go19.go | ||
conn_go19_test.go | ||
conn_go115.go | ||
conn_test.go | ||
connector.go | ||
connector_example_test.go | ||
connector_test.go | ||
copy.go | ||
copy_test.go | ||
doc.go | ||
encode.go | ||
encode_test.go | ||
error.go | ||
go.mod | ||
go18_test.go | ||
go19_test.go | ||
issues_test.go | ||
krb.go | ||
notice.go | ||
notice_example_test.go | ||
notice_test.go | ||
notify.go | ||
notify_test.go | ||
rows.go | ||
rows_test.go | ||
ssl.go | ||
ssl_permissions.go | ||
ssl_permissions_test.go | ||
ssl_test.go | ||
ssl_windows.go | ||
url.go | ||
url_test.go | ||
user_other.go | ||
user_posix.go | ||
user_windows.go | ||
uuid.go | ||
uuid_test.go |
README.md
pq - A pure Go postgres driver for Go's database/sql package
Install
go get github.com/lib/pq
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
- GSS (Kerberos) auth
Tests
go test
is used for testing. See TESTS.md for more details.
Status
This package is currently in maintenance mode, which means:
- It generally does not accept new features.
- It does accept bug fixes and version compatability changes provided by the community.
- Maintainers usually do not resolve reported issues.
- Community members are encouraged to help each other with reported issues.
For users that require new features or reliable resolution of reported bugs, we recommend using pgx which is under active development.