Request for further clarification on synchronous_commit
От | PG Doc comments form |
---|---|
Тема | Request for further clarification on synchronous_commit |
Дата | |
Msg-id | 159741195522.14321.13812604195366728976@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: Request for further clarification on synchronous_commit
|
Список | pgsql-docs |
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/12/runtime-config-wal.html Description: Hello, First of all I would like to say that PostgreSQL has the best documentation I've ever seen. It is very clear and comprehensive. That's the main reason why I decided to add my little 2 cents and make it even better. I think that the distinction between first three values of synchronous_commit parameter is not clear enough (https://www.postgresql.org/docs/12/runtime-config-wal.html#RUNTIME-CONFIG-WAL-SETTINGS). " When set to on, commits will wait until replies from the current synchronous standby(s) indicate they have received the commit record of the transaction and flushed it to disk. This ensures the transaction will not be lost unless both the primary and all synchronous standbys suffer corruption of their database storage. When set to remote_apply, commits will wait until replies from the current synchronous standby(s) indicate they have received the commit record of the transaction and applied it, so that it has become visible to queries on the standby(s). When set to remote_write, commits will wait until replies from the current synchronous standby(s) indicate they have received the commit record of the transaction and written it out to their operating system. This setting is sufficient to ensure data preservation even if a standby instance of PostgreSQL were to crash, but not if the standby suffers an operating-system-level crash, since the data has not necessarily reached stable storage on the standby" The last sentence : "This setting is sufficient to ensure data preservation even if a standby instance..." seems to refer only to the remote_write option while in my option it should refer to both remote_write and remote_apply options, as the fsync is performed only when synchronous_commit is set to ON. In other words I think that the documentation should be more clear in terms of which option uses fsync. Best regards, Kasper Kondzielski
В списке pgsql-docs по дате отправления: