pg_basebackup: errors on macOS on directories with ".DS_Store" files
Mark Guertin <markguertin@gmail.com>
From: Mark Guertin <markguertin@gmail.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2023-04-19T15:45:51Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Skip .DS_Store files in server side utils
- d3fdfdcd1c7f 13.15 landed
- c1fc502f595b 17.0 landed
- aeee173d2292 14.12 landed
- 76bb6dd2e56c 12.19 landed
- 29f00523808a 15.7 landed
- 103235888d9e 16.3 landed
pg_basebackup: error: backup failed: ERROR: invalid segment number 0 in file ".DS_Store"
This one is pretty self explanatory. When running pg_basebackup on macOS it should probably be ignoring any .DS_Store files found inside data directories instead of transferring/processing them.
Steps to reproduce:
- on a macOS based pg server open a directory containing pg data files and set any kind of view options or move an icon
- this can also happen with inheritance, so even if you do not directly set these kinds of options on data folders, for example if a parent folder has a view option set when a new folder is created it can inherit the same view options, or if spotlight search sets up some metadata this .DS_Store may also be created
My workaround was to manually delete all of the .DS_Store files that the OS created and then immediately run pb_basebackup using the following method:
find <dir> -iname .DS_Store -exec rm {} \;
Some background on .DS_Store files:
https://en.wikipedia.org/wiki/.DS_Store