pgAdmin writes that file whenever a user successfully logs into a server with a 
new password for the first time, and opts to save it. If the user then edits 
the file in notepad (maybe to add new details for a server to use from psql), 
they'll run into problems.

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK:http://www.enterprisedb.com
The Enterprise PostgreSQL Company

> On 5 Sep 2014, at 20:32, Daniel Browning <d...@kavod.com> wrote:
> 
>> On Friday 05 September 2014 12:57:21 am Dave Page wrote:
>>> On Thu, Sep 4, 2014 at 11:23 PM, Daniel Browning <d...@kavod.com> wrote:
>>> Do you agree with modifying pgAdmin so that it stops converting the EOL
>>> characters in the pgpass.conf file from unix-style (\n) to Windows-style
>>> (\r\n)?
>>> 
>>> It works fine with unix-style line endings, and if the file is in that
>>> format already, I think it should leave well enough alone.
>>> 
>>> The reason the issue came up is that I would like to be able to use one
>>> pgpass file for both Windows applications (pgAdmin, psql under
>>> powershell, etc.) and cygwin applications (/usr/bin/psql). I created a
>>> symlink from the pgpass.conf file to .pgpass, and it works perfectly.
>>> Until, that is, I launch pgAdmin and it adds the Windows carriage
>>> returns. Then, cygwin's psql stops working; it seems to send the carriage
>>> return appended to the end of the password, resulting in incorrect
>>> password errors.
>> 
>> The primary reason that file (and others) are written with DOS line
>> endings is because the default editor on Windows (notepad) can't cope
>> with *nix style line ends.
> 
> I can understand that, but how would such a user have ever ended up with a 
> file that has unix line-endings anyway?
> 
> If they were creating it from scratch, it would have windows EOLs already. If 
> they copied the file from another windows developer, it would have them too. 
> The only case I can think of where this feature would be useful is in a 
> pretty 
> specific set of circumstances:
> 
> * A novice user copies a .pgpass file with *nix EOLs from a colleague
> * He knows to rename it to pgpass.conf and put it in AppData\Roaming\etc.
> * When he tries to open it in notepad, it's all wonky and he is confused.
> * He tries running PgAdmin anyway
> * PgAdmin fixed the file so it can be opened in notepad
> * The novice user is thankful for PgAdmin doing that
> 
> To me, that seems like a pretty rare circumstance -- and not really PgAdmin's 
> place to be doing that. Now if the user was actually *modifying* the 
> pgpass.conf in PgAdmin, I could see some reason behind converting to windows 
> EOLs; however, when the file is only being read and not written, it seems 
> like 
> converting EOLs is trying to be too helpful.
> 
>> This is obviously a PITA, as it requires
>> users to install a better editor (which is arguably a very good idea
>> anyway, but we don't want to force it on users who may just be setting
>> up an app on a machine for someone else for example).
> 
> Agreed. My inner pedant would like to point out that technically, they don't 
> have to install a better editor, they just need to open the file in Wordpad, 
> which is distributed with all versions of windows from at least Windows 95 
> through 8.1, and reads files with unix-style line endings. But for some 
> novice 
> users, opening a file in a non-default program is probably just as hard as 
> installing a new text editor, so your point remains.
> 
>>> I could also just not use cygwin, but as a long-term Linux user, I find
>>> that when I am forced to use Windows, as in this case, it is
>>> significantly easier for me to use cygwin than to learn all the
>>> Windows-equivalent commandline tools, which in many cases do not even
>>> exist.
>> 
>> Have you tried Msys? Not suggesting you should switch, but it would be
>> interesting to know how it behaves.
> 
> I haven't tried it. If I get a chance to, I'll report back.
> 
>>> What do you think?
>> 
>> At the moment I'm leaning towards leaving it as-is. I see your
>> problem, but you're the only person to report it in 12+ years that I
>> can remember. I suspect the notepad issue would inconvenience far more
>> users. I suppose we could make it a configurable option.
> 
> Personally, I'd be in favor of a configurable option and a dialog box that 
> says something like:
> 
> "Your pgpass.conf file was in unix format, so we converted it to Windows 
> format for you. If you would like to change this behavior, access the such-
> and-such option."
> --
> DB

Reply via email to