Skip to content

Commit

Permalink
Merge pull request #585 from chromko/Fix-#584
Browse files Browse the repository at this point in the history
[-] fix connection string parsing for postgres-continuous-discovery, closes #584
  • Loading branch information
pashagolub committed Mar 6, 2023
2 parents e7f2fd9 + dc4b4dc commit d5a1ec9
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion pgwatch2/pgwatch2.go
Original file line number Diff line number Diff line change
Expand Up @@ -4526,9 +4526,28 @@ func ResolveDatabasesFromConfigEntry(ce MonitoredDatabase) ([]MonitoredDatabase,
if err != nil {
return md, err
}

for _, d := range data {
mainConnString := ce.LibPQConnStr
var parsedConnString string
if len(mainConnString) > 0 {
if strings.Contains(mainConnString, "postgres://") || strings.Contains(mainConnString, "postgresql://") {
parsedConnString, err = pq.ParseURL(mainConnString)
if err != nil {
return nil, err
}
} else {
parsedConnString = mainConnString
}
if strings.Contains(parsedConnString, "dbname=") {
dbRegex := regexp.MustCompile(`dbname=\'?\w+\'?`)
parsedConnString = dbRegex.ReplaceAllString(parsedConnString, fmt.Sprintf("dbname='%s'", d["datname"].(string)))
} else {
parsedConnString += fmt.Sprintf(" dbname='%s'", d["datname"].(string))
}
}

md = append(md, MonitoredDatabase{
LibPQConnStr: parsedConnString,
DBUniqueName: ce.DBUniqueName + "_" + d["datname_escaped"].(string),
DBUniqueNameOrig: ce.DBUniqueName,
DBName: d["datname"].(string),
Expand Down

0 comments on commit d5a1ec9

Please sign in to comment.