I just noticed that initdb -S ("Safely write all database files to diskand exit") does (only) the following in perform_fsync:
pre_sync_fname(pdir, true); walkdir(pg_data, pre_sync_fname);
fsync_fname(pdir, true); walkdir(pg_data, fsync_fname);
walkdir() reads the directory and calls itself recursively for S_ISDIRentries, or calls the function for S_ISREG entries… which means itdoesn't follow links.
Which means it doesn't fsync the contents of tablespaces.