Mercurial > gemma
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 } |