lib / pq

Pure Go Postgres driver for database/sql
https://pkg.go.dev/github.com/lib/pq
MIT License
9.04k stars 909 forks source link

Allow to change (or disable) the default driver name for registration #1160

Open demoManito opened 4 months ago

demoManito commented 4 months ago

Description

A link variable now allows to change or disable the name of the driver that is automatically registered with database/sql. This allows users to give the postgres name to another database/sql driver.

The implementation is the same as in: https://github.com/go-sql-driver/mysql driver. See https://github.com/go-sql-driver/mysql/blob/af8d7931954ec21a96df9610a99c09c2887f2ee7/driver.go#L92

Usage

Change the driver name to custom:

go build "-ldflags=-X github.com/lib/pq.driverName=custom"

Disable the automatic driver registration (set driverName to an empty string):

go build "-ldflags=-X github.com/lib/pq.driverName="

In the same way, a variable overridable at link time is also provided to override the driver name used in the test suite. This allows to run our test suite on another driver.

go build "-ldflags=-X github.com/lib/pq.driverNameTest=custom"

driverName is propagated to driverNameTest unless driverNameTest is explicitely defined.