diff --git a/models/models.go b/models/models.go index f9ce67d935..98e07c50f4 100644 --- a/models/models.go +++ b/models/models.go @@ -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)