Normal Postgres WAL logs marked as as errors
koreus7
PROOP

a month ago

When I go to the Observability section in the dashboard the "Error logs" section has lines like:

>2026-04-23 15:58:15.044 UTC [30] LOG: checkpoint starting: time

>2026-04-23 16:01:29.314 UTC [30] LOG: checkpoint complete: wrote 1086 buffers (6.6%), wrote 2 SLRU buffers; 0 WAL file(s) added, 2 removed, 0 recycled; write=194.241 s, sync=0.005 s, total=194.271 s; sync files=116, longest=0.002 s, average=0.001 s; distance=36498 kB, estimate=81578 kB; lsn=2/D3DE6508, redo lsn=2/D1DD6C78

These are not errors so why are they showing up in the "Error logs" section?

Solved

2 Replies

Railway
BOT

a month ago

Our logging system automatically converts all output sent to stderr to level.error, and PostgreSQL sends all its log messages (including normal informational ones like checkpoint logs) to stderr by default. This is why those routine WAL checkpoint entries appear in the "Error logs" section. You can filter them out in the Log Explorer using a filter like -"checkpoint" or by using structured logging conventions where possible.


Status changed to Awaiting User Response Railway 29 days ago


Railway

Our logging system automatically converts all output sent to stderr to `level.error`, and PostgreSQL sends all its log messages (including normal informational ones like checkpoint logs) to stderr by default. This is why those routine WAL checkpoint entries appear in the "Error logs" section. You can filter them out in the Log Explorer using a filter like `-"checkpoint"` or by using [structured logging](https://docs.railway.com/observability/logs#structured-logs) conventions where possible.

koreus7
PROOP

a month ago

OK I don't think I can configure Postgres to emit structured logs. I will use the workaround for now.


Status changed to Awaiting Railway Response Railway 29 days ago


Status changed to Solved Railway 29 days ago


Welcome!

Sign in to your Railway account to join the conversation.

Loading...