Since an optional second argument wait_for_archive of pg_stop_backup has been introduced in PostgreSQL 10 we can choose whether wait for archiving. But my colleagues found that we can do pg_stop_backup with wait_for_archive = true on the standby server but it actually doesn't wait for WAL archiving. Because this behavior is not documented and we cannot find out it without reading source code it will confuse the user.
I think we can raise an error when pg_stop_backup with wait_for_archive = true is executed on the standby. Attached patch change it so that.
Wouldn't it be better to make it *work*? If you have archive_mode=always, it makes sense to want to wait on the standby as well, does it not?