Le 9/06/2017 à 16:07, Bruce Momjian a écrit :
I was told junction points on Windows were hard links and no one has
ever complained about not being able to remove them.

Sorry, I think my explanation was not very clear.
You can remove the link, but the point is to remove the target (i.e. the old-data-dir). You can do this with a hard link (there still exists a hardlink pointing to the inode so it remains), but with a soft link you end up with a link to nothing. Deleting a junction target in Windows will work, but you'll have an error trying to access the junction directory (directory not found).

See this page for more details :
http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/

Under "Hard Link (Linking for individual files)" :
"If the target is deleted, its content is still available through the hard link"

Junction Point (Directory Hard Link):
"If the target is moved, renamed or deleted, the Junction Point still exists, but points to a non-existing directory"

BUT, when I try to "pg_upgrade --link --check" with old-data-dir and new-data-dir on different volumes, I get an error saying that both directories must be on the same volume if --link is used. So maybe pg_upgrade uses hard-links (i.e. to files), and only the documentation is wrong by calling them junctions (i.e. soft links to files) ?

Regards
--
Arnaud


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to