Re: pgsql: Remove the restriction that the relmap must be 512 bytes.

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: pgsql: Remove the restriction that the relmap must be 512 bytes.
Дата
Msg-id 20220727171939.6ixixqcjt5riil2o@alvherre.pgsql
обсуждение исходный текст
Ответы Re: pgsql: Remove the restriction that the relmap must be 512 bytes.  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On 2022-Jul-26, Robert Haas wrote:

> 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.

Another thing that seems to have happened here is that catversion ought
to have been touched and wasn't.  Trying to start a cluster that was
initdb'd with the previous code enters an infinite loop that dies each
time with

2022-07-27 19:17:27.589 CEST [2516547] LOG:  database system is ready to accept connections
2022-07-27 19:17:27.589 CEST [2516730] FATAL:  could not read file "global/pg_filenode.map": read 512 of 524
2022-07-27 19:17:27.589 CEST [2516731] FATAL:  could not read file "global/pg_filenode.map": read 512 of 524
2022-07-27 19:17:27.589 CEST [2516547] LOG:  autovacuum launcher process (PID 2516730) exited with exit code 1
2022-07-27 19:17:27.589 CEST [2516547] LOG:  terminating any other active server processes

Perhaps we should still do a catversion bump now, since one hasn't
happened since the commit.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"El número de instalaciones de UNIX se ha elevado a 10,
y se espera que este número aumente" (UPM, 1972)



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Reducing planning time on tables with many indexes
Следующее
От: Robert Haas
Дата:
Сообщение: Re: pgsql: Remove the restriction that the relmap must be 512 bytes.