diff --git a/internal/config/persist.go b/internal/config/persist.go index 5fd7c5d..eab6bb3 100755 --- a/internal/config/persist.go +++ b/internal/config/persist.go @@ -30,7 +30,7 @@ type LocalConfig struct { // Performance settings CPUWorkload string MaxCores int - ClusterTimeout int // Cluster operation timeout in minutes (default: 1440 = 24 hours) + ClusterTimeout int // Cluster operation timeout in minutes (default: 1440 = 24 hours) ResourceProfile string LargeDBMode bool // Enable large database mode (reduces parallelism, increases locks) diff --git a/internal/tui/backup_exec.go b/internal/tui/backup_exec.go index 11f070b..158eec6 100644 --- a/internal/tui/backup_exec.go +++ b/internal/tui/backup_exec.go @@ -39,8 +39,8 @@ type BackupExecutionModel struct { cancelling bool // True when user has requested cancellation err error result string - archivePath string // Path to created archive (for summary) - archiveSize int64 // Size of created archive (for summary) + archivePath string // Path to created archive (for summary) + archiveSize int64 // Size of created archive (for summary) startTime time.Time elapsed time.Duration // Final elapsed time details []string @@ -63,8 +63,8 @@ type sharedBackupProgressState struct { dbTotal int dbDone int dbName string - overallPhase int // 1=globals, 2=databases, 3=compressing - phaseDesc string // Description of current phase + overallPhase int // 1=globals, 2=databases, 3=compressing + phaseDesc string // Description of current phase hasUpdate bool phase2StartTime time.Time // When phase 2 started (for realtime ETA calculation) dbPhaseElapsed time.Duration // Elapsed time since database backup phase started diff --git a/internal/tui/restore_exec.go b/internal/tui/restore_exec.go index a7c3edf..ae900e1 100755 --- a/internal/tui/restore_exec.go +++ b/internal/tui/restore_exec.go @@ -152,8 +152,8 @@ type sharedProgressState struct { currentDB string // Timing info for database restore phase - dbPhaseElapsed time.Duration // Elapsed time since restore phase started - dbAvgPerDB time.Duration // Average time per database restore + dbPhaseElapsed time.Duration // Elapsed time since restore phase started + dbAvgPerDB time.Duration // Average time per database restore phase3StartTime time.Time // When phase 3 started (for realtime ETA calculation) // Overall phase tracking (1=Extract, 2=Globals, 3=Databases) @@ -1171,12 +1171,12 @@ func formatRestoreError(errStr string) string { // Provide specific recommendations based on error if strings.Contains(errStr, "out of shared memory") || strings.Contains(errStr, "max_locks_per_transaction") { - s.WriteString(errorStyle.Render(" • Cannot access file: stat : no such file or directory\n")) + s.WriteString(errorStyle.Render(" • PostgreSQL lock table exhausted\n")) s.WriteString("\n") s.WriteString(infoStyle.Render(" ─── [HINT] Recommendations ────────────────────────────────")) s.WriteString("\n\n") - s.WriteString(" Lock table exhausted. Total capacity = max_locks_per_transaction\n") - s.WriteString(" × (max_connections + max_prepared_transactions).\n\n") + s.WriteString(" Lock capacity = max_locks_per_transaction\n") + s.WriteString(" × (max_connections + max_prepared_transactions)\n\n") s.WriteString(" If you reduced VM size or max_connections, you need higher\n") s.WriteString(" max_locks_per_transaction to compensate.\n\n") s.WriteString(successStyle.Render(" FIX OPTIONS:\n"))