The tradeoff to ignore errors and not fsync every log absolutely makes sense to me. It's just something it would be beneficial for users to be aware of. Particularly those concerned with auditing.
The main question is where to put such info. The config settings section seems like an odd place to find that.
David J.
From looking through the docs I think that adding to the note under the log_statement is an appropriate place.
It already calls out other statement logging details like the fact that statements are only logged after basic validation and that statements can contain sensitive information.
I think adding a statement much like the MySQL wording is correct ( "Statement logging occurs on a best-effort basis, with no guarantee of consistency." is descriptive without getting into unnecessary details for the user about fsync, transactions and error handling. That could separately be discussed in the code comments for developers.
I think the best-effort wording is justified and it probably is for most DB engines. Error logging is not transactional, it's not part of the WAL. Even though statement logging happens before the tx is executed it isn't fsynced for each statement and write errors don't prevent transactions from being processed.