...
1 package pgconn
2
3 import (
4 "os"
5 "os/user"
6 "path/filepath"
7 "strings"
8 )
9
10 func defaultSettings() map[string]string {
11 settings := make(map[string]string)
12
13 settings["host"] = defaultHost()
14 settings["port"] = "5432"
15
16
17
18
19 user, err := user.Current()
20 appData := os.Getenv("APPDATA")
21 if err == nil {
22
23
24 username := user.Username
25 if strings.Contains(username, "\\") {
26 username = username[strings.LastIndex(username, "\\")+1:]
27 }
28
29 settings["user"] = username
30 settings["passfile"] = filepath.Join(appData, "postgresql", "pgpass.conf")
31 settings["servicefile"] = filepath.Join(user.HomeDir, ".pg_service.conf")
32 sslcert := filepath.Join(appData, "postgresql", "postgresql.crt")
33 sslkey := filepath.Join(appData, "postgresql", "postgresql.key")
34 if _, err := os.Stat(sslcert); err == nil {
35 if _, err := os.Stat(sslkey); err == nil {
36
37 settings["sslcert"] = sslcert
38 settings["sslkey"] = sslkey
39 }
40 }
41 sslrootcert := filepath.Join(appData, "postgresql", "root.crt")
42 if _, err := os.Stat(sslrootcert); err == nil {
43 settings["sslrootcert"] = sslrootcert
44 }
45 }
46
47 settings["target_session_attrs"] = "any"
48
49 settings["min_read_buffer_size"] = "8192"
50
51 return settings
52 }
53
54
55
56
57 func defaultHost() string {
58 return "localhost"
59 }
60
View as plain text