BUG #16854: initdb fails on ReFS and FAT32 file systems

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: katsuaki(dot)fukushima(at)gmail(dot)com
Subject: BUG #16854: initdb fails on ReFS and FAT32 file systems
Date: 2021-02-05 04:55:39
Message-ID: 16854-905604506e23d5c0@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 16854
Logged by: Katsuaki Fukushima
Email address: katsuaki(dot)fukushima(at)gmail(dot)com
PostgreSQL version: 13.1
Operating system: Windows 10 Enterprise and Windows Server 2019
Description:

In Microsoft Windows, initdb fails for ReFS and FAT32 file systems.
PostgreSQL 12.x worked fine.
The WAL allocated in the temporary is renamed to the canonical name with the
durable_rename_excl function in src/backend/storage/file/fd.c.
This function hardlinks to the canonical name and unlinks the temporary.
Since ReFS does not support hard linking, the CreateHardLinkA function in
src/port/link.c will fail and the OS will return error code 50.
I replaced CreateHardLinka(dst, src, NULL) with MoveFileA(src, dst), and it
works for now.
I haven't investigated the effect on others.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Etsuro Fujita 2021-02-05 06:38:55 Re: BUG #16807: Assert failed in postgres_fdw/estimate_path_cost_size with an empty foreign table
Previous Message Tom Lane 2021-02-05 04:02:45 Re: Postgress 13.x: wrong result for delete with subquery