Firebird RDBMS https://firebirdsql.org SQL driver for Go
- Firebird 2.5 or higher
 - Golang 1.20 or higher
 
package main
import (
    "fmt"
    "database/sql"
    _ "github.com/nakagami/firebirdsql"
)
func main() {
    var n int
    conn, _ := sql.Open("firebirdsql", "user:password@servername/foo/bar.fdb")
    defer conn.Close()
    conn.QueryRow("SELECT Count(*) FROM rdb$relations").Scan(&n)
    fmt.Println("Relations count=", n)
}See also driver_test.go
   package main
      import (
       "fmt"
       "github.com/nakagami/firebirdsql"
   )
   func main() {
       dsn := "user:password@servername/foo/bar.fdb"
       events := []string{"my_event", "order_created"}
       fbEvent, _ := firebirdsql.NewFBEvent(dsn)
       defer fbEvent.Close()
       sbr, _ := fbEvent.Subscribe(events, func(event firebirdsql.Event) { //or use SubscribeChan
           fmt.Printf("event: %s, count: %d, id: %d, remote id:%d \n", event.Name, event.Count, event.ID, event.RemoteID)
       })
       defer sbr.Unsubscribe()
       go func() {
               fbEvent.PostEvent(events[0])
               fbEvent.PostEvent(events[1])
       }()
       <- make(chan struct{}) //wait
   }See also _example
user:password@servername[:port_number]/database_name_or_file[?params1=value1[¶m2=value2]...]- user: login user
 - password: login password
 - servername: Firebird server's host name or IP address.
 - port_number: Port number. default value is 3050.
 - database_name_or_file: Database path (or alias name).
 
param1, param2... are
| Name | Description | Default | Note | 
|---|---|---|---|
| auth_plugin_name | Authentication plugin name. | Srp256 | Srp256/Srp/Legacy_Auth are available. | 
| column_name_to_lower | Force column name to lower | false | For "github.com/jmoiron/sqlx" | 
| role | Role name | ||
| timezone | Time Zone name | For Firebird 4.0+ | |
| wire_crypt | Enable wire data encryption or not. | true | For Firebird 3.0+ | 
| charset | Firebird Charecter Set | 
See https://github.com/flylink888/gorm-firebird