1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Remove the restriction that the relmap must be 512 bytes.

Instead of relying on the ability to atomically overwrite the
entire relmap file in one shot, write a new one and durably
rename it into place. Removing the struct padding and the
calculation showing why the map is exactly 512 bytes, and change
the maximum number of entries to a nearby round number.

Patch by me, reviewed by Andres Freund and Dilip Kumar.

Discussion: http://postgr.es/m/CA+TgmoZq5%3DLWDK7kHaUbmWXxcaTuw_QwafgG9dr-BaPym_U8WQ%40mail.gmail.com
Discussion: http://postgr.es/m/CAFiTN-ttOXLX75k_WzRo9ar=VvxFhrHi+rJxns997F+yvkm==A@mail.gmail.com
This commit is contained in:
Robert Haas
2022-07-26 14:56:25 -04:00
parent e530be2c5c
commit d8cd0c6c95
4 changed files with 58 additions and 46 deletions

View File

@ -1409,8 +1409,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry>Waiting for a read of the relation map file.</entry>
</row>
<row>
<entry><literal>RelationMapSync</literal></entry>
<entry>Waiting for the relation map file to reach durable storage.</entry>
<entry><literal>RelationMapReplace</literal></entry>
<entry>Waiting for durable replacement of a relation map file.</entry>
</row>
<row>
<entry><literal>RelationMapWrite</literal></entry>