|
|
|
@ -128,15 +128,7 @@ func getEngine() (*xorm.Engine, error) { |
|
|
|
|
DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param) |
|
|
|
|
} |
|
|
|
|
case "postgres": |
|
|
|
|
host, port := "127.0.0.1", "5432" |
|
|
|
|
if strings.Contains(DbCfg.Host, ":") && !strings.HasSuffix(DbCfg.Host, "]") { |
|
|
|
|
idx := strings.LastIndex(DbCfg.Host, ":") |
|
|
|
|
host = DbCfg.Host[:idx] |
|
|
|
|
port = DbCfg.Host[idx+1:] |
|
|
|
|
} else if len(DbCfg.Host) > 0 { |
|
|
|
|
host = DbCfg.Host |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
host, port := parsePostgreSQLHostPort(DbCfg.Host) |
|
|
|
|
if host[0] == '/' { // looks like a unix socket
|
|
|
|
|
connStr = fmt.Sprintf("postgres://%s:%s@:%s/%s%ssslmode=%s&host=%s", |
|
|
|
|
url.QueryEscape(DbCfg.User), url.QueryEscape(DbCfg.Passwd), port, DbCfg.Name, Param, DbCfg.SSLMode, host) |
|
|
|
|