Refactor database performance diagnostics: Update SQL queries in diagnose-db-performance.js to use 'relname' instead of 'tablename' for improved accuracy in table and index size calculations. This change enhances the clarity and correctness of performance diagnostics.

This commit is contained in:
Torsten Schulz (local)
2026-01-29 13:55:07 +01:00
parent ae096eb4c3
commit 57d64a7ef8

View File

@@ -173,10 +173,10 @@ async function checkTableSizes() {
const [tableSizes] = await sequelize.query(` const [tableSizes] = await sequelize.query(`
SELECT SELECT
schemaname || '.' || tablename as full_table_name, schemaname || '.' || relname as full_table_name,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as total_size, pg_size_pretty(pg_total_relation_size(schemaname||'.'||relname)) as total_size,
pg_size_pretty(pg_relation_size(schemaname||'.'||tablename)) as table_size, pg_size_pretty(pg_relation_size(schemaname||'.'||relname)) as table_size,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename) - pg_relation_size(schemaname||'.'||tablename)) as indexes_size, pg_size_pretty(pg_total_relation_size(schemaname||'.'||relname) - pg_relation_size(schemaname||'.'||relname)) as indexes_size,
n_live_tup as row_count, n_live_tup as row_count,
n_dead_tup as dead_rows, n_dead_tup as dead_rows,
CASE CASE
@@ -189,7 +189,7 @@ async function checkTableSizes() {
last_autoanalyze last_autoanalyze
FROM pg_stat_user_tables FROM pg_stat_user_tables
WHERE schemaname IN ('falukant_data', 'falukant_type', 'community', 'logs') WHERE schemaname IN ('falukant_data', 'falukant_type', 'community', 'logs')
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC ORDER BY pg_total_relation_size(schemaname||'.'||relname) DESC
LIMIT 20; LIMIT 20;
`); `);
@@ -222,7 +222,7 @@ async function checkIndexes() {
// Fehlende Indizes (basierend auf pg_stat_user_tables) // Fehlende Indizes (basierend auf pg_stat_user_tables)
const [missingIndexes] = await sequelize.query(` const [missingIndexes] = await sequelize.query(`
SELECT SELECT
schemaname || '.' || tablename as table_name, schemaname || '.' || relname as table_name,
seq_scan, seq_scan,
seq_tup_read, seq_tup_read,
idx_scan, idx_scan,
@@ -247,7 +247,7 @@ async function checkIndexes() {
const [unusedIndexes] = await sequelize.query(` const [unusedIndexes] = await sequelize.query(`
SELECT SELECT
schemaname || '.' || indexrelname as index_name, schemaname || '.' || indexrelname as index_name,
schemaname || '.' || tablename as table_name, schemaname || '.' || relname as table_name,
pg_size_pretty(pg_relation_size(indexrelid)) as index_size, pg_size_pretty(pg_relation_size(indexrelid)) as index_size,
idx_scan as scans idx_scan as scans
FROM pg_stat_user_indexes FROM pg_stat_user_indexes
@@ -270,7 +270,7 @@ async function checkIndexes() {
const [indexBloat] = await sequelize.query(` const [indexBloat] = await sequelize.query(`
SELECT SELECT
schemaname || '.' || indexrelname as index_name, schemaname || '.' || indexrelname as index_name,
schemaname || '.' || tablename as table_name, schemaname || '.' || relname as table_name,
pg_size_pretty(pg_relation_size(indexrelid)) as index_size, pg_size_pretty(pg_relation_size(indexrelid)) as index_size,
idx_scan as scans, idx_scan as scans,
idx_tup_read as tuples_read, idx_tup_read as tuples_read,
@@ -296,7 +296,7 @@ async function checkVacuumStatus() {
const [vacuumStats] = await sequelize.query(` const [vacuumStats] = await sequelize.query(`
SELECT SELECT
schemaname || '.' || tablename as table_name, schemaname || '.' || relname as table_name,
last_vacuum, last_vacuum,
last_autovacuum, last_autovacuum,
last_analyze, last_analyze,