Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1 | # SQL database drivers |
| 2 | |
| 3 | The database/sql and database/sql/driver packages are designed for using databases from Go and implementing database drivers, respectively. |
Maxwell_ZT | 16257b8 | 2022-01-24 17:37:04 +0800 | [diff] [blame] | 4 | |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 5 | See the design goals doc: |
| 6 | |
| 7 | > http://golang.org/src/pkg/database/sql/doc.txt |
| 8 | |
| 9 | # Drivers |
| 10 | |
| 11 | Drivers for Go's sql package include: |
| 12 | |
JM Robles | 234cb99 | 2020-11-14 18:14:04 +0100 | [diff] [blame] | 13 | * **Apache H2**: https://github.com/jmrobles/h2go |
Aleksandr Sokolovskii | f33f1e6 | 2018-04-23 22:56:47 +0300 | [diff] [blame] | 14 | * **Apache Ignite/GridGain**: https://github.com/amsokol/ignite-go-client |
Saurav Haloi | a04db79 | 2019-03-11 09:40:27 +0530 | [diff] [blame] | 15 | * **Apache Impala**: https://github.com/bippio/go-impala |
Francis Chuang | 486412d | 2018-04-27 10:36:13 +1000 | [diff] [blame] | 16 | * **Apache Avatica/Phoenix**: https://github.com/apache/calcite-avatica-go |
Henry Fuheng Wu | 8617986 | 2020-02-26 13:42:34 -0800 | [diff] [blame] | 17 | * **Amazon AWS Athena**: https://github.com/uber/athenadriver |
Long Sun | 41126af | 2018-10-10 09:42:38 +0800 | [diff] [blame] | 18 | * **AWS Athena**: https://github.com/segmentio/go-athena |
Thanh Ba Nguyen | 0b7aa23 | 2020-12-22 08:29:12 +1100 | [diff] [blame] | 19 | * **Azure Cosmos DB**: https://github.com/btnguyen2k/gocosmos |
Pierre Durand | f85e788 | 2020-11-12 09:38:17 +0100 | [diff] [blame] | 20 | * **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 Harit | 8906cfb | 2019-02-17 16:08:46 +0000 | [diff] [blame] | 22 | * **CockroachDB**: Use any PostgreSQL driver |
Manik Taneja | 6e35320 | 2016-01-14 23:33:16 +0530 | [diff] [blame] | 23 | * **Couchbase N1QL**: https://github.com/couchbase/go_n1ql |
Frank lin Piat | aa96152 | 2018-07-27 15:55:06 +0200 | [diff] [blame] | 24 | * **DB2 LUW** and **DB2/Z with DB2-Connect**: https://bitbucket.org/phiggins/db2cli (Last updated 2015-08) |
Asif Jalil | 9541292 | 2018-04-28 17:28:00 -0400 | [diff] [blame] | 25 | * **DB2 LUW** (uses cgo): https://github.com/asifjalil/cli |
Akhil Ravuri | 02881a3 | 2019-01-21 17:44:19 +0530 | [diff] [blame] | 26 | * **DB2 LUW, z/OS, iSeries and Informix**: https://github.com/ibmdb/go_ibm_db |
Sebastian | aae60d0 | 2021-07-14 15:26:57 +0200 | [diff] [blame] | 27 | * **Exasol**: (pure Go): https://github.com/exasol/exasol-driver-go |
Hǎiliàng Wáng | 2bdc471 | 2015-07-03 15:11:43 +0800 | [diff] [blame] | 28 | * **Firebird SQL**: https://github.com/nakagami/firebirdsql |
Timur Demin | 7269676 | 2020-10-06 03:46:38 +0500 | [diff] [blame] | 29 | * **Genji** (pure go): https://github.com/genjidb/genji |
Sol Cates | 7dcc437 | 2019-10-24 14:47:32 -0700 | [diff] [blame] | 30 | * **Google Cloud BigQuery**: https://github.com/solcates/go-sql-bigquery |
JBD | 2ee4b24 | 2020-04-21 21:27:46 -0700 | [diff] [blame] | 31 | * **Google Cloud Spanner**: https://github.com/rakyll/go-sql-driver-spanner |
Hǎiliàng Wáng | 2bdc471 | 2015-07-03 15:11:43 +0800 | [diff] [blame] | 32 | * **MS ADODB**: https://github.com/mattn/go-adodb |
| 33 | * **MS SQL Server** (pure go): https://github.com/denisenkom/go-mssqldb |
Igor Anić | 80c8bd8 | 2016-02-24 14:26:23 +0100 | [diff] [blame] | 34 | * **MS SQL Server** (uses cgo): https://github.com/minus5/gofreetds |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 35 | * **MySQL**: https://github.com/go-sql-driver/mysql/ ` [*] ` |
Markus Dosch | 20b4ba8 | 2019-09-12 13:56:06 +0200 | [diff] [blame] | 36 | * **MySQL**: https://github.com/siddontang/go-mysql/ ` [**] ` (also handles replication) |
| 37 | * **MySQL**: https://github.com/ziutek/mymysql ` [*] ` |
Frank lin Piat | d03eb29 | 2018-07-27 15:56:15 +0200 | [diff] [blame] | 38 | * **ODBC**: https://bitbucket.org/miquella/mgodbc (Last updated 2016-02) |
Jeremy Echols | e226e5d | 2015-07-01 12:42:50 -0700 | [diff] [blame] | 39 | * **ODBC**: https://github.com/alexbrainman/odbc |
大猫 | c29178c | 2020-05-06 22:10:11 +0800 | [diff] [blame] | 40 | * **Oracle** (uses cgo): https://github.com/mattn/go-oci8 |
Kurt K | 158d8c3 | 2020-07-07 14:43:53 -0700 | [diff] [blame] | 41 | * **Oracle** (uses cgo): https://gopkg.in/rana/ora.v4 |
Santiago De la Cruz | 7daacf0 | 2019-12-20 15:40:26 -0400 | [diff] [blame] | 42 | * **Oracle** (uses cgo): https://github.com/godror/godror |
Daniel M. Lambea | ba08e5a | 2020-10-28 08:26:50 +0000 | [diff] [blame] | 43 | * **Oracle** (pure go): https://github.com/sijms/go-ora |
Sean Liao | 6fe9f52 | 2022-01-22 16:52:18 +0100 | [diff] [blame] | 44 | * **QL**: https://pkg.go.dev/github.com/cznic/ql/driver |
Hǎiliàng Wáng | 2bdc471 | 2015-07-03 15:11:43 +0800 | [diff] [blame] | 45 | * **Postgres** (pure Go): https://github.com/lib/pq ` [*] ` |
| 46 | * **Postgres** (uses cgo): https://github.com/jbarham/gopgsqldriver |
whitsundale | f73efb4 | 2021-04-22 12:06:26 +0200 | [diff] [blame] | 47 | * **Postgres** (pure Go): https://github.com/jackc/pgx ` [*] ` |
Jeho, Sung | e837948 | 2018-09-05 14:29:20 +0800 | [diff] [blame] | 48 | * **Presto**: https://github.com/prestodb/presto-go-client |
jeffalbion | 5a3d2c4 | 2019-02-07 10:58:29 -0500 | [diff] [blame] | 49 | * **SAP HANA** (uses cgo): https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.03/en-US/0ffbe86c9d9f44338441829c6bee15e6.html |
Hǎiliàng Wáng | 2bdc471 | 2015-07-03 15:11:43 +0800 | [diff] [blame] | 50 | * **SAP HANA** (pure go): https://github.com/SAP/go-hdb |
Frederic Wilhelm | 5cccc48 | 2021-08-04 11:38:34 +0200 | [diff] [blame] | 51 | * **SAP ASE** (pure go): https://github.com/SAP/go-ase |
| 52 | * **SAP ASE** (uses cgo): https://github.com/SAP/cgo-ase |
David Sharnoff | fe7e500 | 2021-10-22 13:03:45 -0700 | [diff] [blame] | 53 | * **SingleStore**: Use any MySQL driver |
Tyler Jones | a348b9c | 2018-01-31 23:43:05 -0500 | [diff] [blame] | 54 | * **Snowflake** (pure Go): https://github.com/snowflakedb/gosnowflake |
Manolis Kamilakis | bc6e348 | 2017-12-28 10:26:41 +0200 | [diff] [blame] | 55 | * **SQLite** (uses cgo): https://github.com/mattn/go-sqlite3 ` [*] ` |
| 56 | * **SQLite** (uses cgo): https://github.com/gwenn/gosqlite - Supports SQLite dynamic data typing |
Jacob Marble | d2438af | 2018-03-04 15:47:22 -0800 | [diff] [blame] | 57 | * **SQLite** (uses cgo): https://github.com/mxk/go-sqlite |
| 58 | * **SQLite**: (uses cgo): https://github.com/rsc/sqlite |
Sam Mortimer | 155002f | 2020-09-08 09:48:18 -0700 | [diff] [blame] | 59 | * **SQLite**: (pure go): https://modernc.org/sqlite |
Paul Mundt | 2b58965 | 2019-01-05 11:13:40 +0100 | [diff] [blame] | 60 | * **SQL over REST**: https://github.com/adaptant-labs/go-sql-rest-driver |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 61 | * **Sybase SQL Anywhere**: https://github.com/a-palchikov/sqlago |
Thomas | 3691e10 | 2019-02-01 12:05:06 +0100 | [diff] [blame] | 62 | * **Sybase ASE** (pure go): https://github.com/thda/tds |
siddontang | 229340b | 2019-10-26 20:48:36 +0800 | [diff] [blame] | 63 | * **TiDB**: Use any MySQL driver |
Siting Ren | fd37d97 | 2019-06-20 11:41:39 -0400 | [diff] [blame] | 64 | * **Vertica**: https://github.com/vertica/vertica-sql-go |
Sean Liao | 6fe9f52 | 2022-01-22 16:52:18 +0100 | [diff] [blame] | 65 | * **Vitess**: https://pkg.go.dev/vitess.io/vitess/go/vt/vitessdriver |
mattn | 5b49c34 | 2015-03-17 15:15:20 +0900 | [diff] [blame] | 66 | * **YQL (Yahoo! Query Language)**: https://github.com/mattn/go-yql |
Yi Wang | 0b4b737 | 2019-04-13 12:21:26 -0700 | [diff] [blame] | 67 | * **Apache Hive**: https://github.com/sql-machine-learning/gohive |
Yi Wang | 66da9f4 | 2019-05-22 19:46:43 -0700 | [diff] [blame] | 68 | * **MaxCompute**: https://github.com/sql-machine-learning/gomaxcompute |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 69 | |
Sean Liao | 6fe9f52 | 2022-01-22 16:52:18 +0100 | [diff] [blame] | 70 | Drivers marked with ` [*] ` are both included in and pass the compatibility test suite at https://github.com/bradfitz/go-sql-test. |
| 71 | Drivers marked with ` [**] ` pass the compatibility test suite but are not currently included in it. |