Issues Reference

PG Pilot detects 42 different database issues. Click any issue for detailed documentation including detection criteria, impact analysis, and remediation steps.

Index Issues

5 issues

Table Health

6 issues

Sequence Issues

1 issues

Transaction ID

1 issues

Replication

4 issues

Connections

6 issues

Configuration

18 issues

Autovacuum Disabled Globally

Critical

Autovacuum is disabled globally, which will cause table bloat, stale statistics, and eventual XID wraparound database shutdown.

Debug Logging Enabled

Warning

Debug-level logging is enabled, creating massive log volumes and significant performance overhead.

Excessive Statement Logging

Warning

Every SQL statement is being logged, creating massive log files and significant I/O overhead.

Few Superuser Reserved Connections

Notice

Very few connections are reserved for superusers, which may prevent administrators from connecting during a connection exhaustion crisis.

High Autovacuum Freeze Max Age

Warning

The autovacuum_freeze_max_age is set higher than recommended, delaying XID freezing and increasing wraparound risk.

Index Scans Disabled

Warning

Index scans are disabled, forcing all queries to use sequential scans regardless of available indexes.

Index-Only Scans Disabled

Warning

Index-only scans are disabled, preventing PostgreSQL from using its most efficient scan method for covered queries.

Log Minimum Duration Zero

Warning

Every query's duration is being logged (log_min_duration_statement = 0), creating excessive log output.

Low Checkpoint Completion Target

Notice

The checkpoint_completion_target is low, causing I/O spikes during checkpoints instead of smooth background writes.

No Idle Transaction Timeout

Notice

No idle_in_transaction_session_timeout is set, meaning idle transactions can block vacuum and hold locks indefinitely.

No Lock Timeout

Notice

No lock_timeout is configured, meaning queries can wait indefinitely for locks instead of failing fast.

No Statement Timeout

Notice

No statement_timeout is configured, meaning queries can run indefinitely without being automatically terminated.

Statistics Tracking Disabled

Critical

Statistics tracking (track_counts) is disabled, which breaks autovacuum and prevents collecting table and index statistics.

Synchronous Commit Disabled

Warning

Synchronous commit is disabled, meaning committed transactions may be lost in a crash window of up to 600ms.

WAL Level Minimal

Warning

WAL level is set to minimal, which disables replication and prevents point-in-time recovery.

Weak Password Encryption

Critical

The database is using MD5 for password hashing, which is cryptographically broken and vulnerable to attacks.

fsync Disabled

Critical

The fsync setting is disabled, meaning PostgreSQL does not ensure data is written to disk. A crash will likely cause unrecoverable data corruption.

full_page_writes Disabled

Critical

The full_page_writes setting is disabled, risking torn page corruption after a crash that cannot be detected or repaired.

Extensions

1 issues