Skip to content
dbexplore

FAQ

Questions operators type at three in the morning, answered in the first paragraph

One question per page, in the words it was asked. The answer comes before the explanation, because that is the order you need it in.

Most pages that answer a database question make you earn it. There is a definition, then some history, then a paragraph about why the subject is important, and the sentence you came for arrives two screens down if it arrives at all. That ordering exists because it is easier to write, not because anybody reads that way.

So every page in this section opens with the answer and nothing else, in about sixty words, and only then explains what is behind it. Some of these have a short answer and a long one that disagree in an interesting way. Where a question really needs a query, a threshold or a procedure, the page says so and sends you to the guide that carries it rather than compressing it into something you would have to double-check anyway. Words with an exact meaning link to their definition, and where the answer differs by major version, to the page for that version.

Vacuum, bloat and wraparound

Connections and sessions

Locks and schema changes

Replication and slots

Write-ahead log

  • Why is pg_wal filling up?

    Because segments are being created faster than they are being released, and there are only four reasons a segment is not released: a replication slot still needs it, the archive command has not succeeded on it, a retention setting says to keep it, or checkpoints are not completing so nothing has become releasable yet.

  • Can I delete files from pg_wal?

    No. Every file in that directory is either required to bring the cluster back after a crash or about to be recycled by the server itself, and there is no way to tell those apart from names, sizes or timestamps.

  • How do I know if WAL archiving is working?

    Read the archiver statistics view. It carries the number of files archived, the name and time of the last success, and the matching pair for failures.

  • Why does Postgres write so much WAL?

    Because the log is not a record of your row changes.

  • Can I lose data with synchronous_commit off?

    Yes, and only in one way. A crash can lose transactions that were already reported to the client as committed, within a window the documentation bounds at three times the log writer's interval, which on the defaults is well under a second.

Plans and the planner

Indexes

Upgrades

Configuration

Monitoring

Put every Postgres you run on autopilot.

We onboard teams in small batches. Tell us about your fleet and we will reach out when a seat opens. One email, no drip campaign.