blob: 3ed556434efcd9d642020517d4480f467f253c98 [file] [log] [blame] [view]
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11001# SQL database drivers
2
3The database/sql and database/sql/driver packages are designed for using databases from Go and implementing database drivers, respectively.
Maxwell_ZT16257b82022-01-24 17:37:04 +08004
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11005See the design goals doc:
6
7> http://golang.org/src/pkg/database/sql/doc.txt
8
9# Drivers
10
11Drivers for Go's sql package include:
12
JM Robles234cb992020-11-14 18:14:04 +010013 * **Apache H2**: https://github.com/jmrobles/h2go
Aleksandr Sokolovskiif33f1e62018-04-23 22:56:47 +030014 * **Apache Ignite/GridGain**: https://github.com/amsokol/ignite-go-client
Saurav Haloia04db792019-03-11 09:40:27 +053015 * **Apache Impala**: https://github.com/bippio/go-impala
Francis Chuang486412d2018-04-27 10:36:13 +100016 * **Apache Avatica/Phoenix**: https://github.com/apache/calcite-avatica-go
Henry Fuheng Wu86179862020-02-26 13:42:34 -080017 * **Amazon AWS Athena**: https://github.com/uber/athenadriver
Long Sun41126af2018-10-10 09:42:38 +080018 * **AWS Athena**: https://github.com/segmentio/go-athena
Thanh Ba Nguyen0b7aa232020-12-22 08:29:12 +110019 * **Azure Cosmos DB**: https://github.com/btnguyen2k/gocosmos
Pierre Durandf85e7882020-11-12 09:38:17 +010020 * **ClickHouse** (uses [native TCP interface](https://clickhouse.tech/docs/en/interfaces/tcp/)): https://github.com/ClickHouse/clickhouse-go
21 * **ClickHouse** (uses [HTTP API](https://clickhouse.tech/docs/en/interfaces/http/)): https://github.com/mailru/go-clickhouse
Aditya Harit8906cfb2019-02-17 16:08:46 +000022 * **CockroachDB**: Use any PostgreSQL driver
Manik Taneja6e353202016-01-14 23:33:16 +053023 * **Couchbase N1QL**: https://github.com/couchbase/go_n1ql
Frank lin Piataa961522018-07-27 15:55:06 +020024 * **DB2 LUW** and **DB2/Z with DB2-Connect**: https://bitbucket.org/phiggins/db2cli (Last updated 2015-08)
Asif Jalil95412922018-04-28 17:28:00 -040025 * **DB2 LUW** (uses cgo): https://github.com/asifjalil/cli
Akhil Ravuri02881a32019-01-21 17:44:19 +053026 * **DB2 LUW, z/OS, iSeries and Informix**: https://github.com/ibmdb/go_ibm_db
Sebastianaae60d02021-07-14 15:26:57 +020027 * **Exasol**: (pure Go): https://github.com/exasol/exasol-driver-go
Hǎiliàng Wáng2bdc4712015-07-03 15:11:43 +080028 * **Firebird SQL**: https://github.com/nakagami/firebirdsql
Timur Demin72696762020-10-06 03:46:38 +050029 * **Genji** (pure go): https://github.com/genjidb/genji
Sol Cates7dcc4372019-10-24 14:47:32 -070030 * **Google Cloud BigQuery**: https://github.com/solcates/go-sql-bigquery
JBD2ee4b242020-04-21 21:27:46 -070031 * **Google Cloud Spanner**: https://github.com/rakyll/go-sql-driver-spanner
Hǎiliàng Wáng2bdc4712015-07-03 15:11:43 +080032 * **MS ADODB**: https://github.com/mattn/go-adodb
33 * **MS SQL Server** (pure go): https://github.com/denisenkom/go-mssqldb
Igor Anić80c8bd82016-02-24 14:26:23 +010034 * **MS SQL Server** (uses cgo): https://github.com/minus5/gofreetds
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110035 * **MySQL**: https://github.com/go-sql-driver/mysql/ ` [*] `
Markus Dosch20b4ba82019-09-12 13:56:06 +020036 * **MySQL**: https://github.com/siddontang/go-mysql/ ` [**] ` (also handles replication)
37 * **MySQL**: https://github.com/ziutek/mymysql ` [*] `
Frank lin Piatd03eb292018-07-27 15:56:15 +020038 * **ODBC**: https://bitbucket.org/miquella/mgodbc (Last updated 2016-02)
Jeremy Echolse226e5d2015-07-01 12:42:50 -070039 * **ODBC**: https://github.com/alexbrainman/odbc
大猫c29178c2020-05-06 22:10:11 +080040 * **Oracle** (uses cgo): https://github.com/mattn/go-oci8
Kurt K158d8c32020-07-07 14:43:53 -070041 * **Oracle** (uses cgo): https://gopkg.in/rana/ora.v4
Santiago De la Cruz7daacf02019-12-20 15:40:26 -040042 * **Oracle** (uses cgo): https://github.com/godror/godror
Daniel M. Lambeaba08e5a2020-10-28 08:26:50 +000043 * **Oracle** (pure go): https://github.com/sijms/go-ora
Sean Liao6fe9f522022-01-22 16:52:18 +010044 * **QL**: https://pkg.go.dev/github.com/cznic/ql/driver
Hǎiliàng Wáng2bdc4712015-07-03 15:11:43 +080045 * **Postgres** (pure Go): https://github.com/lib/pq ` [*] `
46 * **Postgres** (uses cgo): https://github.com/jbarham/gopgsqldriver
whitsundalef73efb42021-04-22 12:06:26 +020047 * **Postgres** (pure Go): https://github.com/jackc/pgx ` [*] `
Jeho, Sunge8379482018-09-05 14:29:20 +080048 * **Presto**: https://github.com/prestodb/presto-go-client
jeffalbion5a3d2c42019-02-07 10:58:29 -050049 * **SAP HANA** (uses cgo): https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.03/en-US/0ffbe86c9d9f44338441829c6bee15e6.html
Hǎiliàng Wáng2bdc4712015-07-03 15:11:43 +080050 * **SAP HANA** (pure go): https://github.com/SAP/go-hdb
Frederic Wilhelm5cccc482021-08-04 11:38:34 +020051 * **SAP ASE** (pure go): https://github.com/SAP/go-ase
52 * **SAP ASE** (uses cgo): https://github.com/SAP/cgo-ase
David Sharnofffe7e5002021-10-22 13:03:45 -070053 * **SingleStore**: Use any MySQL driver
Tyler Jonesa348b9c2018-01-31 23:43:05 -050054 * **Snowflake** (pure Go): https://github.com/snowflakedb/gosnowflake
Manolis Kamilakisbc6e3482017-12-28 10:26:41 +020055 * **SQLite** (uses cgo): https://github.com/mattn/go-sqlite3 ` [*] `
56 * **SQLite** (uses cgo): https://github.com/gwenn/gosqlite - Supports SQLite dynamic data typing
Jacob Marbled2438af2018-03-04 15:47:22 -080057 * **SQLite** (uses cgo): https://github.com/mxk/go-sqlite
58 * **SQLite**: (uses cgo): https://github.com/rsc/sqlite
Sam Mortimer155002f2020-09-08 09:48:18 -070059 * **SQLite**: (pure go): https://modernc.org/sqlite
Paul Mundt2b589652019-01-05 11:13:40 +010060 * **SQL over REST**: https://github.com/adaptant-labs/go-sql-rest-driver
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110061 * **Sybase SQL Anywhere**: https://github.com/a-palchikov/sqlago
Thomas3691e102019-02-01 12:05:06 +010062 * **Sybase ASE** (pure go): https://github.com/thda/tds
siddontang229340b2019-10-26 20:48:36 +080063 * **TiDB**: Use any MySQL driver
Siting Renfd37d972019-06-20 11:41:39 -040064 * **Vertica**: https://github.com/vertica/vertica-sql-go
Sean Liao6fe9f522022-01-22 16:52:18 +010065 * **Vitess**: https://pkg.go.dev/vitess.io/vitess/go/vt/vitessdriver
mattn5b49c342015-03-17 15:15:20 +090066 * **YQL (Yahoo! Query Language)**: https://github.com/mattn/go-yql
Yi Wang0b4b7372019-04-13 12:21:26 -070067 * **Apache Hive**: https://github.com/sql-machine-learning/gohive
Yi Wang66da9f42019-05-22 19:46:43 -070068 * **MaxCompute**: https://github.com/sql-machine-learning/gomaxcompute
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110069
Sean Liao6fe9f522022-01-22 16:52:18 +010070Drivers marked with ` [*] ` are both included in and pass the compatibility test suite at https://github.com/bradfitz/go-sql-test.
71Drivers marked with ` [**] ` pass the compatibility test suite but are not currently included in it.