Issue
sql_error_code = 00000 LOG: checkpoint starting: time
, and similar log lines are appearing in the logs for production-tier Heroku Postgres databases.
[121-1] sql_error_code = 00000 LOG: checkpoint starting: time
[122-1] sql_error_code = 00000 LOG: checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 1 recycled; write=0.001 s, sync=0.000 s, total=0.006 s; sync files=0, longest=0.000 s, average=0.000 s; distance=16384 kB, estimate=31129 kB
[299-1] sql_error_code = 00000 LOG: checkpoint starting: force wait
...
[300-1] sql_error_code = 00000 LOG: checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 1 recycled; write=0.001 s, sync=0.000 s, total=0.007 s; sync files=0, longest=0.000 s, average=0.000 s; distance=16383 kB, estimate=31129 kB
or, similarly:
[1111-1] sql_error_code = 00000 LOG: restartpoint starting: time
[1112-1] sql_error_code = 00000 LOG: restartpoint complete: wrote 14 buffers (0.0%); 0 WAL file(s) added, 1 removed, 2 recycled; write=1.406 s, sync=0.003 s, total=1.425 s; sync files=13, longest=0.002 s, average=0.001 s; distance=16384 kB, estimate=87531 kB
[1113-1] sql_error_code = 00000 LOG: recovery restart point at C1/3B000070
[1113-2] sql_error_code = 00000 DETAIL: Last completed transaction was at log time 2021-03-30 ...
Resolution
These log lines don't indicate any errors, and they are expected as part of they way Heroku Postgres runs.
The sql_error_code = 00000 LOG
part of the log line translates to "successful completion" in PostgreSQL. See: Why am I getting "sql_error_code = 00000" in my PostgreSQL logs? Is this an error from my queries?.
The checkpoint logs are part of the automatic WAL (Write-Ahead Logging) archiving activity that allows us to protect your database from catastrophic failures and is used in continuous protection and other Heroku Postgres features like database forks and followers.