aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorDaniel Gustafsson <dgustafsson@postgresql.org>2024-02-13 13:47:12 +0100
committerDaniel Gustafsson <dgustafsson@postgresql.org>2024-02-13 13:47:12 +0100
commit103235888d9e74755ec4c7a72d640d4c7fabc596 (patch)
tree6ece3b4988e3254aa07996f2821dbd2c1cb11128 /src/backend
parent0460e4ecc0fa532468331a4b71ad0fbe8ff1a416 (diff)
downloadpostgresql-103235888d9e74755ec4c7a72d640d4c7fabc596.tar.gz
postgresql-103235888d9e74755ec4c7a72d640d4c7fabc596.zip
Skip .DS_Store files in server side utils
The macOS Finder application creates .DS_Store files in directories when opened, which creates problems for serverside utilities which expect all files to be PostgreSQL specific files. Skip these files when encountered in pg_checksums, pg_rewind and pg_basebackup. This was extracted from a larger patchset for skipping hidden files and system files, where the concencus was to just skip these. Since this is equally likely to happen in every version, backpatch to all supported versions. Reported-by: Mark Guertin <markguertin@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Tobias Bussmann <t.bussmann@gmx.net> Discussion: https://postgr.es/m/E258CE50-AB0E-455D-8AAD-BB4FE8F882FB@gmail.com Backpatch-through: v12
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/backup/basebackup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/backup/basebackup.c b/src/backend/backup/basebackup.c
index 45be21131c5..52f0cd3be19 100644
--- a/src/backend/backup/basebackup.c
+++ b/src/backend/backup/basebackup.c
@@ -1202,6 +1202,10 @@ sendDir(bbsink *sink, const char *path, int basepathlen, bool sizeonly,
strlen(PG_TEMP_FILE_PREFIX)) == 0)
continue;
+ /* Skip macOS system files */
+ if (strcmp(de->d_name, ".DS_Store") == 0)
+ continue;
+
/*
* Check if the postmaster has signaled us to exit, and abort with an
* error in that case. The error handler further up will call