| @@ -128,15 +128,7 @@ func getEngine() (*xorm.Engine, error) { | |||||
| DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param) | DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param) | ||||
| } | } | ||||
| case "postgres": | 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 | if host[0] == '/' { // looks like a unix socket | ||||
| connStr = fmt.Sprintf("postgres://%s:%s@:%s/%s%ssslmode=%s&host=%s", | 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) | url.QueryEscape(DbCfg.User), url.QueryEscape(DbCfg.Passwd), port, DbCfg.Name, Param, DbCfg.SSLMode, host) | ||||