_taosRestful_implementsGo's `database/sql/driver` interface via `http client`. You can use the [`database/sql`](https://golang.org/pkg/database/sql/) interface by simply introducing the driver (driver-go minimum version 3.0.2).
Use `taosWS` as `driverName` and use a correct [DSN](#DSN) as `dataSourceName` with the following parameters supported by the DSN.
* `writeTimeout` The timeout to send data via WebSocket.
* `readTimeout` The timeout to receive response data via WebSocket.
For example:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/taosdata/driver-go/v3/taosWS"
)
func main() {
var taosUri = "root:taosdata@ws(localhost:6041)/"
taos, err := sql.Open("taosWS", taosUri)
if err != nil {
fmt.Println("failed to connect TDengine, err:", err)
dWarn("free data disk size: %f GB, not sufficient, expected %f GB at least",(double)tsDataSpace.size.avail/1024.0/1024.0/1024.0,(double)tsDataSpace.reserved/1024.0/1024.0/1024.0);
dWarn("free temp disk size: %f GB, not sufficient, expected %f GB at least",(double)tsTempSpace.size.avail/1024.0/1024.0/1024.0,(double)tsTempSpace.reserved/1024.0/1024.0/1024.0);
}
returntrue;
// availability
boolret=true;
if(!osDataSpaceAvailable()){
dError("data disk space unavailable, i.e. %s",tsDataDir);
terrno=TSDB_CODE_VND_NO_DISKSPACE;
ret=false;
}
if(!osLogSpaceAvailable()){
dError("log disk space unavailable, i.e. %s",tsLogDir);
terrno=TSDB_CODE_VND_NO_DISKSPACE;
ret=false;
}
if(!osTempSpaceAvailable()){
dError("temp disk space unavailable, i.e. %s",tsTempDir);