restore: fix OOM caused by --verbose output accumulation
CRITICAL OOM FIX: - pg_restore --verbose outputs MASSIVE text (gigabytes for large DBs) - Previous fix accumulated ALL errors in allErrors slice causing OOM - Now limit error capture to last 10 errors only - Discard verbose progress output entirely to prevent memory buildup CHANGES: - Replace allErrors slice with lastError string + errorCount counter - Only log first 10 errors to prevent memory exhaustion - Make --verbose optional via RestoreOptions.Verbose flag - Disable --verbose for cluster restores (prevent OOM) - Keep --verbose for single DB restores (better diagnostics) This resolves 'runtime: out of memory' panic during cluster restore.
This commit is contained in:
@@ -60,12 +60,13 @@ type BackupOptions struct {
|
||||
|
||||
// RestoreOptions holds options for restore operations
|
||||
type RestoreOptions struct {
|
||||
Parallel int
|
||||
Clean bool
|
||||
IfExists bool
|
||||
NoOwner bool
|
||||
NoPrivileges bool
|
||||
Parallel int
|
||||
Clean bool
|
||||
IfExists bool
|
||||
NoOwner bool
|
||||
NoPrivileges bool
|
||||
SingleTransaction bool
|
||||
Verbose bool // Enable verbose output (caution: can cause OOM on large restores)
|
||||
}
|
||||
|
||||
// SampleStrategy defines how to sample data
|
||||
|
||||
Reference in New Issue
Block a user