Skip to content

Commit a8d7282

Browse files
PMM-7896 Updated DB discovery query (#34)
* PMM-7896 Updated DB discovery query * Updated text indentation Co-authored-by: Carlos Salguero <your-email-address>
1 parent aa8b12d commit a8d7282

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

cmd/postgres_exporter/postgres_exporter.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1215,22 +1215,30 @@ func newDesc(subsystem, name, help string, labels prometheus.Labels) *prometheus
12151215
}
12161216

12171217
func queryDatabases(server *Server) ([]string, error) {
1218-
rows, err := server.db.Query("SELECT datname FROM pg_database WHERE datallowconn = true AND datistemplate = false AND datname != current_database()") // nolint: safesql
1218+
query := `SELECT datname FROM pg_database WHERE datallowconn = true AND datistemplate = false AND has_database_privilege(current_user, datname, 'connect')`
1219+
1220+
rows, err := server.db.Query(query)
12191221
if err != nil {
12201222
return nil, fmt.Errorf("error retrieving databases: %v", err)
12211223
}
12221224
defer rows.Close() // nolint: errcheck
12231225

12241226
var databaseName string
12251227
result := make([]string, 0)
1228+
12261229
for rows.Next() {
12271230
err = rows.Scan(&databaseName)
12281231
if err != nil {
12291232
return nil, errors.New(fmt.Sprintln("error retrieving rows:", err))
12301233
}
1234+
12311235
result = append(result, databaseName)
12321236
}
12331237

1238+
if rows.Err() != nil {
1239+
return nil, errors.New(fmt.Sprintln("error retrieving rows:", err))
1240+
}
1241+
12341242
return result, nil
12351243
}
12361244

0 commit comments

Comments
 (0)