70 lines
1.6 KiB
Go
70 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"fmt"
|
|
"net"
|
|
"time"
|
|
|
|
"github.com/ClickHouse/clickhouse-go/v2"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
func main() {
|
|
var dialCount int
|
|
conn, err := clickhouse.Open(&clickhouse.Options{
|
|
Addr: []string{"node-stable-1.db.cluster.zerops:9000"},
|
|
Auth: clickhouse.Auth{
|
|
Database: "cluster",
|
|
Username: "zerops",
|
|
Password: "uvKq9EnwUnXqKQEYcVTYzhoQ",
|
|
},
|
|
DialContext: func(ctx context.Context, addr string) (net.Conn, error) {
|
|
dialCount++
|
|
var d net.Dialer
|
|
return d.DialContext(ctx, "tcp", addr)
|
|
},
|
|
Debug: true,
|
|
Debugf: func(format string, v ...any) {
|
|
fmt.Printf(format+"\n", v...)
|
|
},
|
|
Settings: clickhouse.Settings{
|
|
"max_execution_time": 60,
|
|
},
|
|
Compression: &clickhouse.Compression{
|
|
Method: clickhouse.CompressionLZ4,
|
|
},
|
|
DialTimeout: time.Second * 30,
|
|
MaxOpenConns: 5,
|
|
MaxIdleConns: 5,
|
|
ConnMaxLifetime: time.Duration(10) * time.Minute,
|
|
ConnOpenStrategy: clickhouse.ConnOpenInOrder,
|
|
BlockBufferSize: 10,
|
|
MaxCompressionBuffer: 10240,
|
|
ClientInfo: clickhouse.ClientInfo{ // optional, please see Client info section in the README.md
|
|
Products: []struct {
|
|
Name string
|
|
Version string
|
|
}{
|
|
{Name: "my-app", Version: "0.1"},
|
|
},
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
err = conn.Ping(context.Background())
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
conn2, err := sql.Open("mysql", "zerops:uvKq9EnwUnXqKQEYcVTYzhoQ@tcp(node-stable-1.db.cluster.zerops:9004)/")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
err = conn2.Ping()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|