@@ -17,33 +17,48 @@ Use pgx to connect to CrateDB from Go applications.
1717:::{rubric} Synopsis
1818:::
1919
20- ``` golang
20+ ``` go
2121package main
2222
2323import (
24- " context"
25- " fmt"
26- " os"
27-
28- " github.com/jackc/pgx/v5"
24+ " context"
25+ " fmt"
26+ " os"
27+
28+ " github.com/jackc/pgx/v5"
2929)
3030
3131func main () {
32- // urlExample := "postgres://username:password@localhost:5432/schema_name"
33- conn , err := pgx.Connect (context.Background (), os.Getenv (" DATABASE_URL" ))
34- if err != nil {
35- fmt.Fprintf (os.Stderr , " Unable to connect to database: %v \n " , err)
36- os.Exit (1 )
37- }
38- defer conn.Close (context.Background ())
39-
40- err = conn.QueryRow (context.Background (), " SELECT * FROM sys.summits ORDER BY height DESC LIMIT 3" ).Scan ()
41- if err != nil {
42- fmt.Fprintf (os.Stderr , " QueryRow failed: %v \n " , err)
43- os.Exit (1 )
44- }
45-
46- fmt.Println (name, weight)
32+
33+ ctx := context.Background ()
34+
35+ // urlExample := "postgres://username:password@localhost:5432/schema_name"
36+ conn , err := pgx.Connect (ctx, os.Getenv (" DATABASE_URL" ))
37+ if err != nil {
38+ fmt.Fprintf (os.Stderr , " Unable to connect to database: %v \n " , err)
39+ os.Exit (1 )
40+ }
41+ defer conn.Close (ctx)
42+
43+ err = conn.Query (ctx, " SELECT mountain, height FROM sys.summits ORDER BY height DESC LIMIT 3" ).Scan ()
44+ if err != nil {
45+ fmt.Fprintf (os.Stderr , " Query failed: %v \n " , err)
46+ os.Exit (1 )
47+ }
48+
49+ for rows.Next () {
50+ var mountain string
51+ var height int
52+ if err := rows.Scan (&mountain, &height); err != nil {
53+ fmt.Fprintf (os.Stderr , " Scan failed: %v \n " , err)
54+ os.Exit (1 )
55+ }
56+ fmt.Println (name, height)
57+ }
58+ if err := rows.Err (); err != nil {
59+ fmt.Fprintf (os.Stderr , " Rows error: %v \n " , err)
60+ os.Exit (1 )
61+ }
4762}
4863```
4964
0 commit comments