//go:build !windows// +build !windowspackage pgconnimport ()func defaultSettings() map[string]string { := make(map[string]string) ["host"] = defaultHost() ["port"] = "5432"// Default to the OS user name. Purposely ignoring err getting user name from // OS. The client application will simply have to specify the user in that // case (which they typically will be doing anyway). , := user.Current()if == nil { ["user"] = .Username ["passfile"] = filepath.Join(.HomeDir, ".pgpass") ["servicefile"] = filepath.Join(.HomeDir, ".pg_service.conf") := filepath.Join(.HomeDir, ".postgresql", "postgresql.crt") := filepath.Join(.HomeDir, ".postgresql", "postgresql.key")if , := os.Stat(); == nil {if , := os.Stat(); == nil {// Both the cert and key must be present to use them, or do not use either ["sslcert"] = ["sslkey"] = } } := filepath.Join(.HomeDir, ".postgresql", "root.crt")if , := os.Stat(); == nil { ["sslrootcert"] = } } ["target_session_attrs"] = "any"return}// defaultHost attempts to mimic libpq's default host. libpq uses the default unix socket location on *nix and localhost// on Windows. The default socket location is compiled into libpq. Since pgx does not have access to that default it// checks the existence of common locations.func defaultHost() string { := []string{"/var/run/postgresql", // Debian"/private/tmp", // OSX - homebrew"/tmp", // standard PostgreSQL }for , := range {if , := os.Stat(); == nil {return } }return"localhost"}
The pages are generated with Goldsv0.6.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.