Am Montag, 10. Dezember 2007 schrieb Tom Lane: > "Joshua D. Drake" <[EMAIL PROTECTED]> writes: > > As I recall there was a bug under very specific circumstances that a > > password prompt would not appear. Thus we added the option for -W. > > I don't see any evidence for that theory in the CVS logs .. > Peter seems to have invented -W out of whole cloth.
Way back when, there was no way to set the user name on the psql command line. The only way was to use the option -u and type it in. (Well, you could set PGUSER, but that's obviously not quite fun.) But -u also forced a password prompt, even if you didn't need a password. So the functionality of the -u option was split into the -U and -W options. The only difference is that -U does not prompt, but I don't think anyone wants to argue that prompting is better than what -U does. Note that we don't have a way to prompt for host name, database name, etc., and shell scripting this functionality is trivial. Way back when, psql moreover did not have the capability to automatically recognize when a password would be required. That is, if you did not specify one, authentication would simply fail and psql would abort. If you were aware that a password would be required, then the only ways to supply it would be to set PGPASSWORD (which is obviously not quite fun) or use the -u option, which would also prompt you for a user name, even if you did not want to specify one. So the functionality of the -u option was split into the -U and -W options. -W does exactly half of what -u used to do. The functionality to automatically recognize when a password would be required and prompt was added later (or perhaps around the same time) but it was considered a hack (it was a string comparison of the error message). It has obviously worked out quite well anyway. I believe the documentation of the -W option has for its entire lifetime said that it "should" normally not be necessary. So as far as I can tell, the available options -U and -W serve all the existing use cases. I would have no issue with getting rid of the -W option if someone wants to take responsibility for ensuring that it will really never be necessary. I see no technical or usability merit in reviving the -u option. I hope the above explanations have shed some light on that. -- Peter Eisentraut http://developer.postgresql.org/~petere/ ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match