diff --git a/apps/studio/components/interfaces/Settings/Logs/Logs.utils.ts b/apps/studio/components/interfaces/Settings/Logs/Logs.utils.ts index 82536a58575..c733e38a0e9 100644 --- a/apps/studio/components/interfaces/Settings/Logs/Logs.utils.ts +++ b/apps/studio/components/interfaces/Settings/Logs/Logs.utils.ts @@ -320,10 +320,17 @@ export const genChartQuery = ( filters: Filters ) => { const [startOffset, trunc] = calcChartStart(params) - const where = genWhereStatement(table, filters) + let where = genWhereStatement(table, filters) const errorCondition = getErrorCondition(table) const warningCondition = getWarningCondition(table) + // pg_cron logs are a subset of postgres logs + // to calculate the chart, we need to query postgres logs + if (table === LogsTableName.PG_CRON) { + table = LogsTableName.POSTGRES + where = `where (parsed.application_name = 'pg_cron' OR event_message LIKE '%cron job%')` + } + let joins = genCrossJoinUnnests(table) const q = ` @@ -597,6 +604,8 @@ function getErrorCondition(table: LogsTableName): string { return 'response.status_code >= 500' case 'function_logs': return "metadata.level IN ('error', 'fatal')" + case 'pg_cron_logs': + return "parsed.error_severity IN ('ERROR', 'FATAL', 'PANIC')" default: return 'false' }