Re: Session WAL activity
| От | Konstantin Knizhnik |
|---|---|
| Тема | Re: Session WAL activity |
| Дата | |
| Msg-id | 3c569427-e9ad-6b63-d5df-d625a71fc8a1@postgrespro.ru обсуждение |
| Ответ на | Re: Session WAL activity (Kyotaro Horiguchi <horikyota.ntt@gmail.com>) |
| Список | pgsql-hackers |
On 11.12.2019 7:26, Kyotaro Horiguchi wrote: > > Still I'm not sure non-atomic write is acceptable, but I agree on the > necessity of updating it during a transaction. Couldn't we update > shared stats every n bytes (XLOG_BLCKSZ or such) or every command end? > > I think we should refrain from inserting an instruction within the > WALInsertLock section, but I'm not sure which is better between "var > += var" within the section and "if (inserted) var += var;" outside. If > we can ignore the possitbility of the case where xlogswitch is > omitted, the "if (inserted)" is not needed. I think that 32-bit Postgres installations are really exotic, but I agree that showing incorrect result (even with very small probability) is not acceptable behavior in this case. I attached new versoin of the patch with use pg_atomic_write_u64 for updating walWritten field. As far as at 64-bit systems, pg_atomic_write_u64and pg_atomic_read_u64 are translated to ordinary memory access, them should not have some negative impact on performance. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: