comparison cmd/octree2contour/db.go @ 694:a9783d8f74ed octree

octree: Store contour lines into postgres/postgis.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 20 Sep 2018 15:50:07 +0200
parents
children
comparison
equal deleted inserted replaced
689:614135d69823 694:a9783d8f74ed
1 package main
2
3 import (
4 "database/sql"
5 "flag"
6
7 "github.com/jackc/pgx"
8 "github.com/jackc/pgx/stdlib"
9 )
10
11 var (
12 dbhost = flag.String("dbhost", "localhost", "database host")
13 dbport = flag.Uint("dbport", 5432, "database port")
14 dbname = flag.String("dbname", "gemma", "database user")
15 dbuser = flag.String("dbuser", "scott", "database user")
16 dbpassword = flag.String("dbpw", "tiger", "database password")
17 dbssl = flag.String("dbssl", "prefer", "database SSL mode")
18 )
19
20 func run(fn func(*sql.DB) error) error {
21
22 // To ease SSL config ride a bit on parsing.
23 cc, err := pgx.ParseConnectionString("sslmode=" + *dbssl)
24 if err != nil {
25 return err
26 }
27
28 // Do the rest manually to allow whitespace in user/password.
29 cc.Host = *dbhost
30 cc.Port = uint16(*dbport)
31 cc.User = *dbuser
32 cc.Password = *dbpassword
33 cc.Database = *dbname
34
35 db := stdlib.OpenDB(cc)
36 defer db.Close()
37
38 return fn(db)
39 }